商用數(shù)據(jù)庫(kù)之死:Oracle 面臨困境
我們預(yù)計(jì)到 2021 年,年產(chǎn)值 296 億美元的商業(yè)數(shù)據(jù)庫(kù)市場(chǎng)會(huì)收縮 20% 至 30%,認(rèn)為 Oracle 無(wú)法讓收入來(lái)源足夠快地實(shí)現(xiàn)轉(zhuǎn)型(從傳統(tǒng)的商業(yè)數(shù)據(jù)庫(kù)轉(zhuǎn)向基于云的訂購(gòu)產(chǎn)品),以抵消這個(gè)市場(chǎng)下滑的頹勢(shì),這個(gè)市場(chǎng)是 Oracle 收入的一大傳統(tǒng)核心。
這二十年來(lái),商業(yè)數(shù)據(jù)庫(kù)市場(chǎng)仍然是 IT 行業(yè)最穩(wěn)定、最具黏性的領(lǐng)域之一,Oracle、IBM 和微軟三家廠商瓜分了 80% 的份額。然而,我們認(rèn)為這個(gè)領(lǐng)域衰退的速度和幅度可能會(huì)讓許多投資者大吃一驚。
已經(jīng)影響數(shù)據(jù)庫(kù)市場(chǎng)的通貨緊縮壓力剛剛開(kāi)始體現(xiàn),包括:
- 遷移到軟件即服務(wù)(SaaS),大多數(shù)產(chǎn)品使用免費(fèi)開(kāi)源數(shù)據(jù)庫(kù);
- 社交媒體、物聯(lián)網(wǎng)和非結(jié)構(gòu)化/半結(jié)構(gòu)化數(shù)據(jù)等使用場(chǎng)合迎來(lái)更快速的增長(zhǎng),這些使用場(chǎng)合不適合 SQL 標(biāo)準(zhǔn),而數(shù)據(jù)庫(kù)寡頭們恰恰有賴于這項(xiàng)標(biāo)準(zhǔn);
- 眾多的免費(fèi)開(kāi)放源代碼選項(xiàng)日益穩(wěn)定、功能日益強(qiáng)大,其中大多數(shù)選項(xiàng)是“Not Only SQL”(NoSQL),因此極其適合上述使用場(chǎng)合;以及
- 由于摩爾定律帶來(lái)了處理器、內(nèi)存、固態(tài)存儲(chǔ)和網(wǎng)絡(luò)吞吐量等方面的改進(jìn),NoSQL 數(shù)據(jù)庫(kù)繼續(xù)獲得異常顯著的好處――這些改進(jìn)提升了同時(shí)快速處理 NoSQL 使用場(chǎng)合和 SQL 使用場(chǎng)合的能力,并逐漸使純 SQL 數(shù)據(jù)庫(kù)淪為邊緣化,正如純 SQL 數(shù)據(jù)庫(kù)在 80 年代末和 90 年代使基于大型機(jī)的數(shù)據(jù)庫(kù)淪為邊緣化。)
來(lái)自數(shù)據(jù)庫(kù)軟件的收入占 Oracle 2016 財(cái)年總收入的約 36%,占其營(yíng)業(yè)利潤(rùn)的約 55%。
注意:數(shù)據(jù)庫(kù)軟件和內(nèi)部部署型應(yīng)用軟件包括許可證收入和維護(hù)收入。
該公司預(yù)計(jì)的數(shù)據(jù)庫(kù)收入下降是明擺著的,此外其內(nèi)部部署型應(yīng)用軟件的收入也在下降,這塊收入占 2016 財(cái)年總收入的約 25%,占營(yíng)業(yè)利潤(rùn)的約 39%。
微軟和 IBM 將只是略微受到傷害,因?yàn)閿?shù)據(jù)庫(kù)軟件只占每家廠商總收入的區(qū)區(qū)5% 左右。
如果不采取積極的行動(dòng)來(lái)大幅提高非數(shù)據(jù)庫(kù)收入,我們認(rèn)為 Oracle 無(wú)法足夠快地抵消商業(yè)數(shù)據(jù)庫(kù)收入即將下降的頹勢(shì),以保持其目前的市值。
具體來(lái)說(shuō),我們認(rèn)為 Oracle 需要實(shí)行更激進(jìn)、更快速的組織轉(zhuǎn)型和文化轉(zhuǎn)型,變成一家“云優(yōu)先”的企業(yè),激勵(lì)銷(xiāo)售隊(duì)伍和客戶向云積極邁進(jìn)。該公司還需要整合各種自家開(kāi)發(fā)和收購(gòu)而來(lái)的云/ SaaS 產(chǎn)品,整合到單個(gè)平臺(tái),以便將來(lái)獲得經(jīng)營(yíng)杠桿效應(yīng)。未來(lái)幾年,這些項(xiàng)目會(huì)在幾個(gè)方面帶來(lái)痛苦,尤其是財(cái)務(wù)方面。為了部分抵消痛苦,Oracle 應(yīng)該剝離剩余的硬件及其他非核心業(yè)務(wù)。
主題說(shuō)明
對(duì)于那些對(duì)技術(shù)深究更有興趣的人來(lái)說(shuō),下面從歷史的角度更深入地解釋了五個(gè)相互關(guān)聯(lián)的趨勢(shì),這些趨勢(shì)愈演愈烈,將共同導(dǎo)致商業(yè)數(shù)據(jù)庫(kù)市場(chǎng)到 2021 年收縮 20% 至 30%。
企業(yè)繼續(xù)遷移到 SaaS/云
除了幾款建立在 Oracle 數(shù)據(jù)庫(kù)基礎(chǔ)上的初期 SaaS 產(chǎn)品(即 Salesforce.com、NetSuite 和 Oracle 本身)外,很難找到使用任何商業(yè)數(shù)據(jù)庫(kù)的 SaaS 提供商。對(duì)于 2005 年以后創(chuàng)辦的公司而言,這個(gè)數(shù)字幾乎為零。
如今絕大多數(shù)的 SaaS 提供商使用開(kāi)源數(shù)據(jù)庫(kù),或者像 SaaS 人力資本管理(HCM)提供商 Workday 那樣,開(kāi)發(fā)自己的數(shù)據(jù)庫(kù)。許多用戶之前使用內(nèi)部部署型企業(yè)應(yīng)用軟件,包括五個(gè)核心客戶端/服務(wù)器應(yīng)用軟件類(lèi)別中的一個(gè):ERP(企業(yè)資源規(guī)劃)、CRM(客戶關(guān)系管理)、HCM(人力資本管理)、SCM(供應(yīng)鏈管理)和 BI(商業(yè)智能)應(yīng)用軟件,改用 SaaS 模式后,消除了商業(yè)數(shù)據(jù)庫(kù)席位(seat),因而消除了原本帶來(lái)的維護(hù)/支持收入和未來(lái)升級(jí)收入。連改用 Salesforce.com 的企業(yè)席位給 Oracle 創(chuàng)造的收入也將比當(dāng)初部署在企業(yè)內(nèi)部環(huán)境時(shí)少得多。
因此,我們認(rèn)為企業(yè)遷移到 SaaS/云對(duì)商業(yè)數(shù)據(jù)庫(kù)收入而言是非常不利的趨勢(shì)。此外,我們?nèi)蕴幵趶目蛻舳?服務(wù)器到 SaaS/云的早期階段。據(jù)不同的研究公司聲稱,這種遷移只完成了 10% 至 25%,只是剛剛開(kāi)始影響更重要的關(guān)鍵任務(wù)應(yīng)用軟件(比如 ERP),它們更有可能在更高端的 SQL 數(shù)據(jù)庫(kù)(包括 Oracle 和 IBM 的那些數(shù)據(jù)庫(kù)以及微軟的一小部分?jǐn)?shù)據(jù)庫(kù))上運(yùn)行。
商業(yè) SQL 數(shù)據(jù)庫(kù)不是很適合處理最有吸引力的新興使用場(chǎng)景
SQL 在 1987 年成為標(biāo)準(zhǔn)后,20 年來(lái)它在定義如何組織、搜索和排序數(shù)據(jù)方面的地位無(wú)可撼動(dòng)。然而,到 2000 年年中,各大科技公司在處理數(shù)據(jù)的絕對(duì)數(shù)量和不同結(jié)構(gòu)方面開(kāi)始遇到了 SQL 數(shù)據(jù)庫(kù)存在的限制,它們想按照需要來(lái)保留、瀏覽、分析數(shù)據(jù),并將數(shù)據(jù)提供給用戶/客戶。
亞馬遜、谷歌、LinkedIn 和 Facebook 各自通過(guò)開(kāi)發(fā)和實(shí)施自己的數(shù)據(jù)庫(kù)軟件――這種數(shù)據(jù)庫(kù)軟件打破了 SQL 標(biāo)準(zhǔn)的制約,解決了自己的擴(kuò)展問(wèn)題。
此外,不久后每家公司都發(fā)布了開(kāi)源版本的數(shù)據(jù)庫(kù)。因此,2008 年和 2009 年它們開(kāi)發(fā)出了眾多新的開(kāi)源數(shù)據(jù)庫(kù),導(dǎo)致了《下一代數(shù)據(jù)庫(kù)》的作者蓋伊·哈里遜(Guy Harrison)所說(shuō)的“某種寒武紀(jì)大爆炸”現(xiàn)象。由于紛紛遠(yuǎn)離 SQL,這些數(shù)據(jù)庫(kù)都屬于“NoSQL”這類(lèi)數(shù)據(jù)庫(kù)――盡管大多數(shù)數(shù)據(jù)庫(kù)彼此大不相同,就像它們跟 SQL 大不相同那樣。
鑒于數(shù)據(jù)的數(shù)量和種類(lèi)迅猛增長(zhǎng)――這歸因于更豐富的社交媒體內(nèi)容、更多的社交媒體用戶以及自動(dòng)獲取的物聯(lián)網(wǎng)數(shù)據(jù)激劇增多,另外鑒于企業(yè)日益渴望分析獲取的數(shù)據(jù),我們認(rèn)為,適合 NoSQL 的使用場(chǎng)合其數(shù)量很快就會(huì)遠(yuǎn)遠(yuǎn)超過(guò)適合 SQL 的使用場(chǎng)合。
這些新型使用場(chǎng)合的興起將推動(dòng)大企業(yè)更多地采用開(kāi)源 NoSQL 解決方案,結(jié)果商業(yè) SQL 數(shù)據(jù)庫(kù)成了犧牲品。
NoSQL 數(shù)據(jù)庫(kù)和讀時(shí)模式(Schema-on-Read)方法遵循摩爾定律
SQL 數(shù)據(jù)庫(kù)和寫(xiě)時(shí)模式(Schema-on-Write)未遵循摩爾定律。通常來(lái)說(shuō),NoSQL 數(shù)據(jù)庫(kù)所需的處理器、內(nèi)存和存儲(chǔ)資源比 SQL 數(shù)據(jù)庫(kù)密集得多,即使考慮到這一事實(shí):它們放松了 SQL 在數(shù)據(jù)組織方式方面的許多約束。雖然 NoSQL 數(shù)據(jù)庫(kù)架構(gòu)早在 2005 年就已經(jīng)存在――至少?gòu)睦碚撋蟻?lái)說(shuō)是這樣,但當(dāng)時(shí)根本沒(méi)有足夠的處理能力、內(nèi)存容量和存儲(chǔ)空間,好讓它們?cè)趯W(xué)術(shù)界之外的領(lǐng)域投入實(shí)際應(yīng)用。
在處理器/內(nèi)存/帶寬資源相對(duì)匱乏的 20 世紀(jì) 80 年代和 90 年代,遵守更加嚴(yán)格的 SQL 標(biāo)準(zhǔn)實(shí)際上是必須的,那樣才能確保企業(yè)將應(yīng)用軟件從大型機(jī)和小型計(jì)算機(jī)遷移到更加分布式、依賴網(wǎng)絡(luò)的客戶端/服務(wù)器架構(gòu)所需要的那種性能和可靠性,尤其是那些更重要的關(guān)鍵任務(wù)應(yīng)用軟件。
獲得 SQL 尚可接受的性能和可靠性需要付出代價(jià),這主要是由于:
- 名為模式的數(shù)據(jù)結(jié)構(gòu)整體上缺乏靈活性;
- 在部署數(shù)據(jù)庫(kù)及相關(guān)應(yīng)用程序之前定義該結(jié)構(gòu)帶來(lái)的繁重要求;
- 隨著時(shí)間的推移,很難改變?cè)摻Y(jié)構(gòu),以便獲取不同類(lèi)型的數(shù)據(jù),以便更好地體現(xiàn)數(shù)據(jù)結(jié)構(gòu)和企業(yè)組織方面的變化;以及
- 需要寫(xiě)時(shí)模式方法,即在輸入數(shù)據(jù)時(shí)讓數(shù)據(jù)適合模式,而不是讀時(shí)模式,只是將數(shù)據(jù)倒到一只大大的“容器”中,之后將它組織到模式中。
然而,隨著時(shí)間的推移,摩爾定律促使處理能力、內(nèi)存容量及速度、存儲(chǔ)容量及速度以及網(wǎng)絡(luò)吞吐量都得到了提升,這使得用戶越來(lái)越不需要僵硬的 SQL 標(biāo)準(zhǔn)和寫(xiě)時(shí)模式方法,這股勢(shì)頭只會(huì)延續(xù)下去。因此,伴隨著每個(gè)摩爾定律周期,SQL 及其節(jié)省資源的寫(xiě)時(shí)模式方法越來(lái)越失去競(jìng)爭(zhēng)優(yōu)勢(shì),而 NoSQL 及其資源相對(duì)低效,但極其靈活的讀時(shí)模式方法變得日益擺脫當(dāng)初阻礙它得到采用的約束。
內(nèi)存技術(shù)(In-Memory)帶來(lái)了大好前景,消除了傳統(tǒng)硬盤(pán)的缺點(diǎn)
SQL 成為標(biāo)準(zhǔn)化時(shí),傳統(tǒng)硬盤(pán)(HDD)是可以實(shí)時(shí)訪問(wèn)的唯一具有成本效益的存儲(chǔ)介質(zhì)。因此,寫(xiě)入到 SQL 數(shù)據(jù)庫(kù)軟件的許多基本代碼旨在忍受 HDD 的缺點(diǎn),比如讀取請(qǐng)求的數(shù)據(jù)并將數(shù)據(jù)傳輸?shù)絻?nèi)存中速度很慢,故障率比較高――至少,與系統(tǒng)的主要固態(tài)部件(比如 CPU、內(nèi)存和網(wǎng)絡(luò)吞吐量)相比是這樣。現(xiàn)在由于固態(tài)硬盤(pán)(SSD)正迅速成為一種具有成本效益的 HDD 替代品,傳統(tǒng) SQL 數(shù)據(jù)庫(kù)軟件的設(shè)計(jì)、當(dāng)然還有大部分代碼現(xiàn)在毫無(wú)必要了――而當(dāng)初做出這樣的妥協(xié),是為了適應(yīng)速度慢得多的 HDD。
相比之下,開(kāi)發(fā)的許多 NoSQL 數(shù)據(jù)庫(kù)是為了最大限度地利用 SSD 存儲(chǔ)介質(zhì),這些數(shù)據(jù)庫(kù)可能會(huì)得到更新,以便充分利用更新穎的非易失性內(nèi)存技術(shù),比如英特爾/美光聯(lián)合開(kāi)發(fā)的 3D xPoint,這種內(nèi)存正在推向市場(chǎng)。我們認(rèn)為,鑒于繼續(xù)遵守 SQL 標(biāo)準(zhǔn)、保持自己的向后兼容性方面有著強(qiáng)烈的需求,SQL 數(shù)據(jù)庫(kù)廠商無(wú)法像許多開(kāi)源項(xiàng)目那樣迅速針對(duì) SSD 優(yōu)化其代碼,這讓它們進(jìn)一步處于競(jìng)爭(zhēng)劣勢(shì)――這是克萊頓·克里斯滕森(Clayton Christensen)所說(shuō)的“創(chuàng)新者的困境”的一個(gè)典型例子。
市面上 “SQLMethadone” 解決方案越來(lái)越多,讓企業(yè)可以擺脫昂貴的商業(yè)數(shù)據(jù)庫(kù)
我們看到越來(lái)越多的軟件工具和服務(wù)旨在幫助企業(yè)從商業(yè) SQL 數(shù)據(jù)庫(kù)遷移出去。隨著時(shí)間的推移,連在 Oracle 或 IBM 數(shù)據(jù)庫(kù)上運(yùn)行的最重要的關(guān)鍵任務(wù)應(yīng)用軟件也可能日益被包圍、“被隔離”、被拆卸,這一幕正如上世紀(jì) 90 年代向客戶端/服務(wù)器架構(gòu)轉(zhuǎn)型期間許多傳統(tǒng)大型機(jī)應(yīng)用軟件的遭遇那樣。
雖然來(lái)自 Oracle、IBM 和微軟等巨頭的 SQL 數(shù)據(jù)庫(kù)會(huì)在一些企業(yè)存活好多年――再度酷似大型機(jī),但是它們會(huì)日益淪為邊緣化,并且它們的成本會(huì)盡可能被減少。我們看到許多這樣的工具已經(jīng)在 Hadoop 生態(tài)系統(tǒng)里面日趨成熟,該生態(tài)系統(tǒng)已經(jīng)有多種方法可以與 SQL 數(shù)據(jù)庫(kù)集成起來(lái),及/或?qū)?SQL 接口和查詢功能放在 NoSQL 數(shù)據(jù)庫(kù)上。在我們看來(lái),這一幕與上世紀(jì) 90 年代初出現(xiàn)將大型機(jī)應(yīng)用軟件與 PC 和客戶端/服務(wù)器應(yīng)用軟件集成起來(lái)的多種方法何其相似。