書寫歷史的甲骨文--ORACLE公司傳奇

snowfeeling發表於2007-02-20

書寫歷史的甲骨文--ORACLE公司傳奇


ORACLE公司之起源

很難想象,ORACLE公司的這一段傳奇居然要從 IBM 公司開始。

[@more@]

書寫歷史的甲骨文--ORACLE公司傳奇


ORACLE公司之起源

很難想象,ORACLE公司的這一段傳奇居然要從 IBM 公司開始。

1970年的6月,IBM 公司的研究員埃德加·考特 (Edgar Frank Codd) 在 Communications of ACM 上發表了那篇著名的《大型共享資料庫資料的關係模型》(A Relational Model of Data for Large Shared Data Banks)的論文。這是資料庫發展史上的一個轉折。要知道,當時還是層次模型和網狀模型的資料庫產品在市場上佔主要位置。從這篇論文開始,拉開了關係型資料庫軟體革命的序幕。


雖然早在1970年就誕生了關係模型理論,但是市場上遲遲不見關係型資料庫管理軟體的推出。主要原因是很多反對者認為關係型資料庫速度太慢,比不上當時的層次式資料庫。值得好笑的是 IBM 雖然1973年就啟動了System R的專案來研究關係型資料庫的實際可行性,也沒有及時推出這樣的產品,因為當時IBM 的的 IMS (著名的層次型資料庫)市場不錯,如果推出關係型資料庫,牽涉到 IBM 很多人的自身利益。再者,IBM 龐大複雜的官僚機構處在決策上遠不那麼靈活。


1977年6月,Larry Ellison 與 Bob Miner 和 Ed Oates 在矽谷共同創辦了一家名為軟體開發實驗室(Software Development Laboratories,SDL)的計算機公司(ORACLE公司的前身)。那個時候,32歲的Larry Ellison,這個讀了三家大學都沒能畢業的輟學生,還只是一個普通的軟體工程師。公司創立之初,Miner是總裁,Oates為副總裁,而 Ellison,因為一個合同的事情,還在另一家公司上班。沒多久,第一位員工Bruce Scott(用過ORACLE資料庫軟體的人都知道有個Scott使用者的吧?沒錯,就是這個Scott,至於Scott使用者的密碼Tiger,那是 Scott養的貓的名字)加盟進來,在Miner和Oates有些厭倦了那種合同式的開發工作後,他們決定開發通用軟體,不過們還不知道自己能開發出來什麼樣的產品。Oates最先看到了埃德加·考特的那篇著名的論文連同其他幾篇相關的文章並推薦Ellison和Miner也閱讀一下。Ellison和 Miner預見到資料庫軟體的巨大潛力(跟著 IBM 走,沒錯),於是,SDL開始策劃構建可商用的關係型資料庫管理系統( RDBMS )。


圖1 左起 Ed Oates、Bruce Scott、Bob Miner、Larry Ellison

