01
“我們還是復原到Oracle吧。”馬來西亞最大電商公司之一PrestoMall的資料工程師敲下這句話後,阿裡雲架構師鄭旦和在吉隆坡、北京、杭州三地的同僚們,面臨着3個月工作一夜歸零的險境。
2019年12月6日的淩晨4點,本該在0點啟動的資料庫遷移行動,推遲了4個小時。他們要将公司成立5年來的所有線上交易、線下分析報表資料從Oracle資料庫切換到阿裡雲的雲原生資料庫PolarDB上。資料總量超過5T,類似5年時間不間斷,每秒300多筆記錄,所累積的資料量。
三個月前,PrestoMall分布在印度、南韓、大馬的研發團隊,以及唯一一位資料庫工程師,都覺得這個想法太瘋狂了。5T資料的遷移絕不是小事,更何況資料庫涉及所有線上核心業務,而任何的資料差錯,都會帶來業務問題。而且他們新選的資料庫供應商來自阿裡巴巴,後者旗下的Lazada 可是他們的競争對手。
但PrestoMall還是做出了決定——上雲!
PrestoMall網站
之前PrestoMall使用的32核Oracle資料庫,屢屢遇到問題,高峰時間段線上交易的瞬間激增、大量資料的持續存儲,讓業務随時處于崩潰的邊緣。2019年12月,PrestoMall的Oracle許可證将到期,是否繼續沿用的問題,提前被提上議程。
如果切換上雲成功,PrestoMall預期可以節省90%的資料庫費用,相關的IT成本也有望下降40%。是以,在9月初,公司開始與東南亞市場上的資料庫供應商接觸。
權威機構Gartner報告顯示,微軟Azure、亞馬遜AWS、阿裡雲Alibaba Cloud是雲資料庫份額前三廠商,因為都是A開頭,簡稱3A。作為亞洲增速最快的經濟體之一,東南亞市場是必争之地。
從當地工程師的認知上講,微軟Azure總體品牌認知度最高,本身有SQLServer的長期積澱,亞馬遜AWS的Aurora是最早商用的雲資料庫,具有性能上的口碑,并且也脫胎于電商業務。
無論找誰,用雲資料庫替代Oracle等傳統資料庫都是勢在必行。
阿裡巴巴集團副總裁、達摩院資料庫首席科學家李飛飛是攻下市場的關鍵角色。
李飛飛曾經是猶他大學終身教授、ACM傑出科學家,在資料庫領域擁有非常大的影響力,2018年李飛飛加入阿裡巴巴,現任阿裡雲資料庫負責人,花名:飛刀。
阿裡巴巴集團副總裁、達摩院資料庫首席科學家李飛飛
“今年要幫助1000家企業去O,10000套傳統資料倉庫上雲。”李飛飛在2020年6月9日對外公布了一組數字。這個目标不是單方面的商業計劃,而是基于客戶表達的強烈需求。李飛飛這一發言具有全球名額性意義。
“他的英語交流出色,在資料庫領域又有科學家和大公司團隊負責人雙重身份,客戶很容易認可。”架構師西壁說,李飛飛花了大量時間,幫助東南亞銷售團隊與客戶接觸。
阿裡巴巴資料庫團隊很少坐下來向客戶做長篇演說推廣。西壁認為他們的競争優勢在于:“第一是場景,PolarDB已經支援雙11多年,秒殺、直播等場景也都是客戶感興趣的;第二是直接讓客戶到自己系統中試用,接受檢驗。”
根據PrestoMall的需求,9月末,阿裡和其他廠商一起送出了“去O”的遷移方案以及相容性評測報告。然而,評測結果是PolarDB産品由于采用分布式架構,當時版本對Oracle資料相容性相對低,以及價格還更高。
堅持采用分布式架構,而不是隻照顧相容性,是李飛飛加入資料庫團隊後,與各個骨幹達成的共識。因為這種架構能支援不同類型的資料庫,共同高效調用資源。當時,團隊剛剛快速從過去相容MySQL的PolarDB資料庫産品中,抽出了一款針對Oracle客戶快速切換的産品PolarDB-O。
當時,PolarDB-O尚在公測期,李飛飛竟然就要面向國際客戶服務。鄭旦在阿裡巴巴有7年資料庫架構師經驗,完成了多個事業部的“去O”;這個目标仍然讓她感到“太快了”——“當時,團隊剛剛改變建制,我突然就被拉到一個群,說你去負責這個馬來西亞客戶。”
東南亞項目容易“費力不讨好”。語言、程式設計習慣、3A的瘋狂競争、遠端成本……各種因素随時都可能讓項目夭折。
為了最終遷移順利,鄭旦團隊和多個研發小組,甚至要計劃在上海完全模拟了一套複刻客戶同體量的資料,模拟從Oracle遷移的每一個細微環節。
但由于評測報告并不占優,接下來的工作隻能提速。資料庫相關團隊整個國慶加班疊代,并派出多名成員前往馬來西亞。阿裡雲智能總裁行癫曾經對内多次談到,核心技術大件放到國際上競争,絕不能隻靠“價格低”、“阿裡出品”來吸引客戶。
經過現場對未來場景的幾輪商談,阿裡豐富的電商實踐檢驗,最終更有說服力。但無論鄭旦們,還是Prestomall的工程師們,仍然感覺到巨大的不确定性。
02
阿裡雲資料庫團隊對東南亞市場并不陌生,心動網絡就是阿裡雲服務的客戶之一。在熱門的遊戲出海領域,心動網絡打造了遊戲社群TapTap,近幾年在海外的擴張勢頭也格外兇猛,《碧藍航線》《第五人格》等國内爆款遊戲均通過心動網絡與國外玩家見面。
一直以來,遊戲出海行業裡關注更多的是如何擷取海外流量、如何内容本地化,鮮少有人關注讨論線上娛樂型流量的底層支撐與命門——資料庫和資料倉庫。前者支撐和記錄玩家的所有互動行為;後者則要将大資料實時提供給營運團隊資料洞察,便于做出及時的玩法和政策調整。
TapTap的全球化營運與傳遞模式,意味着他們需要有支撐各區域部署的“數字大腦”,而互相之間,又最好使用統一的大件子產品。
然而伴随着業務的擴張,網際網路公司原有的大量MySQL資料庫面臨挑戰,資料備份慢、業務延遲大,遊戲發版前對資料備份動辄需要幾小時,非常影響釋出效率。心動網絡最早在東南亞市場使用了亞馬遜AWS Aurora。
随着阿裡雲自研的雲原生資料庫PolarDB在當地開設服務,心動網絡選擇了這一成本更低、性能更優、曾經扛住了雙11大規模高并發的夥伴。
從MySQL到AWS Aurora再到PolarDB,必須平衡資料庫遷移諸多細節、稍有差池後果不堪設想。為此,阿裡雲有兩個重要的遷移工具保障這個過程,DTS用于資料的遷移、ADAM用于業務層相關的遷移。兩個産品對主流資料庫種類的支援規模,都是業内最高。
而另一家遊戲出海領頭羊莉莉絲,代表作包括《萬國覺醒》、《劍與遠征》,則在兩年前就開始利用阿裡雲的雲原生資料倉庫AnalyticDB,幫助資料架構師和營運人員及時分析遊戲運作情況,及時調整政策。這個資料倉庫産品,也在2020年拿下TPC-DS性能榜全球第一的桂冠,代表着性能和成本效益的巅峰水準。
《火炬之光》手遊将由心動網絡研發并在亞洲範圍内發行
網際網路資料處理和存儲場景越來越要求彈性、智能化。PrestoMall、心動網絡、莉莉絲冒着風險更換資料庫的選擇也并非個例。
相比之下,“去O”的趨勢雖然已經明朗,但趨勢歸趨勢,要從Oracle遷移資料的難度,其實大大複雜于其他開源資料庫。
鄭旦告訴「深響」,因為Oracle資料庫版本繁多,不同客戶建立報表的邏輯差異很大,基于DTS和ADAM産品,PrestoMall項目需要改動的代碼不到5%,但仍然帶來不少更新優化需求。
03
資料庫的市場并不大,卻聚集了全球高科技巨頭核心的研發力量。
據不同的統計口徑,全球資料庫市場規模在300億美金到600億美金之間。相比于全球雲計算數千億美元級别的規模,這不算是最大的一塊肥肉。
但資料庫的戰略位置十分特殊,其承載了一個企業客戶最核心的資料資産,而每一次遷移,都意味着相當的風險。資料庫的選擇,往往也也會影響企業對存儲、伺服器等其他大件的消費,粘性高、撬動後續服務的能力強。
微軟、Oracle、SAP、亞馬遜AWS、Google、IBM、阿裡巴巴、騰訊、華為……全球頂級科技巨頭在資料庫領域已經鏖戰了數十載,亞馬遜AWS的CTO Werner Vogels更是多次強調:“資料庫是雲計算的終極之戰(Real Battle)。”
如果要用雲資料庫取代傳統資料庫,這相當于将現有每年資料庫500億美元市場中,約70%的份額分流。按照行業預測增速,未來三年資料庫市場總銷售額約在1800億元。
從商業資料庫到開源資料庫、雲原生資料庫,從海外巨頭占絕對主導地位到如今國内外頭部玩家在新賽道上同步起跑,當下的資料庫和十年前的資料庫已然不是同一個概念。
曆史上,最早的資料庫要追溯到20世紀70年代,1968年IBM推出了第一代資料庫DB1,1970年IBM工程師EdgarCodd寫下了最早的關系型資料模型構想的論文。随後的30年間出現了Oracle、Informix、Sybase、Sybase與微軟合作的SQLServer等著名的資料庫公司。
全球資料庫産業在2000年前後進行了第一次大戰并主要形成IBM、微軟、Oracle三巨頭格局,那也是商業資料庫的時代。
2000年以後,網際網路和雲計算技術變革為資料庫技術帶來了“釜底抽薪”的底層計算系統變化,帶來了以開源、分布式和雲計算為主導的新資料庫時代。
2018年10月,阿裡雲第一次出現在Gartner全球資料庫魔力象限(包括傳統和雲資料庫市場佔有率)。第二年,阿裡雲就成為最接近“上司者”象限的“挑戰者”,整個市場呈現7強格局:微軟、Oracle、SAP、AWS、Google、IBM和阿裡雲。
曆史程序中的資料庫
在資料量很少的時候(百GB),傳統的資料庫如SQLServer、Oracel、DB2等可以完成大多數場景對資料管理的要求。但随着資料越來越多、負載越來越高、對資料分析的需求開始出現,企業意識到了商業資料庫的局限性。
這時候雲原生資料庫廠商開始把商業資料庫以及開源的資料庫搬到雲上,給客戶以租用的方式提供服務。雲原生資料庫更是有目共睹——低成本、免部署運維、高性能、更安全,Gartner預測,到了2021年,雲資料庫在整個資料庫市場中的占比将首次達到50%,而到了2023年,75%的資料庫都要跑在雲平台之上。
全球頂級科技公司的新一輪資料庫“世界大戰”圍繞于此。
Oracle和Microsoft原本以資料庫見長,在雲時代,兩家公司都在努力從私有環境部署向雲上轉型;AWS、Google和阿裡雲則是在雲上取得了成功。逐漸地,抓住了“雲機會”的3A(AWS、Azure、阿裡雲)和Oracle形成了新的頭部資料庫格局。
其中,阿裡雲PolarDB系列資料庫,從2015年項目啟動,經過幾年天貓雙11的試煉,已經進入快速商業化軌道。也就在昨天,李飛飛向外宣布,PolarDB系列已經成為增速最快的雲産品之一。
據「深響」了解,最近幾個月這個系列資料庫産品同比增速都超過300% 。
2019年Gartner資料庫魔力象限
04
而雲資料庫的崛起,其實是整個網際網路場景變化與趨勢發展的縮影。
在2004年左右,阿裡巴巴尚未涉足雲計算,這家“電商公司”當時還是資料庫的大買主。
“技術人員們花錢如流水,買得「IOE」(IBM的小型機、Oracle資料庫、EMC儲存設備)這三家的對口銷售年年升職。”據《淘寶技術這十年》中阿裡巴巴技術人員的回憶,網際網路實在發展得太快,很快就超過了IOE的極限,哪怕花錢也無法解決問題。傳統資料庫本質上是單機系統,即便做了分庫分表,也無法改變單機系統的本質。
2007年左右,阿裡B2B業務勢頭正盛,淘寶、支付寶也出現井噴式增長。反應遲鈍的傳統軟、硬體供應商拿不出解決方案,阿裡巴巴需要“自救”。
2008年9月,王堅加盟阿裡巴巴集團擔任首席架構師,也首次提出去IOE。但這一想法在當時被很多人認為是天方夜譚。據了解,在資料團隊整合的過程中,走了三個主管,剛提起來,一周不到就辭職了。
當電商業務邏輯變複雜以後,需要了解Oracle資料庫的技術實作,但無論是請Oracle專家到現場的時間還是成本都無法滿足業務要求,于是阿裡巴巴從2012、2013年後就開始大規模使用、定制開源資料庫。
這是一個很有意思的現象。當今格局中頭部的AWS與阿裡雲背後,都是電商基因的支撐。雙十一等超大規模場景,在世界範圍内來看都絕無僅有,這也給了中國電商企業登頂全球基礎軟體技術上司地位的機會。
在2019年雙11的交易中,PolarDB資料庫處理交易事件的峰值更是達到了8700萬次/秒。
2011年加入阿裡的離哲,現任雲原生資料倉庫AnalyticDB等智能分析類資料庫業務負責人,幾乎見證了阿裡資料庫各種業務應用和自研階段。
離哲告訴「深響」:“2012年的時候商家進貨很有挑戰。該進什麼樣的貨,黑色好賣還是白色好賣,商品起什麼标題……問題很多。我們怎麼幫商家解決這些問題?最終這些問題指向了一個資料分析和面向未來的趨勢,是以我們開始嘗試用開源技術做這個功能。”
2013年,離哲團隊多次争取,獲得了一個大資料項目,完全把資料的分析能力透傳給商家、廣告主,能讓他們去做精準營銷。
Gartner雲資料庫全球排行
從2014年開始,其資料分析能力走出了阿裡巴巴。
第一個客戶中信21世紀(也就是後來的阿裡健康)面臨的問題上藥物條碼。藥的流通是個很大的問題,藥物真假溯源尤為重要。但如果整體“上雲”,這個資料量是極大的。
第二個客戶線上打車的業務是實時的,除了處理業務資料,同時由于有紅包功能,整個資料分析還需要對抗薅羊毛的黑産和灰産。
日積月累,客戶的數量越來越多。
“服務外部的時候我們發現很多行業,比如遊戲、稅務,他們都面臨同樣的問題——當傳統資料量變大的時候怎麼用資料去賦能業務、用資料解決業務問題。例如遊戲行業裡大多數遊戲生命周期都很短,一般6-8個月,怎麼在短時間内做精準投放、快速引流并留存使用者讓投入價值最大化。”離哲說。
AnalyticDB這類提供智能分析的資料倉庫,成為銜接客戶資料和大資料分析能力的關鍵元件。而Gartner報告也指出,對于未來的資料工程師,資料運維工作量會下降30%,智能化的分析能力則會大幅提升。
AnalyticDB在複雜查詢場景比傳統關系型資料庫快10倍以上。
不過,擁抱新的雲原生資料庫,并不是一件困難的事。國内第一位Oracle ACE及Oracle ACE總監,雲和恩墨創始人蓋國強在三年前就在積極推行雲原生架構。
蓋國強團隊是國内資料庫社群最頂尖的貢獻者之一,他歸納了資料庫行業的幾個重要趨勢:
分布式。彈性伸縮,故障自愈。
智能。智能優化,智能運維。
平台化。使用者可以自己去建所有東西,進行統一管理。
軟硬一體。将所有東西內建在一起,讓使用者能夠獲得極緻的性能和便利。
雲化融合。雲上和雲下越來越趨于統一。
05
這是一個好時代。
作為雲技術的基礎設施,資料庫成為了新一輪全球科技競賽的必争之地,也毫無疑問地是企業進一步數字化、走向更高效率的橋頭堡。
而雲的彈性和雲的本質又讓我們有機會通過存儲計算分離重新定義資料庫。在這條賽道上,全球玩家都是同步起跑。中國巨大的人口基數帶來了足夠豐富的場景讓資料庫的性能能夠得到校驗,新基建所對應的數字化浪潮也正澎湃洶湧。
回到半年之前的那個淩晨,鄭旦團隊幾次進入艱難讀秒。
深層的原因,是傳統資料庫的架構限制,這顯示出變化的緊迫性。由于PrestoMall使用傳統資料庫架構非常簡單,并沒有分離處理實時交易和離線資料彙總的業務,晚間交易業務減少,但資料報表仍然在彙總。而一旦進入白天,線上交易量增加,遷移的難度提升可想而知。
好在一切順利。淩晨6:10,陪着當地客戶負責人身邊的項目銷售人員帶來好消息,新的資料流可以完全接入PolarDB,除了最後的一些第三方海外郵件服務外,Oracle資料庫上其他服務全部接入到了PolarDB。
遷移結束後的12月,PrestoMall順利扛過了雙十二和聖誕兩場大促。幾個月間,PolarDB系列,又順利完成十幾個版本疊代,正在金融、電信、政務等數十個不同行業類型的客戶中部署使用。
資料庫的硝煙從未消弭。放到更長的時間線裡,一切才剛剛開始。