一、自主搜索引擎Falcon蓄勢待發(fā)
與自己的旗艦數(shù)據(jù)庫產(chǎn)品具有相同名字的著名開源軟件公司MySQL AB(www.mysql.com/),正在數(shù)據(jù)庫存儲引擎方面面臨著逐漸獲得更多的選擇,因?yàn)樗呀?jīng)看到一個更強(qiáng)大的競爭對手正悄然向其逼近。
2005年,當(dāng)著名的數(shù)據(jù)庫巨人甲骨文收購了小小的芬蘭數(shù)據(jù)庫軟件制造商Innobase后,曾經(jīng)吸引了無數(shù)開源人士的關(guān)注,因?yàn)檎沁@家小公司在一直為開源數(shù)據(jù)庫MySQL提供著InnobaseDB存儲引擎。而由于MySQL在近年取得的迅速發(fā)展,已經(jīng)逐漸開始對甲骨文產(chǎn)生了一定威脅,考慮到兩者之間的競爭關(guān)系,人們沒有理由不產(chǎn)生這樣的疑問:開源公司MySQL是否能繼續(xù)以令自己滿意的條件來得到Innobase的授權(quán)呢?
盡管它還在努力去爭取這一點(diǎn),MySQL首席執(zhí)行官M(fèi)arten Mickos表示:甲骨文在InnoDB上做的非常不錯,他們還是和以前一樣修復(fù)漏洞和開發(fā)產(chǎn)品。但是,MySQL必須具有新的選擇。2006年年底甲骨文開始銷售自己的Linux,這一變化更是加速了MySQL尋求研發(fā)自主搜索引擎的步伐。
Mickos如此表示:對于那些可能不想使用InnoDB存儲引擎的用戶或者具有不同需求的用戶,MySQL將通過新增的存儲引擎插件來滿足它們。
2006年7月25日,Solid Information Technology公司宣布,其專門為MySQL量身定做的Beta版SolidDB Storage Engin正式對外發(fā)布。目前,SolidDB的關(guān)系數(shù)據(jù)庫產(chǎn)品已經(jīng)被全球超過300萬個關(guān)鍵任務(wù)系統(tǒng)所采用,SolidDB for MySQL開源數(shù)據(jù)庫系統(tǒng)能夠充分滿足高吞吐量、關(guān)鍵任務(wù)級應(yīng)用對系統(tǒng)性能和可擴(kuò)展性的要求。
除此之外,MySQL公司自己的Falcon計(jì)劃不久也將作為測試版發(fā)布。近日,MySQL又宣布新增了兩家存儲引擎合作伙伴:Nitro安全公司和Infobright公司。
就在幾天前,MySQL表示將在最近發(fā)布Falcon存儲引擎的Alpha測試版本(提供給開發(fā)人員的內(nèi)部測試版本)。對此Mickos表示:這表明了開源軟件系統(tǒng)具有自我治愈的能力,拿走一些東西,或者說有些東西有可能被拿走,開源社區(qū)和開源生態(tài)系統(tǒng)就會隨之創(chuàng)造相應(yīng)的其他候選者和替代者。
二、MySQL與開源社區(qū)親密合作
Falcon代碼的發(fā)布是MySQL向一個與以前不同的方向所邁出的一步。它證明了一點(diǎn):MySQL并不會終止與自由/開源軟件社區(qū)的親密關(guān)系。2006年,MySQL與微軟通過談判達(dá)成合作伙伴關(guān)系,MySQL數(shù)據(jù)庫將成為微軟的Visual Studio業(yè)界合作伙伴之一。另外,MySQL開始推遲針對Debian發(fā)布企業(yè)產(chǎn)品的二進(jìn)制版本。而在2005年,MySQL曾與SCO集團(tuán)達(dá)成協(xié)議,MySQL將支持SCO的Unix操作系統(tǒng)的某些版本——要知道,SCO所發(fā)起的針對IBM的專利訴訟有可能對全球軟件事業(yè)造成毀滅性的打擊。MySQL的所有這些動作,曾經(jīng)讓人們開始懷疑MySQL對開源社區(qū)的態(tài)度是否在發(fā)生變化。
Mickos把與SCO的合作簡化為只是市場和金錢的關(guān)系。他表示:“關(guān)于和SCO的合作,有一個簡單的理由使我不能談?wù)摷?xì)節(jié):協(xié)議條款中規(guī)定我不能這樣做。不過簡單的來說,是SCO來找到我們,并且想支付給我們報(bào)酬來讓我們支持它們的操作系統(tǒng)。我們認(rèn)為,對最終用戶來說,無論他們使用的是什么操作系統(tǒng),他們都有權(quán)力使用最好的數(shù)據(jù)庫產(chǎn)品,因此我們接受了這次合作。”
當(dāng)Mickos被問及為什么在2004年放棄了對相同的Unix操作系統(tǒng)的支持的時(shí)候,他表示:“這是因?yàn)槲覀儧]有在市場中看到足夠的需求。”Mickos進(jìn)一步表示:“我們也譴責(zé)SCO所發(fā)起的法律訴訟,但是我們也相信那一事件中的法官有兩個,一是法院,而是他們自己的消費(fèi)者。我們一直是一個‘醫(yī)生’的角色而非‘法官’。”
無疑,Mickos心中十分明白,他們所做的每一項(xiàng)決策都要經(jīng)過仔細(xì)的考慮和審查,都要考慮到MySQL公司多年來在自由/開源軟件領(lǐng)域所建立起來的聲譽(yù)。Mickos表示:他最不想做的事情就是把這種已經(jīng)建立起來的聲譽(yù)毀掉。
MySQL推出自主搜索引擎是其高瞻遠(yuǎn)矚的一種選擇,Mickos表示:為此他們已經(jīng)放棄了一些新的存儲引擎方面的合作。
三、視用戶接受程度決定何時(shí)支持GPL V3
最新版的通用公共授權(quán)GPL(General Public License) V3計(jì)劃在2007年3月份發(fā)布,當(dāng)被問及MySQL是否會對其支持的時(shí)候,Mickos表示;在即將發(fā)布的MySQL 5.0 和 MySQL 5.1中還將使用目前的GPL V2版本,暫時(shí)沒有向GPL V3版本遷移的傾向,因?yàn)檫@樣更能符合業(yè)界的要求。
從2006年開始,F(xiàn)SF(自由軟件基金會,F(xiàn)ree Software Foundation)開始著手GPL V3的草稿,但是新的授權(quán)協(xié)議遭到了大部分Linux內(nèi)核開發(fā)人員的抵制,他們比較看好目前的GPL V2版本。
MySQL對GPL V3采取了觀望態(tài)度,想要觀察開源社區(qū)對即將到來的開源許可的接受的態(tài)度。Mickos 表示:“直到我們清晰的了解GPL V3相對GPL V2的接受程度,我們才會對GPLv2在我們的許可中的參考感到很舒服。”
不過Mickosis也對未來充滿了美好愿景,他表示:“你可能也知道,我們一直在積極參與GPL V3的制定工作,從GPL V3在2006年1月被宣布起草開始就成為GPL V3委員會的一員,并為自由軟件基金會提意見。我們目睹了巨大的改進(jìn)并期望GPL V3流行”
新的一年已經(jīng)悄然開始,越來越多的軟件公司已經(jīng)從自由/開源軟件中得到了自己想要的名或利,它們將必須設(shè)計(jì)新的業(yè)務(wù)模型以應(yīng)對來自專有軟件廠商的挑戰(zhàn)。Mickos顯然更注重實(shí)效,而且比較擅長于和外界的合作。MySQL AB公司也因此成為目前使用最廣泛的開源數(shù)據(jù)庫——包括在微軟的操作系統(tǒng)Windows上也是如此。顯然,Mickos會想辦法讓MySQL坐穩(wěn)開源數(shù)據(jù)庫的頭把交椅。
小結(jié)
很顯然,MySQL的生命力和沖擊力已經(jīng)有所影響,但是,MySQL在面臨著Oracle的覬覦、PostgreSQL的緊追等問題下,無論在產(chǎn)品技術(shù)還是市場策略上都需要自出自己的路。
07開源數(shù)據(jù)庫技術(shù)趨勢展望
07開源數(shù)據(jù)庫技術(shù)趨勢展望
開源數(shù)據(jù)庫在2006年的應(yīng)用開發(fā)中取得了新的進(jìn)步,截至到2006年12月,據(jù)調(diào)查數(shù)據(jù)顯示,在開發(fā)項(xiàng)目中使用的數(shù)據(jù)庫軟件品牌分布以及企業(yè)內(nèi)部信息系統(tǒng)使用的數(shù)據(jù)庫分布調(diào)查中,開源MySQL都位居第三,緊隨位居前兩位的Oracle和微軟的SQL Server之后(如下圖)。
圖1:在開發(fā)項(xiàng)目中使用的數(shù)據(jù)庫軟件品牌分布調(diào)查結(jié)果圖
圖2:公司和企業(yè)內(nèi)部使用的數(shù)據(jù)庫軟件品牌分布調(diào)查結(jié)果圖
在2006年頻頻遭遇競爭性收購和收購?fù){的開源數(shù)據(jù)庫,在新的一年中其產(chǎn)品和技術(shù)或?qū)ⅹ?dú)善其身或?qū)⑼脐惓鲂拢覀儗⑹媚恳源?
縱然開源數(shù)據(jù)庫被一些人形容為數(shù)據(jù)庫領(lǐng)域的“小生境”,縱然面臨著來自主流商業(yè)數(shù)據(jù)庫廠商的競爭性收購,但開源數(shù)據(jù)庫各自的“頭銜”卻都很有氣勢。MySQL號稱“世界上最流行的開源數(shù)據(jù)庫”,PostgreSQL號稱“世界上最先進(jìn)的開源數(shù)據(jù)庫”,EnterpriseDB號稱“真正的企業(yè)級開源數(shù)據(jù)庫,并足以與Oracle相競爭”(EnterpriseDB Advanced Server 8.1已經(jīng)發(fā)布可用),如此等等。
即使把開源數(shù)據(jù)庫看作整個領(lǐng)域的小生境,其內(nèi)部的“生態(tài)變化”也足以豐富,各開源數(shù)據(jù)庫廠商或者被商業(yè)廠商收購(InnoDB和BerkeleyDB已經(jīng)被Oracle收購),或者在問世不久被合作伙伴收購(MaxDB),或者自己的部分核心技術(shù)被競爭對手收購(MySQL)……無論是開源數(shù)據(jù)庫領(lǐng)域的業(yè)界動態(tài)還是技術(shù)變革,都絲毫不比數(shù)據(jù)庫的大生境所遜色。
完善自我的MySQL
在2006年遭遇最為“慘重”的當(dāng)屬M(fèi)ySQL。
MySQL開源數(shù)據(jù)庫采用的是雙重授權(quán)策略,對于不愿公開自己源代碼的使用者,需要付費(fèi)使用MySQL, 而對于開放源代碼的使用者,可以基于GNU的公共許可協(xié)議GPL來使用。
MySQL數(shù)據(jù)庫并沒有屬于自己的用于負(fù)責(zé)數(shù)據(jù)的物理存儲和索引的存儲引擎 ,它普遍使用別的開源數(shù)據(jù)庫引擎做為自己的關(guān)鍵性存儲引擎。MySQL曾經(jīng)把InnoDB做為自己的事物型數(shù)據(jù)存儲引擎,把BerkeleyDB做為自己的嵌入式事物型存儲引擎。這兩種開源數(shù)據(jù)庫被Oracle收購之后(InnoDB在2005年10月份被收購,BerkeleyDB在2006年2月份被收購),MySQL在做了一些應(yīng)急措施及得到一些“幫助”之后(2006年2月,MySQL雇傭了嵌入式開源數(shù)據(jù)庫Firebird項(xiàng)目的關(guān)鍵人物Jim Starkey;2006年9月份,宣布去除掉對BerkeleyDB存儲引擎的支持;2006年7月25日,專門為MySQL量身定做的Beta版SolidDB Storage Engin正式對外發(fā)布)正在加緊研發(fā)自己的存儲引擎。
MySQL起初也沒有自己的存儲過程(Stored Procedure)語言,在當(dāng)時(shí)這是對習(xí)慣于企業(yè)級數(shù)據(jù)庫的程序員的最大限制。多語句SQL命令必須通過客戶方代碼來協(xié)調(diào),這種情形是借助于相當(dāng)健全的查詢語言和賦予客戶端鎖定和解鎖表的能力,這樣才允許的多語句運(yùn)行。 但在MySQL 5.0發(fā)布之后,MySQL宣稱已經(jīng)完全支持存儲過程。
但是MySQL目前沒有自己的存儲引擎。MySQL的存儲是以可插取的存儲引擎存在的,它采用不同的存儲引擎技術(shù)把數(shù)據(jù)存儲在文件或者內(nèi)存中。MySQL有多種存儲引擎:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。可以采用內(nèi)存存儲引擎存儲臨時(shí)數(shù)據(jù),采用事物存儲引擎來完成事物處理,等等。相比之下,其它的一些數(shù)據(jù)庫系統(tǒng)(包括大多數(shù)商業(yè)選擇)僅支持一種類型的數(shù)據(jù)存儲。對于用戶而言,這種選擇不同的存儲引擎來存儲和檢索數(shù)據(jù)的靈活性,是比較受歡迎的。然而,Oracle也正是看中了這一點(diǎn),才對MySQL發(fā)難。
研發(fā)自己的存儲引擎是MySQL在2007年亟需解決的任務(wù)。2006年年底,MySQL AB公司和NitroSecurity公司達(dá)成協(xié)議,雙方聯(lián)合研發(fā)一款基于NitroEDBTM高速關(guān)系數(shù)據(jù)庫技術(shù)的MySQL數(shù)據(jù)庫引擎。NitroSecurity技術(shù)使用獨(dú)特的索引技術(shù)、數(shù)據(jù)管理方法和查詢處理算法,該技術(shù)可以輕松處理大容量的數(shù)據(jù)庫操作,而未來的MySQL數(shù)據(jù)庫服務(wù)器版中將嵌入NitroSecurity的NirtroEDB數(shù)據(jù)庫存儲引擎,并且這種解決方案可以與舊版本的MySQL數(shù)據(jù)庫的應(yīng)用程序互相兼容。
而在2007年的開始,已經(jīng)有消息傳出針對批量Web服務(wù)器環(huán)境而設(shè)計(jì)的內(nèi)部測試版新MySQL存儲引擎已經(jīng)發(fā)布,以用于細(xì)化MySQL的存儲引擎的功能和性能。
2007年新的一年中,MySQL不僅要在存儲引擎上做出努力,還要在磁盤存儲、內(nèi)存損耗、集群技術(shù)以及其他的企業(yè)級性能和功能上有自己的突破。另外,面對時(shí)下的開源環(huán)境,MySQL也應(yīng)該仔細(xì)考慮自己的發(fā)行費(fèi)用方式的轉(zhuǎn)變、培訓(xùn)、關(guān)鍵性部署等非技術(shù)性問題。
仍需努力的PostgreSQL
2006年的6月份,PostgreSQL慶祝了自己的10歲生日(2006年12月,PostgreSQL 8.2正式版發(fā)布)。并且在2006年11月份被《Linux Journal》雜志的評為“2006年度開源數(shù)據(jù)庫編輯選擇獎”。
實(shí)際上,PostgreSQL一直在覬覦MySQL的“第一”位置,即使連從PostgreSQL派生出來的EnterpriseSQL也是“理直氣壯”。PostgreSQL是一種復(fù)雜的對象——關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(ORDBMS),它的特性豐富、復(fù)雜,其中的一些特性甚至連商業(yè)數(shù)據(jù)庫都不具備,其目標(biāo)是要做超大型的面向?qū)ο箨P(guān)系型數(shù)據(jù)庫系統(tǒng)。它支持SQL 89和SQL 92標(biāo)準(zhǔn)。
相對于MySQL,它支持事物處理,可以滿足一些商業(yè)領(lǐng)域的數(shù)據(jù)操作需求。但是因?yàn)镻ostgreSQL使用的進(jìn)程,與使用線程的MySQL相比,在不同線程之間的環(huán)境轉(zhuǎn)換和訪問公用的存儲區(qū)域顯然要比在不同的進(jìn)程之間要快得多,因此PostgreSQL的運(yùn)行速度明顯降低。對于一些需要復(fù)雜業(yè)務(wù)操作,而對性能要求不是過于苛刻,同時(shí)期望系統(tǒng)的設(shè)計(jì)富于擴(kuò)展性的用戶而言,可以采用PostgreSQL數(shù)據(jù)庫。相比于MySQL在2006年所遭受的打擊,PostgreSQL在過去的一年中除去一些Bug修復(fù)、產(chǎn)品發(fā)布和獲得Sun公司支持外,可謂風(fēng)平浪靜。
但在新的2007年中,PostgreSQL如果想步MySQL的后塵仍然需要努力。首先,在應(yīng)用平臺上,PostgreSQL是運(yùn)行在Cygwin模擬環(huán)境下,在Windows下運(yùn)行沒有MySQL穩(wěn)定(MySQL在WinNT/Win2000/WinXP下是一個服務(wù))。廣大的Windows環(huán)境陣地,應(yīng)該成為PostgreSQL不能失去的一塊陣地。在經(jīng)歷了更為徹底的測試之后,PostgreSQL的事務(wù)支持能力在開源數(shù)據(jù)庫中是值得稱贊的。
而對于開源數(shù)據(jù)庫產(chǎn)品在商業(yè)上的關(guān)鍵應(yīng)用,對于事務(wù)處理的支持是必不可少的。但是這并不能保證PostgreSQL就可以完全滿足商業(yè)性數(shù)據(jù)處理需求,因?yàn)镻ostgreSQL并不完全適應(yīng)24/7運(yùn)行,而要求人為地隔一段時(shí)間運(yùn)行一次VACUUM。所以,在新的一年中這方面加強(qiáng)自己的完善性。對于無事務(wù)的MyISAM表處理,MySQL采用表鎖定,一個長時(shí)間運(yùn)行的查詢很可能會長時(shí)間地阻礙對表的更新,而PostgreSQL不存在這樣的問題。
客觀而言,PostgreSQL的技術(shù)特性與商業(yè)應(yīng)用是比較接近的。PostgreSQL率先支持存儲過程,這就可以保證在不增加數(shù)據(jù)庫服務(wù)器負(fù)擔(dān)的前提下,對以一些嚴(yán)肅的商業(yè)邏輯進(jìn)行封裝,還可以利用數(shù)據(jù)庫服務(wù)器本身的內(nèi)在機(jī)制對存儲過程的執(zhí)行進(jìn)行優(yōu)化。
同時(shí),存儲過程的存在也避免了在網(wǎng)絡(luò)上大量的原始的SQL語句的傳輸。PostgreSQL支持視圖,對于視圖權(quán)限的合理使用可以提供行級別的權(quán)限,這是MySQL的權(quán)限系統(tǒng)所無法實(shí)現(xiàn)的。
另外,它還支持觸發(fā)器、約束、子查詢、R-trees可擴(kuò)展索引類型、UDF(用戶定義函數(shù))擴(kuò)展。以PostgreSQL的這些技術(shù)性能,似乎沒有理由去據(jù)MySQL之后,但是,MySQL的流行性和廣泛性使得其擁有更多的用戶群、更多的開發(fā)技術(shù)支持、更豐富的應(yīng)用考驗(yàn)、著更好的商業(yè)支持、更完善的技術(shù)文檔資料。拓展自己的應(yīng)用范圍,提高部署安裝數(shù)量,是PostgreSQL在新的一段時(shí)間內(nèi)的重中之重。
小結(jié)
MySQL與PostgreSQL基本上已經(jīng)成為開源數(shù)據(jù)庫的代表產(chǎn)品,其他的一些開源數(shù)據(jù)庫與這二者相比,在總體技術(shù)性能、應(yīng)用部署、下載量等方面都不太具有代表性。
但是,MySQL與PostgreSQL在向企業(yè)級商業(yè)數(shù)據(jù)庫產(chǎn)品前進(jìn)的戰(zhàn)略和路線,可以做為其他開源數(shù)據(jù)庫的前車之鑒。開源數(shù)據(jù)庫與主流專有商業(yè)數(shù)據(jù)庫的競爭關(guān)系是顯而易見的,但是隨著“開源模式”的趨于成熟和穩(wěn)定,以及對傳統(tǒng)專有商業(yè)軟件業(yè)的影響甚至顛覆,數(shù)據(jù)庫產(chǎn)品領(lǐng)域不再是“一家獨(dú)大”。用戶在以后的產(chǎn)品采購決策中,會更加青睞對開源數(shù)據(jù)庫的選擇。
但是,開源數(shù)據(jù)庫產(chǎn)品在自身技術(shù)特性和功能特性的提高和完善上需要尋找一個平衡點(diǎn),不要去過分地遵循專有商業(yè)數(shù)據(jù)庫的產(chǎn)品路線圖,而是要找出適合自身發(fā)展的技術(shù)、市場切入點(diǎn)。
盤點(diǎn)2006開源數(shù)據(jù)庫:面臨競爭和收購的選擇
盤點(diǎn)2006開源數(shù)據(jù)庫:面臨競爭和收購的選擇
年終歲末,又到盤點(diǎn)之時(shí),我們就一起來看一下在2006年一年之中,關(guān)于開源數(shù)據(jù)庫,發(fā)生了哪些事情。
擺在開源數(shù)據(jù)庫面前的“收購毒餌”近年來,數(shù)據(jù)庫領(lǐng)域的開源數(shù)據(jù)庫公司和產(chǎn)品常常面臨被收購的危險(xiǎn),更何況還有Oracle這個收購“狂人”在推波助瀾。繼2005年10月份Innobase公司及其開源數(shù)據(jù)庫InnoDB被Oracle收購之后,2006年2月份,位于美國加州的開源數(shù)據(jù)庫廠商Sleepcat公司及其旗下產(chǎn)品BerkeleyDB數(shù)據(jù)庫也被商業(yè)數(shù)據(jù)庫巨頭Oracle收購了。并在這之后,Oracle還試圖收購另一開源數(shù)據(jù)庫廠商MySQL——但是,MySQL的首席執(zhí)行官在2006年7月份的一次技術(shù)論壇上對此表示,希望“保持MySQL公司的獨(dú)立性”,從而拒絕了Oracle的“好意”。
從InnoDB和BerkeleyDB的技術(shù)特性上來看,Oracle最想收購的也許是MySQL。
InnoDB和BerkeleyDB技術(shù)在一段時(shí)間之內(nèi),曾是MySQL數(shù)據(jù)庫中的關(guān)鍵性技術(shù)。InnoDB采用GPL許可協(xié)議,被捆綁在MySQL數(shù)據(jù)庫中。MySQL曾經(jīng)普遍地使用InnoDB做為自己的事物型數(shù)據(jù)存儲引擎。而Sleepycat的Berkeley DB曾是MySQL的一個重要的嵌入式事物型存儲引擎——MySQL在最初并沒有屬于自己的用于負(fù)責(zé)數(shù)據(jù)的物理存儲和索引的存儲引擎。
InnoDB曾經(jīng)是MySQL 5中的一個核心部分。在被Oracle收購之后,MySQL出于自己的某些考慮,在2006年2月底宣布采用Firebird數(shù)據(jù)庫架構(gòu)來取代InnoDB——InnoDB是Firebird社區(qū)中討論得最熱烈的。但是,MySQL要把Firebird變成企業(yè)級的關(guān)系事務(wù)處理型的數(shù)據(jù)庫引擎,還需要付出很大的努力。而在2006年4月份,有分析人士認(rèn)為 MySQL會考慮把SolidDB做為自己的事物存儲引擎,以替代被Oracle收購的InnoDB。事隔3個月之后,2006年7月25日,Solid Information Technology公司宣布,其專門為MySQL量身定做的Beta版SolidDB Storage Engin正式對外發(fā)布。
從表面上看,對Sleepcat的收購可以拓展Oracle對嵌入式DBMS(Database Manage System,數(shù)據(jù)庫管理系統(tǒng))的支持。針對移動設(shè)備,Oracle已經(jīng)擁有了自己的Oracle Lite;而對于高性能分析和高速處理的內(nèi)存應(yīng)用程序,Oracle有TimesTen DBMS。被收購的Sleepcat旗下的Berkeley DB數(shù)據(jù)庫,可以給Oracle提供嵌入式應(yīng)用市場的需求。這樣也許可以確保Oracle在嵌入式數(shù)據(jù)庫領(lǐng)域,保持自己在商業(yè)數(shù)據(jù)庫領(lǐng)域的慣有地位。對于在商業(yè)市場上已經(jīng)存在了9年的Sleepcat,它已經(jīng)擁有了一批忠誠客戶擁躉。而Oracle對它的收購,其潛在的本意也許是看中Sleepcat的這個客戶基礎(chǔ)。
從另一方面來看,歸為Oracle門下,可以為Berkeley DB帶來更主流用戶市場的需求,并且可以通過Oracle的銷售力量和客戶支持組織為BerkeleyDB帶來更多的產(chǎn)品影響力。但事實(shí)上,這次收購并不暗示著Oracle計(jì)劃把TimesTen或Berkeley DB整合到Oracle 10g或Oracle Lite中。Berkeley DB并不使用SQL,也不支持PL/SQL。而Oracle的戰(zhàn)略是為不同層次的嵌入式DBMS應(yīng)用,提供合適的DBMS解決方案。Oracle旨在利用其已經(jīng)宣布出去的不同的接口和工具,促進(jìn)不同類型數(shù)據(jù)庫之間數(shù)據(jù)的流通。“替他人做嫁衣裳”的事情,Oracle不會去做的。
同樣在2006年2月份,Oracle對BerkeleyDB完成收購之后,MySQL并沒有“束手待斃”。MySQL隨后以很快的動作收購了基于Web應(yīng)用技術(shù)的Netfrastructure公司,并且把Netfrastructure的創(chuàng)始人Jim Starkey聘為MySQL的高級軟件架構(gòu)師。Starkey被認(rèn)為是關(guān)系型數(shù)據(jù)庫的先鋒,是InterBase數(shù)據(jù)庫(InterBase被認(rèn)為是第一款支持觸發(fā)器、事件警告、數(shù)組、多版本的數(shù)據(jù)庫)的創(chuàng)始人,他在嵌入式Firebird數(shù)據(jù)庫項(xiàng)目中扮演著關(guān)鍵性角色。Jim Starkey的加入,也許可以幫助MySQL抵御來自O(shè)racle的入侵。比較有趣的是,MySQL同時(shí)還雇傭了Starkey的妻子Ann Harrison做一些兼職性的工作。MySQL對Jim Starkey可謂是“負(fù)責(zé)到底”,解除了他的“后顧之憂”。
2006年9月份,隨著MySQL 5.1.12的發(fā)布,MySQL去除掉了對BerkeleyDB存儲引擎的支持。對此,有分析人士認(rèn)為這也許是與Oracle收購Sleepcat有關(guān)系,是對Oracle的一種變向的“反擊”。有人猜測MySQL下一個要拋棄的也許會是InnoDB。但MySQL官方對此表示:MySQL不會拋棄InnoDB,而對于BerkeleyDB的放棄完全是出于技術(shù)原因。而實(shí)際上,MySQL與InnoDB的“合作契約”在2006年就到期了。MySQL拋棄InnoDB與否,已經(jīng)無關(guān)緊要了。
發(fā)生在2006年初的這宗開源數(shù)據(jù)庫收購案,對于數(shù)據(jù)庫業(yè)界的而言,有人形容是一個有趣的2006年的開始。也許到2007年,還會有一些開源數(shù)據(jù)庫被納入Oracle的旗下。
不相伯仲
時(shí)常被收購陰影籠罩的MySQL在2006年年底又受了一次小小的“打擊”。在2006年11月期《Linux Journal》雜志的“2006年度開源數(shù)據(jù)庫編輯選擇獎”評選中,號稱“世界上最流行的開源數(shù)據(jù)庫”MySQL卻名落孫山,取而代之的卻是“世界上最先進(jìn)的開源數(shù)據(jù)庫”PostgreSQL。
但是,在2006年7月份,MySQL公司及其數(shù)據(jù)庫產(chǎn)品被Forrester調(diào)查研究公司提名為“開源領(lǐng)軍人物”。這是唯一的一家公司及其產(chǎn)品,同時(shí)在Forrester的兩份調(diào)查報(bào)告中被作為“領(lǐng)軍人物”提名(這兩份報(bào)告分別是《The Forrester Wave: Open Source Databases(2006年第二季度)》和《The Forrester Wave: Open Source Projects(2006年第二季度)》)。
拋開《Linux Journal》和Forrester的權(quán)威性不談,摒棄各位編輯和分析人士的好惡不論,一旦談?wù)撻_源數(shù)據(jù)庫領(lǐng)域的領(lǐng)軍人物,MySQL和PostgreSQL總是不相上下。
2006年的6月份,PostgreSQL慶祝了自己的10歲生日。并在當(dāng)月升級更新的Sun Solaris 10中,被全面支持——Sun在2005年11月份就最初宣布支持PostgreSQL,并且雇傭了PostgreSQL核心團(tuán)隊(duì)成員Josh Berkus,擔(dān)任Sun數(shù)據(jù)庫技術(shù)的PostgreSQL的領(lǐng)導(dǎo)人。之后,在同年8月份,以PostgreSQL為基礎(chǔ)的開源數(shù)據(jù)庫EnterpriseDB同樣獲得Sun選擇,以為Sun公司提供技術(shù)支持及相關(guān)的專業(yè)服務(wù)。
“陽光”照亮開源數(shù)據(jù)庫?
無論是主流商業(yè)數(shù)據(jù)庫巨頭對開源數(shù)據(jù)庫的覬覦,還是一些大型軟件廠商對開源數(shù)據(jù)庫的支持,都證明了開源數(shù)據(jù)庫已經(jīng)形成了一定的影響力。
目前的開源數(shù)據(jù)庫市場為3億美元,并且正在以大約8%的增長率持續(xù)快速的增長。按照這個速度,到2008年的市場份額大約為10億美元。與開源數(shù)據(jù)庫相關(guān)的需求和咨詢在2005年增長了50%,對于開源數(shù)據(jù)庫的推進(jìn)有很大作用和影響。在2006年,開源數(shù)據(jù)庫的關(guān)鍵性部署增長了大概20%。而在余下的2年中,更多的數(shù)據(jù)庫廠商將會被吸引,以在自己的產(chǎn)品中應(yīng)用或支持開源開源技術(shù)。
來看一下來自Gartner/IDC的一些分析和調(diào)查數(shù)據(jù):
到2008年,將有70%以上的IT組織使用開源數(shù)據(jù)庫。
到2008年,MySQL將會成為關(guān)鍵應(yīng)用的重要選擇。
被調(diào)查公司中的40%計(jì)劃用開源數(shù)據(jù)庫取代私有商業(yè)數(shù)據(jù)庫管理系統(tǒng)。
被調(diào)查公司中的49%的已經(jīng)在使用MySQL,17%計(jì)劃使用MySQL。
同時(shí),Gartner還把MySQL稱作開源市場內(nèi)最強(qiáng)大的“新生力量”——這個稱號也許有些言過其實(shí)。
開源數(shù)據(jù)庫和開源操作系統(tǒng)
同屬于開源領(lǐng)域的開源數(shù)據(jù)庫和開源操作系統(tǒng),雖然都戴著“開源”這頂“時(shí)尚的帽子”,但它們之間存在著很大的不同點(diǎn)。盡管有許多的開源數(shù)據(jù)庫被用戶廣泛地使用(例如MySQL),運(yùn)行在開源操作系統(tǒng)上(例如Linux),但是對于開源數(shù)據(jù)庫的開發(fā),并不如開源操作系統(tǒng)那樣先進(jìn)和高級。在開源社區(qū)中,有數(shù)以萬計(jì)的開發(fā)人員為開源操作系統(tǒng)(例如Linux)做貢獻(xiàn),貢獻(xiàn)源代碼。但是相比而言,在開源數(shù)據(jù)庫方面,卻顯得“人丁”不夠興旺。開源操作系統(tǒng)所擁有的開源社區(qū)的技術(shù)支持和深厚背景,是與開源數(shù)據(jù)庫最大的不同點(diǎn)。
對于開源數(shù)據(jù)庫而言,也許要用上大概10年的時(shí)間,才能夠達(dá)到滿足企業(yè)級核心系統(tǒng)在商務(wù)智能數(shù)據(jù)庫倉庫方面的需求。
諸如MySQL、PostgreSQL、EnterpriseSQL等的開源數(shù)據(jù)庫,與現(xiàn)有的諸如Oracel、IBM、微軟的主流商業(yè)數(shù)據(jù)庫產(chǎn)品相比,在高可用性、企業(yè)級的應(yīng)用、關(guān)鍵性應(yīng)用的層次上還有一定的差別。
雖然開源數(shù)據(jù)庫在2006年的關(guān)鍵性部署增長了約50%,但是其起點(diǎn)很低。開源數(shù)據(jù)庫更多的被應(yīng)用在小規(guī)模的項(xiàng)目中,例如Web應(yīng)用和服務(wù)器應(yīng)用。在Google、Yahoo!等公司里,雖然有MySQL的部署,但是很能發(fā)現(xiàn)MySQL被應(yīng)用在關(guān)鍵性的“苛刻”需求的領(lǐng)域中。對于關(guān)鍵性事務(wù)的處理,企業(yè)和用戶仍然會選擇有完備功能和完全支持服務(wù)的商業(yè)數(shù)據(jù)庫產(chǎn)品。開源數(shù)據(jù)庫的支持服務(wù)在一定程度上也許可以略勝一籌,但是,如果開源數(shù)據(jù)庫不斷加入、改進(jìn)、提升自己的產(chǎn)品性能,那它是否會成為那些主流商業(yè)數(shù)據(jù)庫的“原始版”產(chǎn)品?請不要忘記,“你自己在進(jìn)步的同時(shí),敵人也在進(jìn)步”。
Linux為運(yùn)行開源數(shù)據(jù)庫提供了一個可用平臺,并且許多公司已經(jīng)選擇在Linux上運(yùn)行開源數(shù)據(jù)庫。但是,Linux環(huán)境并不是真正的企業(yè)級應(yīng)用環(huán)境。在未來的3—4年里,Linux環(huán)境必須趨于成熟,以達(dá)到滿足大型機(jī)性能和企業(yè)級用戶的需求,即Linux在未來需要扮演如今Unix的角色。平臺的成熟,才能保證開源數(shù)據(jù)庫的成熟和關(guān)鍵性應(yīng)用。雖然Unix的使用增長率正在減緩,在五年之內(nèi),Unix的市場份額會可能會被Linux和Windows所侵占和控制。但是距離Unix的葬禮還有一段時(shí)間,或許需要10—20年的時(shí)間吧。
被競爭掉?被收購掉?
開源數(shù)據(jù)庫在自我增長的同時(shí),還要時(shí)刻提防類似Oracle、IBM、微軟這些商業(yè)數(shù)據(jù)庫巨頭的“小動作”。
顯而易見,Oracle一直對開源數(shù)據(jù)庫領(lǐng)域的廠商虎視眈眈,并且已經(jīng)有所斬獲。IBM和微軟對開源數(shù)據(jù)庫廠商也有各自的收購“戰(zhàn)略計(jì)劃”和“軍費(fèi)預(yù)算”。這些廠商真實(shí)的收購目的,其實(shí)是想以此收購開源數(shù)據(jù)庫的市場份額。微軟和IBM是否會步Oracel的后塵,或者投資于其它風(fēng)險(xiǎn)開源數(shù)據(jù)庫廠商,有待歷史勘查。對于這些主流商業(yè)數(shù)據(jù)庫廠商而言,開源數(shù)據(jù)庫公司對目前全球140億美元的DBMS市場份額(并正在以7%的增長率增長)的“竊取”,“討厭”成分大于“威脅”。
開源數(shù)據(jù)庫廠商還要面對來自這些主流廠商的競爭。事實(shí)上,這些巨頭廠商都已經(jīng)對自己的產(chǎn)品價(jià)格打了很低的折扣,并且還在適當(dāng)?shù)臅r(shí)候向用戶提供免費(fèi)的、集成了“縮小比例”的高級功能的數(shù)據(jù)庫產(chǎn)品。另外,這些主流廠商在不增加任何成本的前提下,在自己的產(chǎn)品中增加和支持了開源數(shù)據(jù)庫現(xiàn)在所擁有的技術(shù)。Oracle在花費(fèi)3百萬美元收購Innobase之后,在其基礎(chǔ)之上發(fā)布了Oracel Database 10g Express的免費(fèi)版本。而微軟也發(fā)布了“縮水版”的SQL Server Express。
不要以為這些巨頭廠商推出基于開源技術(shù)的數(shù)據(jù)庫產(chǎn)品,就表示他們愿意采用開源社區(qū)的原則和“教義”。也不要指望他們會提供免費(fèi)的企業(yè)版數(shù)據(jù)庫軟件。這些做法都只是暫時(shí)的,對于的這些巨頭廠商而言,最容易奏效的方法,就是以收購自己的競爭對手來作為保護(hù)自己的市場份額的一種方法。難道你認(rèn)為Sleepcat被收購之后,就會成為Oracel產(chǎn)品線上的一款開源數(shù)據(jù)庫產(chǎn)品嗎?被收購的公司一旦成為這些巨頭公司中的“光榮一分子”之后,他們各自身上的“鮮亮”特性將會隨之消失。
開源數(shù)據(jù)庫的角色轉(zhuǎn)換
開源數(shù)據(jù)庫的影響力是值得肯定的,但是開源數(shù)據(jù)庫產(chǎn)品終究是誕生于“開源人”之手。做為開源的狂熱者,這些開源數(shù)據(jù)庫的開發(fā)者在設(shè)計(jì)產(chǎn)品時(shí)始終是出于開發(fā)者的前提,而非專門針對產(chǎn)品用戶的需求,這也就決定了開源數(shù)據(jù)庫相對于大型商業(yè)數(shù)據(jù)庫的在功能上的欠缺。主流開源數(shù)據(jù)庫MySQL和PostgreSQL已經(jīng)分別存在了20年和10年,而它們的主流用戶卻仍然定位在中下企業(yè)級用戶。
開源數(shù)據(jù)庫的“開源”特點(diǎn)為其帶來的價(jià)格優(yōu)勢成就了開源數(shù)據(jù)庫的應(yīng)用和市場,但是也在一定程度上限制了其產(chǎn)品的商業(yè)化應(yīng)用。雖然IBM把自己的Cloudscape貢獻(xiàn)給開源社區(qū),公司官方論調(diào)稱是希望借助開源社區(qū)的開發(fā)者的人氣和群策群意的技術(shù)優(yōu)勢,但是,這只是表明了IBM對待開源,對待開源數(shù)據(jù)庫的一種態(tài)度,是IBM在開源行動中表現(xiàn)出來的一種姿態(tài)。Oracle在推廣自己的收購戰(zhàn)略的同時(shí),幾次三番的對開源數(shù)據(jù)庫“示愛”,其目的或許是通過收購來限制與自己存在競爭關(guān)系的開源數(shù)據(jù)庫在功能上完善和提高,特別是開源數(shù)據(jù)庫的多數(shù)據(jù)處理能力。微軟公司依靠SQL Server系列產(chǎn)品占據(jù)數(shù)據(jù)庫市場的第三位,SQL Server起初的定位就是中小企業(yè)級用戶,時(shí)隔五年,到2005年底微軟推出SQL Server 2005,旨在進(jìn)軍高端企業(yè)市場。在開源的熱潮中,微軟此舉明顯表示其仍然要固守商業(yè)數(shù)據(jù)庫市場。
開源數(shù)據(jù)庫是贏得了一些大客戶,但是分析人士指出:MySQL是在很長一段時(shí)間之內(nèi),通過很大的努力才爭取到這些大客戶的。
開源數(shù)據(jù)庫廠商和產(chǎn)品如何在市場中轉(zhuǎn)換自己的角色:是把開源角色轉(zhuǎn)換成商業(yè)角色?是仍然持續(xù)自己的開源角色?是扮演開源與商業(yè)的雙重角色?
開源數(shù)據(jù)庫的商業(yè)角色的扮演只能依靠技術(shù)支持和服務(wù),但是如果開源產(chǎn)品在完善自我功能以滿足高端客戶需求的同時(shí),其技術(shù)支持和服務(wù)也相應(yīng)提高了收費(fèi)標(biāo)準(zhǔn),這和用戶直接購買功能完善的商業(yè)數(shù)據(jù)庫還有什么區(qū)別?
至于開源角色的扮演,難道開源廠商想把自己的公司變成慈善機(jī)構(gòu)嗎?
商業(yè)與開源角色的混演,就要考慮到如何平衡二者的關(guān)系,如何應(yīng)對來自商業(yè)和開源雙方的壓力。
開源數(shù)據(jù)庫有潛在的市場和空間,但是開源數(shù)據(jù)庫需要考慮以什么樣的角色,選擇什么樣的策略才能在數(shù)據(jù)庫市場站穩(wěn)。誰最終能夠站穩(wěn),站穩(wěn)之后的高度是多少,空間又是多少,這些都是需要認(rèn)真思考的。