時間: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。