中國的數據庫居然能吊打美國甲骨文了?
(原標題:大橘財經:中國核心數據對美國的依賴,可能真要結束了)
剛滿一週歲的科創板,可能就要見證新“股王”的誕生了。
根據上交所公告,即將上市的螞蟻集團擬在科創板募資480億元,大概相當於中芯國際的2.5倍。
市場普遍認爲,這還是一個相當保守的數字。彭博社消息稱,螞蟻集團尋求的IPO估值至少爲2000億美元,約合1.37萬億人民幣。
而中國股民向來不憚於給民族企業更高的溢價。按照中芯國際上市首日200%的漲幅來算,螞蟻集團市值將達到4.11萬億人民幣。即使溢價幅度稍低,也有機會超過目前A股市值最大的茅臺(2.2萬億)。
不過,選擇在科創板上市的螞蟻集團,究竟是一家科技公司,還是金融公司?
招股書顯示,螞蟻集團的營收主要有兩個來源,分別是數字支付與商家服務、數字金融科技平臺。
圖片來源:螞蟻集團招股書
數字支付與商家服務,簡答說就是支付寶業務,向用戶和商家收取手續費,這項業務的佔比今年已經降到了35.86%。
數字金融科技平臺收入佔比63.39%,佔據最大頭。這項業務說白了,就是通過促成小微貸款、理財產品以及保險產品的銷售,按照銷售規模百分比向相關金融機構收取“技術服務費”。
圖片來源:螞蟻集團招股書
看上去,儘管頂着“技術”的名義,螞蟻集團目前更像是互聯網上的金融中介,遠沒有中芯國際那麼硬核。
那麼,螞蟻集團真的只是一家金融公司嗎?
陽振坤一定不會同意這句話。
1.
在螞蟻集團的主營業務中,還有一項不起眼的業務,叫做“創新業務及其它”,營收佔比僅有0.75%。招股書解釋,這項業務主要包括區塊鏈和數據庫。
其中,陽振坤一手打造的OceanBase數據庫,今年就搞了個大新聞。
今年5月,在被譽爲“數據庫領域世界盃”的國際權威TPC-C測試中,OceanBase跑出了7.07億tpmC的成績,意思是每分鐘可以創建7.07億次訂單。
這個成績,是去年OceanBase自己創下的世界紀錄的11倍,是第三名甲骨文(Oracle)的23倍。
近日,中國政府更新禁止出口技術目錄,疑似納入TikTok算法,計算機軟件系統被提升到前所未有的戰略高度。數據庫,正是軟件領域最核心的基礎設施之一。
而且,與芯片製造領域尚有多國競爭不同,數據庫領域,長期以來就是美國一家獨大,甲骨文一家獨大。
中國數據庫居然能吊打甲骨文了?
很多人注意到,在TPC-C測試中名列第三的甲骨文,是在十年前,也就是2010年做出的數據,因此質疑排名的權威性。
的確,自2010年以後,甲骨文再也沒參加過這項測試,因爲甲骨文已經獨孤求敗,再也不需要用打榜證明自己的實力。
1970年,IBM科學家科德博士發表了一篇題爲《大型共享數據庫的關係數據模型》論文,奠定了現代數據庫的理論基礎。然而限於當時的計算機水平,IBM認爲這種數據庫沒有商業價值,居然直接將論文鎖進了故紙堆。
但幾年之後,美國中情局看上了數據庫的重大戰略意義,既然IBM不接單,只好求助於民間高手,最後盯上了拉里·埃裡森,和他的初創公司甲骨文。
這位落魄程序員從此開啓了自己的傳奇人生。
隨後的幾十年中,看到“錢景”的IBM和微軟紛紛加入數據庫市場競爭,甲骨文並不缺少挑戰者。直到2010年。
那一年,甲骨文在TPC-C測試中跑出3024萬的成績,是同年IBM的3倍,IBM再無還手之力。尤其是在產業起步較晚的中國,人們提起數據庫,幾乎只能想到甲骨文。
巧合的是,甲骨文王朝的衰落,也在那一年埋下種子。
硅谷天才埃裡森,不久之後就要見識到中國工程師的“恐怖”了。
2018年,埃裡森接受福克斯商業新聞採訪,渲染“中國威脅論”
2.
2010年,45歲的百度高級科學家陽振坤,應阿里雲之父王堅的要求,從北京辭職南下杭州。他的新工作,是爲阿里研發一款自己的數據庫。
彼時,淘寶網的電商業務正在席捲中國大地,如火山般爆發的用戶數據讓阿里成爲甲骨文最大的亞洲客戶,也挑戰着甲骨文的極限。
淘寶首先遇到的問題是,數據庫的成本實在是太高了。
在數據庫領域有一個“IOE”的說法,意思是一個完整的數據庫系統,軟件加硬件,需要IBM服務器、Oracle數據庫、EMC存儲設備“三駕馬車”。爲了保證數據不出錯,Oracle數據庫必須運行在高端服務器和存儲硬盤上。
然而隨着淘寶流量的爆發,阿里算了筆賬,未來採購這“三駕馬車”的費用,甚至會超過公司的全部利潤。尋求低成本的數據庫解決方案勢在必行。
更緊迫的問題是,甲骨文數據庫已經要崩潰了。2010年,是“雙11”啓動第二年,當天23時59分30秒,眼看“雙11”就要結束,支付寶核心賬務系統突然報警,數據庫資源即將耗盡。當技術人員砍掉最後一個非關鍵應用的時候,距離整個系統崩潰只剩下4秒。
爲此,阿里首席架構師王堅提出了一個去IOE計劃:以廉價PC服務器替代IBM小型機,以基於開源的自研數據庫替代Oracle數據庫,不再用高端存儲設備。
於是就有了那個著名的軍令狀:“淘寶2010年起不再購買小型機”。
最初,王堅提出的“基於開源的自研數據庫”,是指以當時流行的國外開源數據庫MySQL爲基礎自行改造,這是中國軟件行業最常見的自主化路徑。
這條道路後來衍生出2016年開源的AliSQL,比原版MySQL有70%的性能提升。
但陽振坤選擇了一條更艱難的路——自己開發一種全新的分佈式數據庫。
事實證明,這個選擇是極其明智的,因爲不久以後,Oracle就收購了MySQL,不再完全開源。
陽振坤
3.
所謂分佈式數據庫,是指區別於Oracle傳統的集中式數據庫,不再將數據儲存在一臺服務器上,而是直接運行在雲上。
這是一個顛覆性的變化。
一個合格的數據庫,必須滿足ACID特性。簡單地理解,當A給B轉賬100元錢時,數據庫必須做到:
原子性(Atomicity):A的賬戶減少100元,B的賬戶增加100元,這兩件必須同時發生,像原子一樣不可分割;
一致性(Consistency):轉賬之後,A和B的賬戶總和必須跟轉賬前一致;
隔離性(Isolation):A和B之間的轉賬不影響其它任何賬戶;
持久性(Durability):轉賬記錄必須長久存在,即使發生斷電等故障也不能消失。
甲骨文等傳統數據庫,被稱爲集中式數據庫,運行在一個單一的服務器上,因此可以最大程度上保證ACID特性。即使服務器出現故障,也可以保證一個任務要麼都發生,要麼都不發生,不會出現A的賬戶少了100塊錢,B的賬戶卻沒收到的情況。
但是對於分佈式數據庫來說,如果A、B兩個賬戶處在不同的機器上,其中一臺機器出現故障,另一臺卻在繼續執行任務,原子性和一致性就沒法保證了。
在2010年,這是一條從未有人成功過的道路,阿里方面深知其難度之大。
有報道說,當時阿里集團的技術負責人吳泳銘告訴陽振坤:“陽老師,我可以給你兩年的時間來證明‘分佈式數據庫’是可行的。”
手下只有十幾個人的陽振坤,實際上只用了一年就做出OceanBase 0.1,用在了淘寶收藏夾上,成功經受住2011年“雙十一”的考驗。
整個2012年,陽振坤的時間主要都花在向其它部門推銷自己的產品上——是的,即使有了收藏夾的成功,依然沒人敢用。
圖片來源:史中
轉折點發生在那年秋天,力挺陽振坤的王堅,把OceanBase團隊從淘寶調入支付寶,打算直接用在離錢更近、對ACID要求更高的支付寶上。
OceanBase解決ACID問題的方法,主要是靠增加備份,將三套OceanBase綁定在一起運行,一個主庫,兩個備庫。只有當至少一個備庫也完成任務時,主庫纔會完成這個任務,這樣,任何一個任務至少被保存在兩臺服務器上,極大降低了事故概率。
這個理論雖然看上去簡單,但能否在數以億計的交易中保證不出錯,大家心裡仍然沒底。
2014年的“雙十一”,支付寶決定將1%的流水交給OceanBase承擔,剩下的99%,還是使用Oracle。
但是在臨近“雙十一”的壓力測試中,Oracle數據庫居然屢次崩潰,只有將數據量降低到90%才能穩定運行——支付寶的體量已經突破了Oracle的極限。
順理成章地,OceanBase的承擔比例,被上調到10%。
一篇專訪這樣描述了當時的情景:
11月10日晚,螞蟻金服CEO彭蕾專門來到OceanBase的作戰室,問陽振坤:“陽老師有信心嗎?”
陽振坤指指窗戶,窗外深秋的樹葉正在風中婆娑。“不成功我們就跳下去。”他平靜地說。
OceanBase當然成功了。2015年,陽振坤團隊獲得了螞蟻金服最重磅的獎項——SUPER MA。
陽振坤團隊獲得螞蟻金服CEO大獎
4.
在阿里以外,美國數據庫積威猶在,特別是在對數據庫要求最高的金融、電信等領域。
早在上世紀90年代,國內就逐漸形成了Oracle壟斷電信行業,IBM壟斷金融行業的格局。2013年的斯諾登事件,讓中國政府意識到使用美國數據庫的巨大安全風險,全力推進去IOE化,但實際進展緩慢。
到目前爲止,儘管很多大型銀行已經基於MySQL等開源系統,對非核心業務進行替換,但核心業務仍然在使用IBM DB2系統。
截至2019年,國外廠商仍佔據我國數據庫市場80%以上份額。傳統的關係型數據庫市場中,Oracle、IBM、Microsoft、SAP四家廠商共佔據市場份額六成,其中Oracle佔比超過三分之一。
2019年國內傳統關係型數據庫市場佔比 圖片來源:民生證券
這一方面是因爲,美國人的優勢實在太大。
從1978年薩師煊在人大開設“數據庫系統概論課”算起,國產數據庫已經走過了四十多個年頭,形成了以人大金倉、武漢達夢、南大通用、神舟通用等四家供應商爲代表,依託科研院校的國產數據庫產業。
根據公開數據,入選“核高基”課題的人大金倉,僅2011年就獲批至少1.2億人民幣的政府資金支持。
但這些國產數據庫,大多隻能應用在要求較低的政府採購項目上,至今不敢說在技術上逼近Oracle。
另一方面,數據庫是一個需要下游配套的複雜系統,多年以來,各種辦公系統都是各自依託Oracle、IBM開發,互相之間無法兼容。
所以,即使是技術上全面領先的Oracle,也往往很難讓銀行放棄原有的IBM系統。甲骨文CEO馬克-赫德就曾抱怨,“如果遷移數據庫這麼容易,DB2的市場份額可能就變成零了。”
在這種情況下,陽振坤的分佈式數據庫,想要取得各大金融機構的信任就更難了。
多年以來,外界對於OceanBase的質疑一直不絕於耳,最常見的看法是,分佈式計算無法做到同集中式一樣的ACID,因此根本沒法在金融業應用。
OceanBase參加TPC-C測試,某種程度上也是爲了迴應這個質疑。TPC-C測試一個最基本的要求,就是滿足ACID原則。
其實,Oracle當初創造世界紀錄,也應用了某種程度的分佈式技術,將數據庫服務器擴展到幾十個節點,才能吊打IBM。
因此,OceanBase等國產數據庫面臨的最大挑戰,恐怕還是如何搭建自己的生態系統。
上世紀90年代起,Oracle就大舉收購ERP等下游行業公司,建立了完整生態系統,才徹底鞏固自己的壟斷地位。
好在,個人的努力固然重要,在歷史的進程中選對立場,纔是決定性因素。
如今,歷史站在了雲計算一邊,在美國,亞馬遜、谷歌等數據庫的新玩家,也在憑藉分佈式瘋狂侵吞着甲骨文的地盤。傳統銀行因爲線下業務規模有限,尚能繼續守舊,但任何有互聯網野心的企業,都在紛紛轉投分佈式。
OceanBase從2017年起對外提供服務,至今已經拿下了不少金融業客戶,比如招商銀行的互聯網業務已經採用OceanBase服務器。OceanBase的服務對象還包括自家的網商銀行,以及南京銀行、常熟農商行等數十家商業銀行和保險機構。
2019年,騰訊的分佈式服務器TDSQL,也首次應用於張家港農商行的傳統核心業務。
阿里、騰訊這些賺快錢的互聯網企業,如今已全面進軍基礎技術領域,承擔起商業之外的國家戰略責任。
更重要的是,區別於享受政策紅利、遠離市場的傳統國企,它們在最激烈的市場競爭中廝殺,用豐厚的商業利潤來爲科研輸血,正在爲中國蹚出一條更高效的技術進擊之路。
參考資料:
《OceanBase:螞蟻爬上舞臺》,史中;
《螞蟻金服自研數據庫OceanBase如何登頂TPC-C》,楊傳輝;
《歷史機遇,國產數據庫市場迎來十倍空間》,民生證券。