譯者注:本文作者Matt Asay,系Adobe開發者生態負責人,曾于2012-2014年任職于MongoDB.本文中的一些觀點出于作者主觀判斷,難免有失公允,但總體上來說,近來Oracle在于數據庫等方面的保守確認引人爭議。
對于關系數據管理系統(RDBMS)巨頭Oracle來說,它所面臨的最大挑戰可能就是云計算。據Gartner稱,Oracle在云基礎架構市場只擁有一小部分-0.3%.但這個數字還不足以去解釋云對于Oracle數據庫業務的影響,這里還有其他值得考慮的事情:開發人員會優先選擇哪中云平臺?
開發人員會選擇一款數據庫,然后依照云供應商提供的可選方案進行使用。但問題是,通過哪些公有云服務(AWS、微軟Azure和Google Cloud)來使用Oracle DB的成本高得難以承受,而Oracle又不肯放棄自己老舊的云服務系統。那么誰將從這種短視戰略中獲利?答案是開源數據庫。
開源數據庫?
是的,開源數據庫。盡管像MySQL、PostgreSQL、MongoDB和Apache Cassandra這樣的數據庫長期受到Web開發人員的歡迎,但是在歷史上它們一直無法與Oracle的核心數據庫產品相抗衡。
不過,這已是陳年往事了。根據Gartner的分析,如今開源數據庫在全球數據庫市場占7.6%的市場份額(合26億美元),如果這個數字看起來沒有什么說服力的話,那么其實在過去兩中,開源數據庫管理系統的平均增長率為75%,而市場平均增長率僅為7.7%.
至于增長的原因?一部分是開發人員具有了使用現代數據庫運行新應用的愿望。而AWS等供應商讓他們的愿望變得更加容易實現,尤其是,它將許多流行的開源數據庫轉化為了服務,這消除了管理的復雜性。所以,在DB-Engines依據多個因素的數據庫受歡迎程度排名中,有一半流行的數據庫都是開源的。
而那些有志于在云或數據中心中運行數據庫系統的用戶,主要選擇的也是PostgreSQL和MongoDB.選擇前者的通常會是那些希望堅守關系型數據庫但試圖消除Oracle數據庫那樣高成本或復雜性的開發人員,同時MariaDB也在逐漸受到他們的歡迎。而自被Oracle以來,MySQL在過去幾一直在“失寵”。
至于MongoDB,它是那些需要重構其應用程序的開發人員的首選,他們需要顯著提升自身生產力或利用MongoDB文檔型數據庫以提供橫向擴展的體系結構。但無論以那種方式,大家選擇的都是開源產品,而不是Oracle的。
Oracle的忠實粉絲堅信這次開源沖擊并不會給Oracle帶來很大的影響,但這可能是錯誤的觀點。Gartner分析師Merv Adrian指出,自2013年以來,Oracle每年都在失去市場份額。不過我們也要看到,下滑的應該不知是Oracle一家,自2011年至今,全球前五大的數據庫供應商的總體市場份額也從91%下降到了86.9%.
盡管開源數據庫并不會完全為客戶帶他們所宣傳的種種收益,但如同Amazon DynamoDB或微軟CosmosDB這樣的專有云數據庫一樣,開源數據庫所帶來的影響也是數十億美元級的。
不過,這些美元也只是一個側面。 畢竟Gartner依據收入來衡量市場份額,而開源數據庫免費使用的頻率會比“付費”使用時高一些。鑒于這一點,Gartner認為,“從經驗上來看,付費用只占實際用戶群體的1%-5%左右”。換句話說,開源數據庫可能讓它的供應商獲得26億美元的費用,而相比之下,Oracle和其他供應商所賺取的費用要高的多(用戶會支付更多)。似乎,對于Oracle來說,情況是越來越糟了。
讓開發人員愉快
Oracle最大的挑戰可能不僅MongoDB或PostgreSQL這樣開源數據庫的許可成本,這些數據庫的不僅可以將許可費用減低一倍,而且它們也極大節省了硬件成本。即使考慮了遷移成本、數據庫管理員重啟等成本,自Oracle數據庫轉移到MogoDB這一的數據庫也將為用戶節省出70%的成本。在AWS平臺上,運行Oracle(RDS)的價格是每小時25.68美元,而運行PostgreSQL或MySQL(RDS)的價格僅是它的1/8到1/10.
同時,鑒于開發人員與DBA(數據庫管理員)的生產力,這樣節省出來的成本差異將會更大。
一個熟練的Oracle數據庫DBA平均可以管理多大25個數據庫服務器。但借助于自動化,這樣的DBA可以在Amazon RDS上管理數百萬太數據庫服務器。
在開發人員方面,考慮到未來的開發人員是新的“上帝”,轉向開源的DBMS更像是對開發人員進行“充電”,而不是讓他們為了許可證或硬件成本從而“勒緊褲腰帶”。MongoDB產品營銷總監Mat Keep就提到:
“當我加入MongoDB時,大約有5%的項目是關系型遷移,如今隨著企業開始尋求轉型,這一比例已經達到了30%.成本可能是一個因素,但更常見的還是開發速度和運行規模。(從RDBMS)轉型到云、微服務和敏捷/devops模式后,開發人員的生產力提高了3-5倍”。