【IT時代網編者按】中國的數據庫歷史,伴隨著時代的發展,故事仍然在繼續。從Oracle數據庫建立發展到黃金時期,到以阿里巴巴為代表的互聯網勢力的崛起,數據庫越來被廣泛關注,以燎原之勢影響著現代社會的方方面面。
數據庫,將計算機科學和易于人類理解認知的數據管理方式完美的銜接在了一起,從上個世紀50年代開始,就逐漸影響并改變了世界,但在中國,數據庫是怎樣發端,成長并演變成今天的燎原之勢,似乎從未有人進行過系統的梳理。
一個偶然的機會,筆者執筆寫下了這篇小文,資料有限,未盡之處,敬請諒解。
誕生于恢復高考之后
1978年,恢復高考以后的第一批學生,離開他們工作的農場、工廠,乃至西雙版納的熱帶森林,重新撿起書本,走進了大學校園。
迎接他們的老師薩師煊在黑板上寫下了“數據庫”三個字,這群剛剛走進校園的年輕人,望著手上油印的講義,似乎還很難明白這是一個怎樣的產物。不光是這群年輕人,彼時的中國大陸,聽說過這個名詞的人,也不過是極少數頂尖的計算機科學家。
中國數據庫開拓者—薩師煊老師
在國際上,上個世紀50,60年代,隨著信息技術的發展,60年代伴隨著登月工程等大型項目而生的數據庫,已經從一門新興科學,走入了國計民生領域。1961年,美國通用公司研發的第一個數據庫系統DBMS誕生。1976年霍尼韋爾公司(Honeywell)開發了第一個商用關系數據庫系統——Multics Relational Data Store。
就在薩師煊全面開始介紹數據庫的前一年,1978年,美國的Ellison在為中央情報局做一個數據項目時候,敏銳的發現關系型數據庫的商機。
幾個月后,Oracle 1.0誕生了,這個看起來只不過是個數據庫玩具的產物,當時除了完成簡單關系查詢不能做任何事情,就是這樣一個“玩具”,讓Ellison從此踏進了信息管理這個巨大的藍海產業,并在短短十幾年間,成長為世界級的巨人。
1982年,薩師煊起草了國內第一個計算機專業本科“數據庫系統概論”課程的教學大綱。
中國數據庫的這第一批星星之火,現在大多數人已經無法通過公開渠道尋找到,但是在薩師煊的線上紀念館里,依然會看到一些名字:王珊《數據庫系統概論》作者,國防科技大學計算機學院教授陽國貴等一串國內學界泰斗,由他們編寫的教材,如今依然是學習數據庫的同學必看的書籍之一。
這批中國數據庫的第一代學生,走入社會已是80年代初,他們將數據庫廣泛帶入了學校,學院,以及科研機構,進而帶動起了整個8、9年代初的中國數據庫行業在國防,軍工等領域的應用。
今天已經無從考證,但我們可以想象,中國第一枚洲際導彈,中國第一代超級計算機,中國第一個正負電子對撞機,國產殲擊機,甚至國產大型驅逐艦,在八十年突飛猛進的國家科技成果進步中一定有第一代中國數據庫人身影。
薩師煊是名門之后,家族名人包括民國海軍司令薩鎮冰等。但其一生致力于教學對于學生,親近可愛。雖然擔任了數據庫領域諸多職務,然而據弟子評價,老師身無長物,生活簡樸。
2010年7月11日凌晨,薩師煊在北京的醫院里悄無聲息的去世了。與大多數中國老科學家一樣,今天的年輕人已經只能在搜索引擎上找到關于他的只言片語。
但由他引入中國的數據庫行業,卻星火燎原,成為時代脈搏的紀錄者。
Oracle江湖
1989年某一天,臺灣人馮星君興奮不已,數月前Oracle總部決定進軍中國,馮星君帶著10萬美金的啟動資金來到中國。就在此時,他驚訝的發現中國最有價值的中文詞匯:“甲骨文”居然尚未注冊,商業嗅覺敏銳的他天才般的決定將Oracle的中文名稱,注冊為甲骨文。
這個將中國歷史上最古老的文字與最先進的數據庫科技連接在一起的商業創意,后來成為了無數的商業教材反復討論的品牌案例。
從此,甲骨文這三個字,就在中國大陸上生根發芽,幾乎在同一時期,中國出現了兩個對于數據庫強需求的行業。
上個世紀80年代末,中國的經濟體量開始劇增,改革開放的腳步日益加深,信息流與資金流的以幾何級的速度增長:1978年,中國電話總用戶數為214萬戶,2003年,中國電話數達到了22562萬。而銀行的業務也開始變得越來越復雜,各項業務開始迫切的需要新的工具。
當時的中關村盜版泛濫買一套Oracle軟件只需要2500元人民幣,在美國,一套的Oracle DOS版要賣1700美元。馮星君說服了Oracle總部,準許他在中國將一套的Oracle DOS版只賣500美元。有培訓、有服務、有手冊,價錢和盜版一樣,只用3個月時間,Oracle就賣出了5000套。
馮星君也具有當年的商業英雄的一切特征,充滿了草莽氣息。
馮星君曾經將自己的家族企業發展成了Oracle在中國最大的代理商而在被解職以后,傳聞曾經派打手沖擊Oracle會場,甚至差點被不明黑社會的人暗殺,這些充滿了想象意味的場面,構成了那個特殊年代的商業江湖。
“每一次馮星君的車一啟動,就有一輛車尾隨其后跟蹤。馮星君開始注意這輛可疑的車,大概觀察了一個星期,馮星君覺察出不對勁,就報了警,將這輛車扣了。由于沒有造成任何傷害,也沒構成犯罪事實,再加上不屬于中國內地的管轄區域,于是警方將此案移交國家公安部門處理,最后將疑犯驅逐出境。
原來,跟蹤馮星君的是臺灣的黑社會勢力,已經在內地潛伏了半個月之久,準備暗殺馮星君,但一直沒有找到機會下手。——摘自《IT時代周刊》
但無論如何,Oracle就這樣在中國站住了腳,而真正讓Oracle一統江湖的是“97工程”。
當時,電信行業的業務量以平均每年45~50%的速度遞增,而計費方式是脫機讀帶,人工整理,長途,國際業務,甚至需要2~3個月才能結算出來,引入先進的數據庫,并搭建起一套完整的服務系統,就成為了迫切的任務。
“1995年5月,郵電部電信總局提出開發和建設"市內電話業務計算機綜合管理系統",即"九七工程",并于同年7月下發了一系列的技術和業務規范,要求全國縣以上的郵電局在1997年底前實施"九七工程"。
"九七工程"共分為九個子系統,其中,營業受理、配線配號、定單管理、機線資源、綜合管理與查詢屬于基本子系統,112、114、計費、號簿子系統與基本子系統完全實現數據共享。“
97工程的7大系統
1997年,Oracle順利地拿下東三省郵電管理局5期工程的大單,也給Informix(英孚美軟件公司)、SYBASE(塞貝斯)、CA、Digital(DEC電腦有限公司)等業界幾大廠商沉重的打擊。
而中國的第一代DBA就在97工程中崛起,這批中國第一代DBA,其中絕大多數都已經是中國電信行業的元老級人物:多已成為省市一級的總工程師。
甚至有的已經離開電信領域,步入仕途。據筆者統計,其中職務最高者已經官居副部序列。更多的人則已經財務自由,開始了自己人生的另外一段旅途。
中國數據庫的行業格局就在這一時期形成了:金融行業用IBM DB2數據庫,Informix數據庫,在電信行業,則是Oracle的天下。
同時,一批圍繞Oracle生態成長的企業,也逐步壯大,其中最典型的就是亞信科技:2000年,亞信在美國納斯達克上市。同一時期,也誕生了從國企到電信現在創辦了云和恩墨的Oracle ACE總監Eygle(蓋國強)老師。
Oracle ACE總監 Eygle(蓋國強)老師
這也是Oracle數據庫的黃金年代,就在這一年冬天,瑞典下了很大一場雪。大雪以后,獨立的商業公司MySQL AB在瑞典的中部城市Uppsala成立了。
而早在公司成立之前的1995年,1995年5月23日,MySQL的第一個內部版本就開始發行了。
有趣的是,第一個MySQL正式版恰巧只能運行在Sun Solaris上,仿佛昭示了它日后被Sun收購的命運。
而MySQL之父Monty沒有加入Sun,而是離職創立了Monty Program AB,接過MySQL的代碼繼續開發新的分支—MariaDB,并再續傳奇的故事,我們將在后面繼續講述。
MySQL演進圖
此時此刻的中國,世紀之交,也正在變革前夜。
1999年,阿里巴巴誕生,1999年,騰訊誕生,到1999年6月30日,國內上網用戶數已超過400萬。
舊的黃金時代仍在延續,然而新的故事已經來臨。
互聯網傳奇
從1999年開始,各個IT社區開始興起,一些數據庫的同行開始走出封閉的公司,在社區里活躍起來,更多數據庫從業者獲取知識的形式,也從產品文檔,手冊,變成了社區。“當時國內的整個技術社區里面大家能得到的第一手的資料其實還比較少,所以就有比較強的技術人員會去看英文的文檔,國外的網站,然后回去做做實驗,然后去社區里分享,幫助別人解決一些問題。”老一代DBA童家旺談到當年自己混跡ITPUB的經歷時說道。
那是DBA們的田園牧歌時代,當時的DBA圈子并不大,幾乎都聚集在北京,社區里有人振臂一呼,線下擼串,響應者眾多。大家一邊擼串,一邊把自己遇到的問題跟大家交流。
而這一時期,也是各個互聯網公司開始崛起的時期,對于數據庫的需求量變得越來越強烈。
彼時在市場上,有三家公司的DBA被公認為行業大牛,一是ebay,二是淘寶,三是當年初創的支付寶。樓方鑫,馮大輝都是當年支付寶數據庫的代表人物樓方鑫在2005年曾經開發Oracle的災難恢復工具AUL,十幾年過去了仍然經常接到求助郵件。而馮大輝參與編輯兩本Oracle的技術圖書:《Oracle數據庫性能優化》、《Oracle數據庫DBA專題技術精粹》在數據庫領域有著廣泛的影響力。
而ebay,則以現在已經去了美國的eaglefan、玉面飛龍、yong huang黃勇和還留在唯品會的諸超等為代表。
Oracle數據庫的一個致命缺點開始暴露出來,貴。不僅Oracle軟件貴,要維持Oracle數據庫+IBM小型機+EMC的開支也相當龐大,另外對于管理員的能力要求,也非常的高。
不僅如此,“第一是Oracle作為商業產品,本身也有性能的上限,第二是黑盒子。對于沒碰到過的場景,無論再怎么努力,也是無法預測可能出現的問題的。”當時的淘寶數據庫大神余鋒告訴記者。
中國的互聯網公司大部分都草莽出身,對于性價比極為看中,而這個時候,美國的雅虎公司開始率先使用MySQL數據庫,一度在世界上有數以千計的服務器都是用MySQL數據庫。
當年雅虎的光環,遠高于今天的谷歌,Facebook,可以說今天中國所有互聯網公司的架構,都可以在雅虎找到源頭,在雅虎的示范效應下,很快中國的互聯網公司就開始自己的MySQL之路。
阿里巴巴曾經被稱為Oracle的“明星客戶“,”黃埔軍校“誕生了馮春培、陳吉平和汪海等眾多Oracle大牛。但隨著淘寶、支付寶和阿里巴巴B2B的注冊用戶數激增,用戶產生的數據也越來越多,即使采用冷熱隔離的方式也解決不了大容量數據且大并發的難題,淘寶啟用了全亞洲最大的Oracle RAC集群,阿里巴巴B2B中文站的數據量也因數據量大和業務要求,每年早上08:00—09:30之間CPU保持98%的使用率,LOAD也超高,即使更換存儲設備不久也會再次出現這樣的狀況。
使用開源的MySQL,跟商業產品Oracle重要區別在于,開源軟件只有基本一個框架,雖然已經有了成熟的社區,但是產品本身需要自己去打磨,出了問題沒有廠商技術支持,能不能支撐起阿里內部的數據庫需求,在當時看來,并不那么確定。
“2009年底,當時負責淘寶技術預算的劉振飛向王堅匯報,提出淘寶“2010年不會購買IBM小型機”,沒想到被王堅挑戰:“既然2010年可以不買小型機了,為什么還要給自己留后路以后還可能購買呢?你要在給董事會看的PPT上明確寫一句:淘寶2010年起不再購買小型機了。”
劉振飛只好“攢出”一條去IOE的技術路線:“低成本、線性可控、去中心化(分布式):去IBM,PC Sever替代小型機;去Oracle,用MySQL替代;去EMC,用中低端存儲”。他最后以驚嘆號結尾,粗體寫上一句:“淘寶2010年起不再購買小型機了!”——摘自阿里巴巴內刊《阿里人雜志》
很難想象,在之后的爆發式增長中,包括以2014,15,16年雙十一為代表的支付峰值,下單峰值,如果沒有阿里自研的MySQL分支,將會發生什么樣的狀況。而MySQL的開源特性,也為其取代Oracle數據庫提供了良好的基礎:MySQL實際上在64位硬件出來以后,幾個星期就出了64位的軟件平臺。固態存儲技術出來了以后,幾個月以后FB就開源了固態存儲的緩存插件。
在知數堂培訓聯合創始人葉金榮(原搜狐DBA)看來,開源數據庫代表的是一種新的模式,但不是說開源數據庫就應該完全免費,也是可以走商業服務路線的。
所以,MySQL在國內的互聯網公司逐步開始取代Oracle的江湖地位,成為諸多中國互聯網企業的首選。新浪的楊海潮,去哪兒的周彥偉,搜狐的葉金榮等也是在此波浪潮中成長起來的MySQL領軍人物,另外,騰訊、百度、網易、小米、人人網、京東等諸多企業也都是MySQL的用戶與開源貢獻者。
京東金融有個妙趣橫生的MySQL大牛劉啟榮曾經跟筆者開過玩笑說:搞得MySQL,方為仌。也暗示著如今MySQL在互聯網公司的地位。
劉啟榮和余鋒
在阿里去O的大背景下,一撥人轉型成為了MySQL方面的資深專家:如張瑞、何云飛等;另一部分人則在雙創大潮中轉型成為了創業者,其中包括創立了沃趣的李春、熱璞的金官丁、平民架構的樓方鑫、去了丁香園現在創立了無碼科技的馮大輝,還有袋鼠云的陳吉平等,其中不乏融資千萬乃至數億的成功創業者。
今天阿里知名的MySQL數據庫專家丁奇、何登成等也都是從百度、網易等各大互聯網公司中成長起來的,當然也有阿里土生土長的彭立勛、翟衛祥。為了保證雙11,他們自行維護了一個MySQL分支,叫AliSQL。
從知數堂的葉金榮老師評測中看到,在通用基準測試場景下,AliSQL版本比MySQL官方版本有著70%的性能提升。在2016年杭州云棲大會上AliSQL宣布開源,聲稱在秒殺場景下,性能提升100倍。
中國互聯網中的開源數據庫大軍,除了MySQL以外,PostgreSQL、Redis、MongoDB和HBase等也開始活躍起來,PG的領軍人物德哥、MongoDB的TJ、Reids的鵬程、HBase的曹龍等人也活躍在各大數據庫大會和社群中,一起尋找著中國數據庫新的方向。另外阿里云的Redis、國產數據庫巨杉也紛紛開出自己的源代碼,加入了開源數據庫大軍。
傳聞國內眾多新興的國產數據庫如人大金倉、達夢、神州通用、瀚高、上容、高斯等也都是或多或少學習、膜拜了這些開源數據庫后自行研發、開枝散葉的。
新的挑戰,總在前方。
行業變局,新的挑戰
2008年1月16日,Sun宣布已經與MySQL AB達成收購協議,以大約10億美元收購MySQL AB。sun給MySQL AB設定的商業路徑是,擴大用戶與開發人員社區,然后再創建商業服務吸引付費用戶。
但MySQL之父Monty并沒有加入Sun,而是離職創立了Monty Program AB,接過MySQL的代碼繼續開發新的分支—MariaDB。
MySQL創始人Monty(左一)和MariaDB Foundation
歷史往往是螳螂捕蟬黃雀在后,sun還沒來得及施展自己在MySQL上的抱負,自己就陷入了困境的泥潭,持續下滑的業績,讓sun曾經在一天之內股價下跌近23%。市值從2000億美金迅速滑落。
最終,sun被Oracle收購,而MySQL也落入Oracle口袋。
這一次收購,帶給數據庫行業的影響是巨大的,事實上的壟斷形成了(雖然還有微軟的SQL server,IBM的DB2等)。越來越多的人擔心,MySQL會逐步變成一個類商業的軟件。而據傳聞,MySQL 8.0的授權協議,將變得比現在更加苛刻。
2013年,棱鏡門事件曝光,潛伏在公眾視野以外的國產數據庫逐一出現,達夢、金倉、神通、南大等一批國產數據庫得到了廣泛關注,但這些數據庫多應用于央企,國家財政,軍事等專用領域。
而在通用領域,完全不屬于任何組織的開源數據庫與自研數據庫將是未來的主流,這也是MariaDB得到廣泛關注的原因,阿里,騰訊都先后贊助了MariaDB。
云數據庫,更加亮眼的未來
2015年的AWS re:Invent大會上,亞馬遜宣布了Amazon Aurora。Aurora是一個關系型數據庫,可以跨3個可用區域復制6份數據,其設計目標是提供高性能和高可用性(99.99%)。
在中國,筆者猜測未來最有可能推出自研通用型數據庫也將來自云計算廠商,數據庫上云以后,很多玩法才剛剛開始,Cloud Native的數據庫,將提供一個更有想象力的未來。
而在國內,目前云計算產品線最全的就是阿里云了,在有了自研的金融數據庫OceanBase后,阿里云完全有能力在某一天推出自己的自研通用型數據庫。
這樣的猜測絕非空穴來風,在一次數據庫大會中,筆者與阿里云余鋒團隊閑聊時得知,阿里云正在自行研發一款通用數據庫,初步命名極地DB。
據其介紹,阿里云的這款自研數據庫產品在通用場景下性能可以達到MySQL的數倍,而成本只有MySQL的一半左右,筆者猜測阿里云這款新的自研數據庫產品的性能和價格紅利應該是來自于自研的分布式存儲系統。(下面是大會根據幾位大牛的信息還原的架構圖,應該跟Aurora原理類似)
而根據筆者對國內互聯網公司的了解,一旦阿里云推出自研通用云數據庫,華為云,騰訊云等國內二線云計算玩家也許就會在自研通用云數據庫上加快步伐,但能否有這個建設能力,那就見仁見智了。
有分析師認為到2020年人類產生的數據總和將100ZB,而隨著大數據,人工智能,物聯網的崛起,未來的數據庫形態將越來越豐富,關系型數據庫,非關系型數據庫,結構數據庫,時序數據庫等將得到越來越廣泛的應用,在不遠的將來,以云為基礎的云數據庫將越來越多的影響人們的生活。
中國的數據庫歷史,伴隨著時代的發展,故事仍然在繼續。
無論你是在淘寶下單,還是在刷朋友圈,乃至你的流量費用,你的銀行卡賬單。
背后都有這篇文章里,提到或者沒有提到的人們做出的貢獻。
所以,筆者提議,在本文的最后,我們一起向所有為中國數據庫行業發展做出貢獻的先驅與從業者們致敬。
這個世界,因為這些有理想與好奇心的人們,變得更好了。【責任編輯/楊雅倩】
(原標題:中國數據庫40年歷史:隱秘的江湖與恩怨)
來源:虎嗅網
IT時代網(關注微信公眾號ITtime2000,定時推送,互動有福利驚喜)所有原創文章版權所有,未經授權,轉載必究。
創客100創投基金成立于2015年,直通硅谷,專注于TMT領域早期項目投資。LP均來自政府、互聯網IT、傳媒知名企業和個人。創客100創投基金對IT、通信、互聯網、IP等有著自己獨特眼光和豐富的資源。決策快、投資快是創客100基金最顯著的特點。
小何
小何
小何
小何