坊間流傳著,一個民企用自研產品成功替換掉宇宙行使用多年的美帝版數據倉庫的故事。
按說,這算是個標誌性事件。可是感覺這品宣工作還沒怎麼開始,就引來了朋友圈的一聲驚雷。該民企因戰略轉型,關停相關產品線,不再提供私有化支持。
我猜各位已經知道故事的主角是誰了,就是當下科技界最大的IP,某為。
這廂你愛存不存,那廂你愛用不用!
郎騎竹馬來,繞床弄青梅
不過,今天我想分享的不是某為高大上的GuassDB,而是另一款同樣基於開源PostgreSQL的大數據平臺,Greenplum。
據說,這個名字是一個小女孩無意間給起的。起初,幾個創始人為給公司起名字有些犯難,就去問朋友的女兒,小女孩說「Apple」。但大人們告訴她,這個名字已經被別人佔用了,需要換一個,她就又隨口說了「Greenplum」。結果,Greenplum的名字就這樣誕生了。
說起Greenplum,不由得想起多年前的一段經歷,也算是我的一個「小幸運」。
那是2011年,我們相識於杭州……
上帝打開了一扇幸運之窗
當時,我主要負責公司IBM小型機、存儲和資料庫的系統運維。因為一次系統事故,部門對工作進行了調整,我被安排接手X86伺服器的運維。
一股腦兒把700多臺X86伺服器分派給我。所幸,公司正處於由小變大的過程中,對運維有一定的容忍度,從而給了我一定的成長空間。
事情要從兩個方面看,工作有壓力,自然也有回報。現在回看,那次工作變化,是我職業生涯中一次重要的轉折。
套用曾鳴教授的理論,一個幸運的點,從一個日漸式微的經濟體,轉型到一個冉冉升起的新興經濟體。
眾裡尋她千百度
那時的X86,有兩個技術方向,一個是基於伺服器虛擬化的一虛多,另一個則是基於集群技術MPP的多合一。
在IOE還算主流的年代,我們的數據倉庫就是基於DB2的傳統小型機+存儲模式,隨著業務數據的不斷增長,計算和查詢效率面臨挑戰,時常因為夜間的一個小問題,導致第二天的業績查詢延遲。作為運維人員,總是被投訴。
於是,在傳統硬體升級方案之外,尋找潛在的技術替代方案也成了工作中一項隱性任務。
一次偶然的機會,了解到Greenplum。一個控制節點有主備高可用,數據節點提供鏡像保護,還支持性能線形擴展的大數據平臺,一切都是那麼美好!
第一次「親密」接觸
後來,通過代理渠道了解到當時支付寶正在使用Greenplum,於是申請去杭州出差調研。
當時對方接待我們是蔣傑博士,他算是我認識的人裡面的大咖,他給我們詳細介紹了支付寶的一些數據應用情況。可惜我跟他水平相差太多,對於分享的很多乾貨,尤其在數據治理上,理解有限。
在隨後的環境演示中,能夠真切看到Greenplum在海量數據規模下的查詢效果,性能表現優異。當時支付寶的數據量已經是PB級,比我們多出不止一個數量級,從技術發展趨勢和產品適用度上,Greenplum都是個非常不錯的選擇。
早期的MPP和競品
說了半天,Greenplum和MPP,到底是什麼?
MPP(Massively Parallel Processing),大規模並行處理的簡稱。Greenplum就是一款基於PostgreSQL資料庫,MPP無共享架構,新型的企業級數據倉庫(EDW)和商業智能(BI)的開源大數據平臺。
同期,Oracle公司也創新的推出了自己的Exadata一體機。雖然架構上與MPP不一樣,但因為O記龐大的客戶群,一體機一經發布,立刻引得行業用戶的關注。別看伺服器數量不多,但加上一些黑科技,同樣使得數據交易和查詢分析的性能大幅度提升。
除此之外,還有文章開頭提到的老牌數據倉庫產品Teredata,以及IBM Netezza,都是當時大數據初期的玩家。
理想很豐滿,現實很骨感
從杭州返京後,我們內部也針對Grennplum的新技術落地進行了研討。公司對於新技術還是持擁抱態度的,隨後我們進行了相應的POC測試。
關於引入Greenplum,我跟當時負責數據倉庫的經理溝通過,但的確存在很多困難。比如:底層數據平臺的遷移,涉及太多的業務和流程;需要ETL和ELT的模式轉換,才能充分利用資料庫並行技術。
歸根結底,這種底層數據平臺的重構方案相對於直接硬體升級來說,項目隱性成本高,周期也長,還有一點,就是所謂的性能瓶頸,並不是真的痛點。
後面又趕上我們數據中心遷移,於是乎,變成了在DB2上一條路走到黑。雖然後來也幹掉了IBM小型機,置換了快閃記憶體,改造了DB2 DPF,但是被詬病的聲音卻從未停止。
花開兩朵,各表一枝
我們再回過頭去看此時的支付寶。
轉過年,蔣博士來北京出差,我們又見了一面,他跟我分享了一些他們的最新動態,正在推動Hadoop大數據平臺上線。
這就是網際網路,演進的速度非常快,對於新技術的跟蹤和研究都比較到位,這一切都源於業務增長對數據迫切需求,遠遠超越了傳統行業的理解。
那時,剛有大數據的概念,但我的理解很膚淺,就是單純數據量大,規模達到PB級。其實即使是多年之後的今天,我們的核心數據依舊離這個量級有很大的差距。
所以,那個時候,即使知道支付寶在部署Hadoop,也只能望洋興嘆。
原來我們曾經靠得那麼近
對於GreenPlum,從創新的角度看,曾努力擁抱過,但不是所有的付出都一定會有結果。雖然最終沒有實際的項目落地,但這次邂逅,也是一次非常好的拓展視野的機會。
《論語·為政》,子曰「溫故而知新,可以為師矣」。借著寫文章,既是復盤,也是學習。
發現GreenPlum在V6版本做了不少更新迭代,增加了對Kafka、R語言和多態存儲的支持,另外一點我覺比較重要的是,結合MADlib算法庫,將機器學習內嵌到資料庫中,讓Greenplum變成機器學習的平臺。
總之,一個產品要想茁壯成長,除了自身有價值,既要適應時代,還要融合生態。
從當下的現狀分析,我覺得Greenplum依然是我們未來的一個不錯的選擇。從另一個角度看,這也是一個IBM DB2興衰的故事,我想,未來終歸會有後浪襲來!
六一剛過,依舊希望我們都能心懷美好,永葆童心!