时间:2017-05-22 来源:互联网 浏览量:
几周前的一个饭局里,一位朋友神神叨叨告诉我,今年微软的Build大会上,新任的Data Group的副总裁,就是下面这位老兄,顶不住上面要出业绩和竞争对手的新产品,要放个大炮仗。而且这个炮仗比较无耻,会让我出离愤怒。
然后这个大炮仗就爆了,宇宙数据库Cosmos DB在Build大会上横空出世。
这个宇宙数据库的确让我出离愤怒了。
1、Build是微软为开发者召开的年度大会。历届大会均在旧金山,今年第一次搬回西雅图。作为我第一任东家,我一直非常感激。然而这次的事情有点过于无耻。不由得我不骂一次国骂TMD。
事情的主角,从Data Group的新副总裁,印度人Joseph Sirosh说起。我们换张靓一点的照片。
Data Group掌管了微软所有数据相关的业务,比如耳熟能详的SQLServer,HDInsight,Cosmos等,高层大面积被印度人占据。Joseph Sirosh,是个牛逼的职业副总裁,从亚马逊跳槽微软前就是副总,这之前还是副总。2013年由亚马逊跳微软,掌管新部门Azure Machine Learning。2015年下半年踢走了Data Group前任老印副总裁,兼并了Data Group。
然而Joseph上任以后和前任一样无所作为。又赶上流年不利,竞争对手Google放出了Spanner的大杀器,亚马逊也扔了一个大炮仗:Redshift Spectrum。步履维艰的他,需要手下也出个大杀器。无敌宇宙数据库就这样无耻而新鲜的出炉了。
2、宇宙数据库CosmosDB刚出来的后我就接到了好几轮电话,很多微信消息,问的问题都是同一个,这个CosmosDB是不是就是我曾经在的组做的支撑了微软内部所有大数据分析的平台Cosmos。结果当然不是,这是个西贝货。
但是为什Joseph偏要选这个耳熟能详的名字来为DocumentDB这个Mongo的竞争者的下一代命名。恐怕很大程度上是打着李鬼冒充李逵的心思。很不幸这个无耻的决定的目的至少是部分达到了。问我这个李鬼是不是真李逵的人源源不绝。
本着不冤枉好人的态度,我认真研读了CosmosDB的宣传资料。这不读还好,越读越想骂人。宣传资料写的似是而非的告诉大家这个宇宙数据库被用在了微软内部很重要的业务上。然而一个2015年才当做MongoDB替代物发布的东西,内部怎么可能有谁敢真的绑上去。我知道的确有team不小心用了DocumentDB,也就是这个CosmosDB前身的,当我面骂娘呢。DocumentDB就是一个吹得比做得好的烂东西,谁用谁被糟蹋。改名叫宇宙数据库,难道就能立刻宇宙无敌?
但是就是这种似是而非的宣传很起作用。在宣传文章里留言的老外们,就有人说这个东西他知道,Bing已经用了很多年。这种刻意用相似名字混淆是非的,如此无耻之极,我是第一次见到。
3、技术上来讲CosmosDB不像是一个完整的产品,更像是底层若干个产品被强制粘在了一起。根据微软自己的demo,每次创建一个实例的时候,必须选定数据模型和支持的API,一旦选定之后后续无法更改。系统也不支持多API访问。
从就一个码农的角度讲,这种情况只有一种可能,系统从底层到上层对不同的API和数据模型都是分开处理的。否则断然无法出现这种访问同一个系统,居然不能够支持多套API的访问混合编程的? 所以目前这所谓的无敌宇宙数据库充其量是几个数据库实现强制拼凑起来的一个产品。敢叫宇宙数据库,也是真是人有多大胆,地有多大产。我想这老印早50年来中国,一定混的风生水起。
4、为了彰显宇宙数据库的牛逼微软不遗余力的请来了图灵机获得者Lamport,那个发明了逻辑时钟和Paxos的大牛。
这个大牛也是命运多舛。拿图灵奖之前在微软连Distinguished Engineer都不是。2014年突然拿了图灵奖,之后突击升级成tech fellow。也因为这个拿奖,使得2014年下半年沈向阳接管微软研究院以后决定杀鸡给猴看关闭微软硅谷研究院的举动里,他作为个例没被开。坊间传闻倘若他的图灵奖来晚点,可能沈大大的屠刀就砍向他了。从这里看,微软研究院不但有眼无珠,而且也很势利眼。
大牛出来接受了采访,主要是告诉大家,宇宙数据库除了常用的strong consistency和eventual consistency两种一致性模型以外额外增加了三种。而且根据微软调查,这三种才是更好用的。虽然我对图灵奖获得者很尊敬,但是我这次不得不说实践是检验真理的唯一标准。那些一致性模型,要真那么牛逼,你当亚马逊是傻子,DynamoDB不早做了。
5、傻子横行的世界总不缺聪明人的。在微软极力宣传这个宇宙数据库的时候,也有人提出了质疑,比如下面这位。
文章描述了那位在keynote上做演示的架构师Rimma Nehme,私底下接受这位记者采访的情况。美女架构师非常牛气的说开发人员开发任何新的基于Azure的应用程序都应该用宇宙数据库。作者上来就说这个说法很bold啊。
这话都敢说出口,看来这数据库不成为宇宙数据库都说不过去啊。人有多大胆地有多大产。问题是,取个牛逼的名字系统就可以牛逼的话,那这世界上的事情就太简单了。我不得不说几年不见Rimma越发的牛逼起来。
6、很不凑巧Rimma我认识。此人和我差不多时候毕业,又做同一个领域,曾经开会常见,但从未觉得如此牛逼。早年我进Cosmos的时候,对方进了威斯康辛的微软给David Dewitt开的实验室。曾经很长一段时间是跟着Dewitt做PDW和Polybase。前者是个牛逼的软硬件结合的数据仓库系统。后者则在上面增加了对Hadoop文件的支持,可以让PDW把Hadoop文件当做一个外部表来使用。
Rimma的工作很长时间里就是做query optimization。做得东西中规中矩。Tableau10.0的时候做Data Federation读过Polybase的论文,用过里面的一些理念。然而实践下来效果并不好。具体细节和本文无关就不展开了。
Rimma职业生涯在2014年开始不寻常起来。2014到2016年的时候读了个MBA,接着伴随老印接管Data Group,成了老印的Techincal Advisor。又在今年2月去了宇宙数据库组做构架师,并最终在5月份在Build大会上台表演。
数据库这一行复杂,任何一块都需要很多时间积累。我工作那么多年,也只能说对编程语言数据模型和优化器有点心得,其他的只能是小白一个。一个常年做数据仓库优化的人,一瞬间成为非关系数据库的大牛,并且豪言壮语的说以后基于Azure开发的应用程序都应该用宇宙数据库。我只能说不是她太牛逼就是我太傻逼。
说白了,如果名字取得好,产品就能上天的话,这世界就太容易 。故意混淆是非的取名CosmosDB,不得不说老印不但无耻而且敢吹。但我不看好后续的产品结果。
Joseph说,我下任后,哪管他洪水滔天。Joseph干得漂亮。Rimma V5,微软V5。