標籤:

大數據那些事(30):Presto之坑和蘿蔔傻子和騙子的故事

我的文章主要在我的微信公眾號:feiitworld

這邊更新的不夠勤快。

在interactive的旗幟下的不僅僅有Google的Dremel或者是打著Dremel的開源項目的Drill,以及曾經打著Dremel的開源項目現在說自己是MPP的沒有畢業的Impala。2013年初的時候,Facebook放了一炮,開源了一個叫做Presto的東西,號稱是內部的開源的interactive query。

我必須說Presto我只是玩過,和Drill的使用經驗差不多。有關這個東西的體系架構有很多東西分析了,基本上是一個分散式內存計算引擎,主要支持的是hash的實現。我就不展開說了。只是其中有一點還是值得提一提的,BlinkDB的作者之一曾經被他們做過諮詢。所以Presto實現了一些approximate query processing的東西,包括用那個hyperloglog求count distinct的演算法。我其實不知道他們是不是用了同一個sample,如果是的話,那麼只能說上帝保佑了。

Presto的來源有個八卦,大致上是Facebook的人覺得HIVE太慢於是讓HIVE團隊開發一個更快的。HIVE團隊在猶豫是在HIVE上繼續開發還是搞個新的。做出來的決定是讓5個人繼續開發HIVE,讓一個人去做新的。結果這一個人的手腳比五個人更快,做出來Presto。所以有的時候人多也未必力量大啊。於是Presto就取代了在開發中的interactive HIVE上線了。再後來Facebook老的HIVE團隊,創業的去創業,去startup的去startup,也就散了。

Presto在業界的名聲有段時間非常的不好。典型的Facebook開源項目,管殺不管埋。所以有人經常抱怨你們開源了怎麼不好好維護呢?Facebook干這類事情不是第一次了,這之前有Cassandra。後來被開源社區接管了Cassandra過的不錯。

我們都知道一個蘿蔔一個坑的概念。Cloudera就老老實實的捧自己的Impala,Hortonworks跳進HIVE的坑和Cloudera PK,至於其他的很多公司要麼去做Drill了要麼有Dremel要麼有傳統資料庫改吧改吧出來的產品。Presto這個東西一直就這樣不死不活的,然後Teradata某天突然就宣布說,我們跳這個坑了。

Teradata這個公司,有點像娛樂圈的著名某滿人,祖上是葉赫那拉氏,顯貴過。每次出席各種會議,Teradata做演講都會展示當年全球第一個1TB的大規模數據處理系統,裝了整整一輛18輪的大車的照片。只不過今不如昔,如今的Teradata也不敢改個名字叫Petadata了。

很不幸的是我對Teradata這個公司的感官大致等同於傻子了。到我公司裡面來面試的,無論是前公司還是現公司,但凡我面過Teradata的人,不管是哪國人,簡歷都很牛。但是面試的時候都是一塌糊塗。那種號稱做database10多年的,感覺是做了假database去了。

在大數據的浪潮到來的時候Teradata也很努力。因為大家都知道這是革命啊。尤其是革它家的命。這不,eBay作為忠實的客戶都挪去Hadoop了,Walmart也挪去Hadoop了。它們趕潮流的做法就是買買買。大概在2008年到201X年期間有家著名的騙子startup叫做Aster Data。這個公司之所以著名是因為他們的創始人經常看Sigmod VLDB的論文,然後打電話給那些發表了論文的學生,說有沒有興趣來我們公司Intern或者full time啊?學生們通常都扮演傻子的角色,比如我,就欣然的接受邀請了。然後,就安排電面唄。電面當然不是刷題,而是讓你解釋你的論文里做了什麼啊。那些和MapReduce啊之類相關的論文的作者很多都被這騙子打過電話。我學校實驗室上下幾屆做資料庫的每個人都接到了電面,最後當然,聊完明白論文幹嘛以後,也就沒有下文了。因為這個事情做多了,database的學生圈子其實不大,後來大家就知道這是騙子公司了。很有意思的是,Teradata最開始買的是這家騙子公司。Teradata買完這個的同時,又去買了當時Daniel Abadi快糙猛搞出來的HadoopDB成立的公司。如此這般的大張旗鼓的買了又買。最後也沒見到Teradata有什麼長進。傻子總是會買騙子的東西的。

再後來,等Teradata左顧右盼之後決定跳Presto的坑,然後開始猛開發Presto的時候,我就心裡多少有點慌。畢竟傻子作為蘿蔔高調的出來跳一個大家都不怎麼跳的坑,其實真不知道最後能出一個什麼樣的活寶產品。我沒用過,所以大家就當我在胡說八道就好。在彎曲,著名的databasse startup比如說snowflake,去的人主要是Oracle的。華為在彎曲找來做database的人主要是Teradata和IBM。IBM的人雖然年紀大一點,但是其實挺牛,包括幾個著名的fellow,值得尊敬。至於Teradata的人,我也不知道應該怎麼判斷了。難不成牛人都給華為挖走了,所以來西雅圖面試的各個都挺傻的。大家且招且珍惜吧。

國內Presto最忠實的用戶可能是美團了。我在海外待久了,對國內的情況並不太熟悉,所以也不知道美團用得怎麼樣。如果你要問我是不是推薦Presto,那麼我想依照我大數據的分析,做這個產品的親爹沒好好維護,乾爹又比較傻,我想,還是小心一點吧。我上次聽說AWS有個組想跳這個坑,如果已經跳了,只能也一同說一句上帝保佑了。

推薦閱讀:

Azkaban二次開發3-Hadoop任務提交方式改造
SparkSQL中的Sort實現(二)
5分鐘 Hadoop Shuffle 優化
嫌棄Hadoop?可能是你的打開方式有問題
大數據那些事(8):HIVE之初期起

TAG:Hadoop |