很快他們就弄出來一個不太像樣的產品,或者具體的說,更像一個Demo。根據 Ellison 和 Miner 他們在前一家公司從事的一個由中央情報局投資的專案程式碼, 他們把這個產品命名為 ORACLE。因為他們相信,ORACLE(字典裡的解釋有“神諭, 預言”之意)是一切智慧的源泉。1979年,SDL 更名為關係軟體有限公司(Relational Software,Inc.,
圖2 美國 Oracle 公司總部一瞥




發展與壯大


RSI在1979年的夏季釋出了可用於
圖3 Bruce Scott 現在是PointBase公司的創辦者之一
ORACLE最先將其軟體移植到
圖4 桀驁不馴的Larry Ellison

經受挫折


ORACLE第6版於1988年釋出。由於過去的版本在效能上屢受詬病,Miner帶領著工程師對資料庫核心進行了重新的改寫。引入了行級鎖(row-level locking)這個重要的特性,也就是說,執行寫入的事務處理只鎖定受影響的行,而不是整個表。這個版本引入了還算不上完善的PL/SQL(Procedural Language extension to SQL)語言。第6版還引入了聯機熱備份功能,使資料庫能夠在使用過程中建立聯機的備份,這極大地增強了可用性。同時在這一年,ORACLE開始研發ERP軟體。

公司發展看上去比較順利,不過,噩夢才剛剛開始。

由於過去對軟體測試重視的程度不夠--那個時候公司規模小,基本上都是客戶幫助免費測試的。在第六版剛釋出之後,很多迫不及待開始使用的使用者就怨聲載道。這是個根本就沒有測試好就進行釋出的產品(也怪Ellison,大話總要說在前頭,只好自嘗苦果)。使用者開始對ORACLE大肆抨擊,ORACLE的一些對手也開始落井下石,針對ORACLE產品的一些弱點進行攻擊。開發人員一面應付憤怒的使用者,一面加班加點地對程式進行接連不斷的修正,最後,總算得到了一個比較穩定的版本,暫時平息了使用者的憤怒。

但是,實際的問題並不在這裡,幾年來高速增長的同時也給公司帶來了巨大的隱患,1990財年第三季度報表的公佈引爆了一切。財務人員發現了1500萬美元的壞帳,並且公司利潤距離預期相差甚遠。接下來的時間裡,大公司病的諸般症狀接踵而來,面對股東的指控,股票一落千丈,公司前景暗淡,甚至面臨破產。一度靠貸款來維持自己的奢華生活也不變賣股票的Ellison也快撐不住了。公司下大力氣整頓財務(財務主管傑夫·沃克從某種程度上解救了公司)。公司宣佈削減開支,裁退大量銷售人員,同時聘用了專門的管理人才。

噩夢延續到 ORACLE第七版的推出而結束。這個公司已經空談了好幾年的新版本(一度被譏諷為不過是Ellison的故計重施而已),直到1992年6月才終於閃亮登場,這一次公司吸取了第六版匆忙上市的教訓,聽取了使用者的多方面的建議,並集中力量對新版本進行了大量而細緻的測試。該版本增加了許多新的效能特性:分散式事務處理功能、增強的管理功能、用於應用程式開發的新工具以及安全性方法。ORACLE7還包含了一些新功能,如儲存過程、觸發過程和說明性引用完整性等,並使得資料庫真正的具有可程式設計能力。還有一點必需要說明的是,這個版本在原有的基於規則的最佳化器(RBO)之外引入一種新的最佳化器:基於開銷的最佳化器(Cost-Based Optimizer , CBO)。CBO根據資料庫自身對物件的統計來計算語句的執行開銷,從而得出具體的語句執行計劃。在以後的幾個重大版本中,ORACLE的工程師們逐步對這個最佳化器進行改進,CBO逐漸取代了RBO。

ORACLE 第七版是ORACLE真正出色的產品,取得了巨大的成功。這個版本的出現真是好時機,當時Sybase公司的資料庫已經佔據了不少份額,ORACLE藉助這一版本的成功,一具擊退了咄咄逼人的Sybase。公司的銷售人員這次算到了給使用者兌現空頭許諾的時候。公司經過兩三年的治理,終於擺脫了種種麻煩,重新開始健康發展,銷售額也從92年的15億美元變為四年後的42億美元。

跨上巔峰


“攪渾水”是Ellison的一項絕技。在1995年巴黎舉行的歐洲資訊科技論壇會議上,Ellison在即興演講中介紹了網路計算機(Network Computer,NC)的概念,所謂NC指的是配置簡單卻能充分利用網路資源的低價電腦,最為重要的是,它不需要作業系統,或者更準確的說,不需要微軟的作業系統。Ellison希望藉此來抵制微軟的強勢。很快,ORACLE聯合IBM、Sun、 Apple和Netscape在1996年制定了網路計算機的標準,但事實上人們從頭到尾沒有看到一臺真正的NC生產出來。這次的演講在業界引起了軒然大波,透過這個事件,ORACLE公司吸引了足夠多的注意力,同時也讓人們看到ORACLE公司對於網路的巨大信心。

1997年6月,ORACLE第八版釋出。ORACLE8支援物件導向的開發及新的多媒體應用,這個版本也為支援Internet、網路計算等奠定了基礎。同時這一版本開始具有同時處理大量使用者和海量資料的特性。這個版本也算可圈可點了。

1998年9月,ORACLE公司正式釋出ORACLE 8i。“i”代表Internet,這一版本中新增了大量為支援Internet而設計的特性。這一版本為資料庫使用者提供了全方位的Java支援。ORACLE 8i成為第一個完全整合了本地Java執行時環境的資料庫,用Java就可以編寫ORACLE的儲存過程。對,Java,只要是能夠打擊微軟的武器, ORACLE都要派上用場。ORACLE8i 新增了SQLJ(一種開放式標準,用於將SQL資料庫語句嵌入客戶機或伺服器Java程式碼)和ORACLE interMedia(用於管理多媒體內容)以及XML等特性。同時,ORACLE 8i 極大程度上提高了伸縮性、擴充套件性和可用性以滿足網路應用需要。接下來的幾年中,ORACLE陸續釋出了8i的幾個版本,並逐漸新增了一些面向網路應用的新特性。面對開源運動的蓬勃發展,ORACLE自然不甘落後,1998年十月ORACLE釋出了可用於Linux平臺的ORACLE 8 以及ORACLE Application Server 4.0,隨後不久,ORACLE又釋出了ORACLE 8i for Linux。在 .com大潮中,ORACLE是站在風口浪尖的弄潮兒.

在2001年6月的ORACLE OpenWorld大會中,ORACLE釋出了ORACLE 9i。在ORACLE 9i的諸多新特性中,最重要的就是Real Application Clusters(RAC)了。說起ORACLE叢集伺服器,早在第五版的時候,ORACLE就開始開發ORACLE並行伺服器(ORACLE Parallel Server ,OPS),並在以後的版本中逐漸的完善了其功能,不過,嚴格來說,儘管OPS算得上是個叢集環境,但是並沒有體現出叢集技術應有的優點。在完全吸收了 Rdb(ORACLE在1994年收購了Compaq公司的Rdb資料庫,此前Rdb屬於DEC公司,DEC公司在VAX上實現了第一個可以商用的Rdb叢集資料庫)的一些技術優勢之後,ORACLE終於推出了真正的應用叢集軟體。RAC使得多個叢集計算機能夠共享對某個單一資料庫的訪問,以獲得更高的可伸縮性、可用性和經濟性。ORACLE 9i的RAC在TPC-C的基準測試中打破了數項記錄,一時間業內矚目。這個新的資料庫還包含整合的商務智慧(BI)功能。ORACLE 9i第2版還做出了很多重要的改進,使ORACLE資料庫成為一個本地的XML資料庫;此外還包括自動管理、Data Guard等高可用方面的特性。

歷史還在繼續

2003年9月8日,舊金山舉辦的ORACLE World大會上,Ellison宣佈下一代資料庫產品為“ORACLE 10g”。ORACLE應用伺服器10g(ORACLE Application Server 10g)也將作為甲骨文公司下一代應用基礎架構軟體整合套件。“g”代表“grid ,網格”。這一版的最大的特性就是加入了網格計算的功能。何謂網格計算?網格計算可以把分佈在世界各地的計算機連線在一起,並且將各地的計算機資源透過高速的網際網路組成充分共享的資源整合。透過合理排程,不同的計算環境被綜合利用並共享。ORACLE宣稱10g可以作為網格計算的基礎,矛頭直指最大的敵人IBM的“隨需應變”!看來,ORACLE公司已經把這一次的“賭注”押在了網格計算的大市場上。但前景如何?讓我們拭目以待。

如果說,IBM是IT 產業中的一頭巨鯨,那麼ORACLE一定就是一條大鯊魚:咄咄逼人,善於進攻。就在2003年6月初,ORACLE突然宣佈51億美金收購仁科(PeopleSoft),業內再次震動。此舉又一次露出ORACLE 一貫善於進攻的本性。要知道,ORACLE在發展過程中很少對企業進行收購的,那麼收購仁科目的何在?首先,ORACLE覬覦企業應用軟體市場已久,但苦於不能進一步擴大市場分額,尤為重要的是,一旦成功,可以直接對最大的敵人IBM進行打擊,還可以阻擊SAP等巨頭的強勢。時至今日,ORACLE依然以不達目的不罷休的態勢和仁科纏鬥,結果如何,讓我們拭目以待。
"人生最大的快樂是擊敗敵人",Ellison一定很喜歡這句話。

後記:2004年12月13日,Oracle 公司宣佈簽訂了以每股26.50美元、總計約 103 億美元的代價收購 仁科(PeopleSoft) 的最終協議。歷時十八個月的爭鬥終於塵埃落定。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7343861/viewspace-900106/,如需轉載,請註明出處,否則將追究法律責任。

相關文章