YugaByte DB數據庫把企業版功能100%開源
在越來越多的數據庫選擇變更開源協議以防止被“濫用”的時候,這款數據庫為何反其道而行之,選擇將包括企業版在內的功能100%完全開源?YugaByte DB是一個高性能、雲原生的分佈式SQL數據庫,包括企業版和社區版兩個版本。相較於社區版,企業版提供了更豐富的功能,不過這些功能收費且閉源。但就在前兩天,YugaByte DB創始人兼CTO Karthik Ranganathan 宣布 YugaByte DB已100%完全開源,採用的是Apache-2.0開源許可證。
由於100%開源,創始人表示YugaByte DB此前閉源的商業化和企業版功能也會完全開源,如分佈式備份、數據加密和只讀副本(Read Replicas)功能均已在開源版本中提供,並且完全免費使用。除此之外,即將推出的新功能如 Change Data Capture(CDC,數據變更捕獲) 和 2 Data Center Deployments(雙活數據中心部署) 同樣可在開源版本中免費使用。閉源的管理軟件 Polyform Project 也轉為source available且只能免費試用的模式。
簡單來說就是不再區分企業版和社區版,此後YugaByte DB有且只有一個版本,並且完全開源。這些變更從最新發布的 1.3 release 開始生效,此版本在7月16日就已處於GA階段。
為何突然有如此大的轉變?不妨來了解一下。
對於YugaByte DB,Adobe 的專欄作家兼開發者生態負責人 Matt Asay 作出如下評價:
越來越多的開發者將 PostgreSQL 作為一種邏輯的Oracle 替代方案,因為他們不再使用在多雲上運行且基於微服務的單一數據庫。但 PostgreSQL 畢竟不是專門面向動態雲平台而構建,因此這個開源替代方案會受到限制。
YugaByte DB 通過在現代云基礎設施方面深度支持PostgreSQL 的功能從而填補了這一方面的空白。如今 YugaByte DB 選擇100% 開源,相信會有更多人願意採用它 —— 對在雲原生平台上構建關鍵業務應用的開發者和運維工程師尤其有吸引力。
下圖總結了在2018-2019 期間,Yugabyte DB 和MongoDB, Cockroach Labs, Confluent(Apache Kafka 背後的主要商業公司)以及 Elastic 關於開源舉措變化的對比:
為何要開源?
經過了這麼多年,開源已被證明是開發和分發關鍵業務型基礎設施軟件最成功的方法。首先,它消除了用戶使用軟件的阻礙,再加上開源軟件具有完全的使用自由,這使得它的採用率呈指數級增長成為可能。接下來,由於大家都採用開源軟件,且開源具有快速、協作和社區驅動的特質,這就為開發功能豐富的軟件提供了必要的快速反饋路徑,同時保持軟件的高質量和可靠性。得益於開源,增強安全性、與生態系統集成、可擴展的框架和其他企業功能自然也會變得更強大。
那麼採用免費增值模式(freemium)的專有基礎設施軟件是否也能達成這樣的目標?答案當然是肯定的,但如果要發展到同樣的成熟程度可能需要花費更長的時間。此外,對協作開發的欠缺和較慢的反饋路徑亦即意味著這些專有軟件可能並不會引起市場的關注,從而逐漸消失。
簡而言之,通過開源,這些基礎設施軟件不但迅速獲取到了大量的用戶和市場,還保證其能實現快速的穩步迭代。
開源 vs. 商業
首先要明確的是,開源和商業盈利並不相互矛盾。畢竟擁有健康的商業盈利,才能持續為開源軟件投入資源。
目前開源基礎設施軟件的商業模式主要有三種:
- 通過提供服務、技術支持以及培訓來收取費用
- 核心代碼開源(Open Core)
- 提供收費的託管服務
第一和第三種都比較好理解,像MongoDB去年就收購了數據庫託管公司mLab ——為自家的收費業務MongoDB Atlas獲取更大的市場。畢竟mLab在其平台上擁有大約一百萬個託管數據庫,其中包括免費和付費的用戶。
至於Open Core,其實是指雖然已將軟件的核心代碼開源,但廠商會將更有價值的功能放在“企業版”,然後進行收費。對於數據庫和數據基礎設施公司而言,這些附加功能一般包括構建新的數據模型、備份已存儲的數據、保證數據安全以及加密服務、多數據中心複製等。
數據庫的管理軟件也不在Open Core 範圍之內,它們主要提供擴展、升級、備份和監控數據庫,以及自動化創建集群的功能。
DB 商業化與 DBaaS 商業化
先將近期OSS 數據庫修改開源許可協議的案例擱置一邊,我們能從這些 OSS 數據庫商業化的歷史中學習到什麼?
首先要理解Amazon Aurora 為何能成功地將PostgreSQL 和MySQL 的巨大採用規模實現商業化。其次,MongoDB 公司如何通過MongoDB Atlas 將MongoDB 的大規模採用率實現商業變現?最後在數據分析市場,Databricks 和AWS EMR 又是如何通過 Apache Spark 開展商業化業務?
在眾多的案例中,可以看到直接將OSS數據庫商業化少有取得成功的例子,但通過雲服務進行商業化則有廣泛的成功案例。這裡深層次的原因是用戶需要花費很長的時間才能建立對涉及關鍵業務的數據庫(business-critical DB)的信任,但這種信任一旦建立,他們願意為DB-as-a-Service (DBaaS)帶來的便利投入大量資金,尤其是他們的採用率達到一定規模的時候。
所以 YugaByte 有理由相信,如果AWS 基於OSS 項目構建託管服務,那可以說是如入無人之境。雖然包括AGPL 在內的一些開源許可證會降低AWS 的擴張速度,但無法阻止它對市場的蠶食。另外,AWS 基於OSS 項目構建託管服務也證明了此項目具有持續發展的潛力。
所以對於商業OSS 公司而言,這就意味著他們必須提供足夠優秀的DBaaS 服務來與AWS 競爭,而非單單依賴於核心OSS 數據庫的優勢。
基於上述的原因,YugaByte決定將YugaByte DB 100%完全開源,並劃清OSS數據庫和商業DBaaS產品之間的界限。此前企業版提供的自我管理(self-managed) DBaaS功能被重新命名為 YugaByte Platform,以Source Available的形式提供。
與此同時,他們還宣布了 YugaByte Cloud 的早期計劃,這是在AWS和Google Cloud上完全託管(fully-managed)的DBaaS產品。
最後
YugaByte DB 具有基於Google Spanner 的存儲架構和基於PostgreSQL 的查詢層,旨在為現代應用程序在雲原生基礎架構上提供分佈式SQL 中的體驗(類似Oracle)。完全開源之後,其工程團隊將帶領YugaByte DB 比以往更快地向雲原生模式發展。