第121章 iDB
1988年3月鳳凰軟件啟動了鳳凰電子表格的新版本計劃,袁明給這個版本起了一個名字叫SpeedSheets,簡化以後為“3S”。3S的負責人布裏克林和袁明討論了一個問題,那就是新版本需要一個內嵌的數據庫用於提高數據計算和查詢的性能,他希望采用Ingres這個開源的數據庫來內嵌入。
Ingres是比較早的數據庫係統,開始於加利福尼亞大學柏克萊分校的一個研究項目,該項目開始於70年代早期,在80年代早期結束。像柏克萊大學的其他研究項目一樣,它的代碼使用BSD許可證。從80年代中期,在Ingres基礎上產生了很多商業數據庫軟件,包括Sybase、MicrosoftSQLServer、NonStopSQL、Informix和許多其他的係統。在80年代中期啟動的後繼項目Postgres,產生了PostgreSQL、Illustra,無論從任何意義上來說,Ingres都是曆史上最有影響的計算機研究項目之一。
不過在這個事情上,袁明有更好的打算。他找到邁克爾·斯通布雷克博士,Ingres的創造者之一。
Ingres聲名大振以後,斯通布雷克博士在看到自己的研究被其他公司拿來開發出產品賺錢,而自己並未從中獲得多少好處,他對加利福尼亞大學柏克萊分校的做法頗有怨言。因此在1982年他離開了加利福尼亞大學柏克萊分校,創建了以Ingres命名的公司,希望能借助Ingres的名字打開銷路。
隻是他高估了自己經營企業的能力,他在技術和學術上的執著,並沒能幫助他獲得多少客戶。反而因為他過於自信,經營了幾年Ingres公司就陷於困境,不得不裁員壓縮成本。如果再拿不到一筆融資,他就不得不賣出公司或者關閉。而事實上,在袁明上輩子的曆史中,他在88年出售Ingres給了CA公司。
當袁明找到斯通布雷克博士時,他非常高興,他準備直接把公司賣給袁明。可是,袁明對他說:“我看重的其實不是你的公司!”
斯通布雷克博士驚訝的看著袁明,他不明白這個年輕的亞裔,不看重公司,還和他談什麽?
“其實我看重的是你在數據庫係統上的專業知識。”袁明繼續說道:“我希望買下Ingres公司後,你能繼續留在公司,我有一個新的計劃!”
斯通布雷克博士對此不置可否,他問袁明道:“不知道是什麽計劃?”
袁明笑著說:“我要開發一個新的數據庫,需要你的幫助!”接著,袁明描述了他希望的數據庫的大概形態。他把後世的著名數據庫的主要特性講了出來,比如安全性、數據庫管理、高級SQL語法、存儲引擎、搜索引擎、存儲過程、分布式數據塊、數據分區、數據備份、數據遷移等等。把斯通布雷克博士這個數據庫專家說得目瞪口呆!
斯通布雷克博士把袁明驚為天人,不但立即同意加入,還立刻著手開始改造Ingres,希望把袁明說的那些特性全部變成現實!他知道,如果可以實現這些功能,這個新的數據庫產品,將堅不可摧,成為世界上最強大的數據庫產品!而且沒有之一!
搞定了斯通布雷克博士之後,3月的一天他又來到了分欄,這次他不是來找托瓦茲的,而是來找另一個大牛蒙提。有時他也很感歎,分欄這個小國居然對後世的IT做了這麽大的影響,而華夏這麽大的一個國家竟然在IT核心係統上毫無建樹,也算是一種恥辱了吧?
19歲的蒙提從赫爾辛基理工大學中途輟學,因為大學已經沒有什麽東西可以教他了。1985年,蒙提與好友艾倫一起在瑞典創辦一間名叫TCXDataKonsultAB的數據倉庫公司。這個公司最初並不是為了開發數據庫產品,而是在實現他們想法的過程中,需要一個數據庫。他們希望能夠使用開源的產品。但在當時並沒有一個合適的選擇,沒辦法,那就自己開發吧。
在最初,他們隻是自己設計了一個利用索引順序存取數據的方法,也就是ISAM存儲引擎核心算法的前身,利用ISAM結合mSQL來實現他們的應用需求。在早期,他們主要是為瑞典的一些大型零售商提供數據倉庫服務。在係統使用過程中,隨著數據量越來越大,係統複雜度越來越高,ISAM和mSQL的組合逐漸不堪重負。在分析性能瓶頸之後,他們發現問題出在mSQL上麵。不得已,他們拋棄了mSQL,重新開發了一套功能類似的數據存儲引擎,這就是ISAM存儲引擎。
蒙提是一位編程天才,為開發ISAM存儲引擎,他獨自一人寫完除了一個庫以外的全部代碼!雖然他很勤奮,隻是當時瑞典的市場很小,3年來他的公司業務隻能算勉強糊口。由於他主要負責開發,為了節省成本,他通常都在赫爾辛基的家中工作,和他一起的還有幾個剛從赫爾辛基大學計算機係畢業的小夥子。
今天和往常一樣他正在暴批那幾個看上去呆萌呆萌的程序員,突然聽到門鈴聲,不久後他的妻子領進來一個亞裔的青年,說是要找他。
“你好維德紐斯先生,我叫周昌,來自米國資加哥!”袁明笑著開口自我介紹。蒙提是烏爾夫·米卡埃爾·維德紐斯的昵稱,初次見麵當然要客氣一些,不可能直接上來自來熟的叫人家的昵稱吧?
蒙提疑惑和袁明握了手,請袁明坐下後,問道:“周先生,請問你今天來,有什麽事情嗎?”
袁明心想,果然是技術男,上來就直接開門見山,不過我喜歡!他笑著說道:“維德紐斯先生,我這次來是想和你談一談收購你的公司的計劃。”
蒙提麵色一冷,站了起來,淡淡的說道:“很抱歉,我隻是個開發,公司的事情你找錯人了!”說著就要送客。
袁明連忙道:“這樣,我知道你是TCX的創始人,我也知道你們正在經營困難,所以想幫助你們!”
蒙提還是冷冷的道:“我們經營的很好,不需要幫助,請你離開,我還有很多工作要做。”
袁明坐在那裏並不著急,笑著道:“我知道你們正在作什麽,一個存儲引擎對嗎?”
蒙提愣了一下,不過他開發ISAM存儲引擎的事情,並不算秘密,袁明知道也沒什麽,所以還是不為所動。
袁明接著說道:“我還知道,你們的存儲引擎,有著巨大的問題,當數據量上升到一定級別,性能就會變得不可忍受。”
蒙提呆住了,心中驚駭莫名!這個ISAM存儲引擎的巨大問題,隻有他知道,因為現在他們的客戶數據量還很小,這個問題從來沒有暴露過。而他也正在拚命研究算法,希望能在問題爆發前解決掉。可是,這個叫周昌的人,他是怎麽知道的?
袁明神秘的笑了笑,道:“其實,這個問題很好解決,你隻要換一個思路,把基於文件指針的查詢,變為基於主鍵的查詢就好了!”這在後世是常識性的特性,在當時除了甲骨文之外,可是沒有幾個人想到,主要還是實現的難度比較大,建立主索引需要很高的算法支持,而用文件就直接可以借助操作係統的支持。
蒙提腦子如同被炸開一樣,袁明說的方法他都知道,隻是從袁明嘴裏說出來,讓他特別的震驚!因為這說明ISAM存儲引擎的原理,已經被這個周昌所掌握了!這就好像魔術師的戲法被別人所破解一樣,那種被扒光、剝皮的感覺,讓他仿佛赤裸的站在袁明麵前!
蒙提指著袁明“你……你!”其他話已經說不出來了。袁明站起來,走到他身邊,拍拍他的肩膀,安慰了他幾句,真擔心他心髒或神經被嚇出問題來。
好容易安撫了蒙提的情緒,袁明說道:“我的計劃是建立一個新的數據庫!”接著他把給斯通布雷克博士說的那些數據庫特性,又原原本本的給蒙提說了一遍。蒙提也如同斯通布雷克博士一般被這樣大的計劃,激動的心潮澎湃!在原則上蒙提同意了袁明的收購計劃。
有了蒙提的意見,他朋友艾倫也沒有什麽別的想法,再說袁明給的價格也很酷,一千萬米刀!不過艾倫不準備加入新公司了,他拿到錢準備去享受新的生活,蒙提隻能祝福他。
之後Tgres公司合並,成立了一個新的明誠數據庫技術公司,簡稱MinDB。並於1988年11月隨著3S電子表格軟件一起發布,發布的第一個版本叫做MinDB1.0!同MinOS一樣MinDB,分為兩個版本,一個商業版MinDB,另一開源社區版,叫做“Mysql”!至此,甲骨文迎來了它在商業上和開源社區的最強大敵人!