Oracle:開(kāi)放源代碼數(shù)據(jù)戰(zhàn)略的興起
然而,現(xiàn)在,這家內(nèi)部部署的RDBMS巨頭面臨著一個(gè)挑戰(zhàn),那就是云計(jì)算。據(jù)Gartner表示,Oracle在云計(jì)算基礎(chǔ)架構(gòu)市場(chǎng)上只占了非常小的一部分——0.3%。但是,盡管這個(gè)微不足道的小小數(shù)字還無(wú)法顯示云計(jì)算對(duì)Oracle數(shù)據(jù)庫(kù)業(yè)務(wù)造成的影響,還有其他值得考慮的因素:開(kāi)發(fā)人員要做的第一個(gè)決定就是他們要使用哪種云計(jì)算平臺(tái)。
然后開(kāi)發(fā)人員會(huì)選擇使用云平臺(tái)提供的數(shù)據(jù)庫(kù)選項(xiàng)。在開(kāi)發(fā)人員真正使用的公共云平臺(tái)上——AWS、微軟Azure和谷歌云(Google Cloud)——Oracle的數(shù)據(jù)庫(kù)價(jià)格過(guò)高,Oracle的這種做法將其數(shù)據(jù)庫(kù)的未來(lái)同其正在沉沒(méi)的云計(jì)算巨輪綁在了一起。Oracle這種戰(zhàn)略短視讓誰(shuí)獲得了好處?開(kāi)放源代碼數(shù)據(jù)庫(kù)。
打開(kāi)數(shù)據(jù)庫(kù)
是的,開(kāi)放源代碼數(shù)據(jù)庫(kù)。盡管像MySQL、PostgreSQL、MongoDB和Apache Cassandra這樣的數(shù)據(jù)庫(kù)在Web開(kāi)發(fā)人員方面已經(jīng)長(zhǎng)期得分,但歷史上它們從來(lái)沒(méi)有能夠同Oracle的核心數(shù)據(jù)庫(kù)進(jìn)行競(jìng)爭(zhēng)。
但那只是當(dāng)時(shí)的情況。根據(jù)最近的Gartner分析,開(kāi)放源代碼數(shù)據(jù)庫(kù)現(xiàn)在占全球數(shù)據(jù)庫(kù)市場(chǎng)(合26億美元)的7.6%,價(jià)值340億美元。如果這看起來(lái)不算多,那么想想看,在過(guò)去兩年中,開(kāi)源數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)市場(chǎng)的平均增長(zhǎng)率為75%,而整個(gè)市場(chǎng)的增長(zhǎng)率僅為7.7%。
增長(zhǎng)來(lái)自哪里?部分原因是它反映了開(kāi)發(fā)人員使用現(xiàn)代數(shù)據(jù)庫(kù)運(yùn)行新應(yīng)用程序的愿望。特別是AWS已經(jīng)讓這些決定變得更容易了,它采用了許多最流行的開(kāi)放源代碼數(shù)據(jù)庫(kù)并將它們轉(zhuǎn)化為服務(wù),消除了管理它們的復(fù)雜性。因此,按照DB-Engines根據(jù)多個(gè)因素對(duì)數(shù)據(jù)庫(kù)受歡迎程度的排名,現(xiàn)在世界上最流行的數(shù)據(jù)庫(kù)中有一半都是開(kāi)放源代碼的。
把鏡頭拉遠(yuǎn)一點(diǎn),你就會(huì)看到排在第15位的MariaDB,這是MySQL的一個(gè)分支。再拉遠(yuǎn)一點(diǎn),你會(huì)看到很多其他的開(kāi)放源代碼數(shù)據(jù)庫(kù),特別是那些已經(jīng)被AWS變成云服務(wù)的數(shù)據(jù)庫(kù),在流行排名表上的位次正在大幅度上升。
如同前面所說(shuō),開(kāi)發(fā)人員在數(shù)據(jù)庫(kù)方面越來(lái)越多地轉(zhuǎn)向云計(jì)算,推動(dòng)大量來(lái)自亞馬遜、微軟和谷歌的數(shù)據(jù)庫(kù)服務(wù)在DB-Engines榜單上排名的提升。對(duì)于那些希望在云或他們數(shù)據(jù)中心中運(yùn)行數(shù)據(jù)庫(kù)的用戶(hù),主要是在PostgreSQL和MongoDB之間進(jìn)行選擇。
對(duì)于那些想要堅(jiān)守關(guān)系型數(shù)據(jù)庫(kù)但是又想避免Oracle的高成本和復(fù)雜性的開(kāi)發(fā)人員來(lái)說(shuō),前者是他們的首選。MariaDB也越來(lái)越成為這一群體的選擇。而MySQL自從被Oracle收購(gòu)之后,在過(guò)去幾年中則有些失寵。
而如果一位開(kāi)發(fā)人員要重構(gòu)他的應(yīng)用程序,并且需要顯著提高開(kāi)發(fā)人員生產(chǎn)效率或者需要MongoDB文檔數(shù)據(jù)庫(kù)提供的橫向擴(kuò)展體系結(jié)構(gòu)時(shí),另一個(gè)選項(xiàng)——MongoDB就會(huì)是很好的選擇。無(wú)論是兩者中的哪一個(gè),都是開(kāi)放源代碼的,而且不是Oracle。
對(duì)于那些Oracle的忠實(shí)粉絲來(lái)說(shuō),相信開(kāi)放源代碼的沖擊沒(méi)有對(duì)這家數(shù)據(jù)庫(kù)巨頭產(chǎn)生任何影響是非常令人欣慰的。但是這種想法也可能是錯(cuò)誤的。在同Gartner分析師Merv Adrian的對(duì)話(huà)中,他指出Oracle從2013年起一直在丟失市場(chǎng)份額。作為一個(gè)整體,排名最靠前的五大數(shù)據(jù)庫(kù)供應(yīng)商“俱樂(lè)部”總體占據(jù)的市場(chǎng)份額自2011年以來(lái),從91%下降到了86.9%。
雖然開(kāi)放源代碼數(shù)據(jù)庫(kù)無(wú)法得到這張幻燈片上所有的功勞,亞馬遜DynamoDB或者微軟CosmosDB之類(lèi)的私有云數(shù)據(jù)庫(kù)也在發(fā)力,但是幾乎可以肯定開(kāi)放源代碼數(shù)據(jù)庫(kù)正在數(shù)十億美元的市場(chǎng)中縱橫。
但是這些美元的數(shù)字也不能說(shuō)明整個(gè)情況。
畢竟,Gartner是根據(jù)收入來(lái)衡量市場(chǎng)份額的。但是,開(kāi)放源代碼數(shù)據(jù)庫(kù)免費(fèi)使用的頻率比“付費(fèi)”使用的頻率更高。認(rèn)識(shí)到這一事實(shí),Gartner認(rèn)為“一個(gè)好的總體經(jīng)驗(yàn)法則是,付費(fèi)用戶(hù)只占實(shí)際用戶(hù)群的1%-5%”。換句話(huà)說(shuō),開(kāi)放源代碼數(shù)據(jù)庫(kù)可能為其供應(yīng)商賺取了26億美元,但是,它們消滅了更高數(shù)量級(jí)的用戶(hù)付費(fèi),如果不是它們,這些原本會(huì)是Oracle之類(lèi)的廠商的收入。
可是等等!對(duì)Oracle來(lái)說(shuō)情況則變得更糟。
讓開(kāi)發(fā)人員開(kāi)心
Oracle的最大風(fēng)險(xiǎn)并不是像MongoDB或PostgreSQL這樣的開(kāi)放源代碼數(shù)據(jù)庫(kù)。開(kāi)放源代碼軟件100%地節(jié)省了許可費(fèi)用,而且開(kāi)放源代碼數(shù)據(jù)庫(kù)也大大節(jié)省了硬件成本。如果全部擁抱開(kāi)放源代碼軟件的話(huà),企業(yè)可以通過(guò)從Oracle轉(zhuǎn)移到像MongoDB這樣的數(shù)據(jù)庫(kù)節(jié)省70%的成本(即使你考慮了遷移成本、重新培訓(xùn)數(shù)據(jù)庫(kù)管理員等成本在內(nèi))。在AWS平臺(tái)上,運(yùn)行Oracle的標(biāo)價(jià)(RDS)是每小時(shí)25.68美元。運(yùn)行PostgreSQL或MySQL(RDS)的價(jià)格是它的1/8到1/10。
盡管這些方面成本節(jié)省的幅度很大,可是開(kāi)發(fā)人員和DBA生產(chǎn)效率的成本差異甚至更大。
對(duì)于熟悉Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理員來(lái)說(shuō),他們平均可以管理多達(dá)25個(gè)數(shù)據(jù)庫(kù)服務(wù)器?墒怯捎谧詣(dòng)化的好處,同樣的DBA可以在亞馬遜RDS上管理數(shù)百萬(wàn)臺(tái)數(shù)據(jù)庫(kù)服務(wù)器?纯匆(guī)模吧。
在開(kāi)發(fā)人員方面,考慮到開(kāi)發(fā)人員是新的王者,正如Redmonk喜歡提醒我們的那樣,轉(zhuǎn)向開(kāi)放源代碼DBMS更多的是超級(jí)計(jì)費(fèi)開(kāi)發(fā)者,而不是圍繞許可證或硬件成本有任何緊縮計(jì)劃的開(kāi)發(fā)者。 MongoDB的產(chǎn)品營(yíng)銷(xiāo)總監(jiān)Mat Keep將這個(gè)問(wèn)題置于個(gè)人背景之下:
當(dāng)我加入MongoDB時(shí),大約5%的項(xiàng)目都是關(guān)系型遷移——現(xiàn)在有30%是公司希望轉(zhuǎn)型。成本可能是一個(gè)因素,但更多的時(shí)候是開(kāi)發(fā)速度和運(yùn)行規(guī)模。在從RDBMS切換之后,將MongoDB與云計(jì)算、微服務(wù)和敏捷/開(kāi)發(fā)工具結(jié)合在一起,將開(kāi)發(fā)人員的生產(chǎn)力提高3到5倍并不罕見(jiàn)。
即使在Oracle喜歡吹噓它提供的功能豐富的領(lǐng)域(如Oracle HA),現(xiàn)實(shí)情況是,“豐富性”實(shí)際上是數(shù)據(jù)庫(kù)本身的外部因素。Keep表示,你“必須在數(shù)據(jù)庫(kù)之外添加大量的東西,才能進(jìn)行復(fù)制、故障轉(zhuǎn)移,監(jiān)控等等。”當(dāng)然,這是Oracle,這些附加軟件中的每一個(gè)都是單獨(dú)銷(xiāo)售的,導(dǎo)致價(jià)格高昂,而且讓系統(tǒng)管理復(fù)雜。對(duì)于Oracle來(lái)說(shuō)更糟糕的是,開(kāi)發(fā)人員訪問(wèn)這些Oracle額外資源的唯一方法是在Oracle的云平臺(tái)上,而這個(gè)平臺(tái)基本上沒(méi)有人愿意使用。
這些附加工具也不是那種革命性的東西。在Oracle最新的財(cái)報(bào)電話(huà)會(huì)議上,該公司直言不諱地表示:“關(guān)于自動(dòng)數(shù)據(jù)庫(kù)令人吃驚的是,它是這個(gè)星球上唯一不需要人力來(lái)管理的數(shù)據(jù)庫(kù)。”
這種說(shuō)法100%是錯(cuò)誤的。在幕后,Oracle有大量的人員跑來(lái)跑去地忙碌,即使是AWS和其他云供應(yīng)商已經(jīng)在更大規(guī)模上提供了真正的自動(dòng)化數(shù)據(jù)庫(kù)。如果有的話(huà),Oracle是開(kāi)源數(shù)據(jù)庫(kù)的云版本的后盾。
但是,但是,但是……
當(dāng)然,Oracle的數(shù)據(jù)庫(kù)銷(xiāo)售還在產(chǎn)生巨量的現(xiàn)金也是有原因的:它有數(shù)十年建立數(shù)據(jù)庫(kù)的經(jīng)驗(yàn),而且做得非常好。然而,問(wèn)題在于,這些在十年前或者二十年前對(duì)Oracle有用的東西在現(xiàn)在看起來(lái)已經(jīng)變得越來(lái)越不理想。它諸如規(guī);軜(gòu)之類(lèi)的優(yōu)勢(shì)現(xiàn)在看來(lái)只是過(guò)去時(shí)代的遺跡。
說(shuō)到最近將未來(lái)寄托在Oracle上的大公司。Salesforce可能會(huì)出現(xiàn)在你的腦海之中,盡管關(guān)于它對(duì)自己的選擇不甚滿(mǎn)意的傳言已經(jīng)甚囂塵上。與此同時(shí),像Workday這樣的其他大型SaaS公司一直在構(gòu)建像MySQL這樣的開(kāi)放源代碼數(shù)據(jù)庫(kù),而且經(jīng)常在AWS或其他云上運(yùn)行它們。隨著企業(yè)轉(zhuǎn)向分布式計(jì)算,他們?cè)噲D將故障成本降至最低,例如將存儲(chǔ)和計(jì)算分開(kāi)。當(dāng)他們這樣做時(shí),Oracle根本不是一個(gè)考慮因素。
PostgreSQL和MariaDB之類(lèi)的開(kāi)源數(shù)據(jù)庫(kù)消除了Oracle數(shù)據(jù)庫(kù)固有的官僚主義。特別是PostgreSQL使得將存儲(chǔ)過(guò)程從Oracle遷移到PostgreSQL變得相對(duì)簡(jiǎn)單。
即使是像MongoDB這樣的非關(guān)系型數(shù)據(jù)庫(kù)也在減少堅(jiān)持使用Oracle的理由。Oracle讓開(kāi)發(fā)人員和數(shù)據(jù)庫(kù)管理員認(rèn)為關(guān)系數(shù)據(jù)建模的這些遺留問(wèn)題——如多記錄事務(wù)——是至關(guān)重要的。然而它們不是,越來(lái)越多的公司發(fā)現(xiàn)他們不需要“全脂的”Oracle數(shù)據(jù)庫(kù),可以使用低成本的關(guān)系型開(kāi)放源代碼數(shù)據(jù)庫(kù),或者他們發(fā)現(xiàn)自己根本不需要一個(gè)關(guān)系型數(shù)據(jù)庫(kù),并且可以在開(kāi)發(fā)人員生產(chǎn)力提升以及MongoDB等提供的NoSQL數(shù)據(jù)庫(kù)(具有ACID保證)的擴(kuò)展等方面受益。
這對(duì)于Oracle來(lái)說(shuō)意味著什么?鑒于遷移到其他數(shù)據(jù)庫(kù)涉及到的多少摩擦,Oracle數(shù)據(jù)庫(kù)應(yīng)該可以持續(xù)很長(zhǎng)時(shí)間,非常長(zhǎng)的一段時(shí)間。更有可能的事實(shí)是,我們將看到所有的增長(zhǎng)都轉(zhuǎn)向開(kāi)放源代碼數(shù)據(jù)庫(kù)和云數(shù)據(jù)庫(kù)(特別是那些既是開(kāi)放源代碼又是云的數(shù)據(jù)庫(kù))。同樣,估計(jì)甲骨文會(huì)繼續(xù)收購(gòu)SaaS公司,因?yàn)樗奈磥?lái)將更多地受到SaaS應(yīng)用程序的推動(dòng),而數(shù)據(jù)庫(kù)優(yōu)勢(shì)將變少。