阿里雲以 Apache 2.0 許可證開源 PolarDB 分散式資料庫
5 月 29 日,阿里雲開發者大會上,阿里雲宣布開源雲原生資料庫能力,開源關係型資料庫 PolarDB for PostgreSQL,將阿里內部沉澱多年的技術分享出來,服務於百萬開發者。目前,該項目已在阿里雲官網及 Github 上發布,後續將引入分散式事務、單機高性能等能力。
阿里雲資料庫負責人李飛飛表示:
「我們希望將阿里雲在資料庫技術上積累的豐富經驗,通過標準技術組件和系統的方式開放出來,共建開源資料庫生態。」
資料庫是基礎軟體中的剛需,與晶元、操作系統並列為「全球技術三大件」。開源模式廣受資料庫用戶歡迎,被認為是互聯網場景的標配。
PolarDB 是阿里雲自研的資料庫產品家族,採用存儲計算分離、軟硬一體化設計,既擁有分散式設計的低成本優勢,又具有集中式的易用性,可滿足大規模應用場景需求。計算能力最高可擴展至 1000 核以上,存儲容量最高可達 100TB,集群版單庫最多可擴展到 16 個節點,性能比 MySQL 高 6 倍。PolarDB 系列產品已連續多年穩定支撐天貓雙 11,處理峰值高達創紀錄的 1.4億次/秒。
為滿足用戶多樣化的需求,PolarDB 針對不同的資料庫協議開發了不同的兼容版本,包括兼容 MySQL、PostgreSQL 和 Oracle 的版本,及每個版本的分散式形態。
此次阿里雲開源的是 PolarDB for PostgreSQL 分散式版,包括資料庫內核、相關插件、工具腳本、測試用例以及設計文檔,適用於中大型企業核心業務場景。本次開源遵循 Apache 2.0 許可證,以全共享並尊重原作者著作權的模式開源,代碼可以修改和再發布。
這讓我想起來前一段時間 MariaDB 宣布了將它的分散式 SQL 引擎 Xpand 作為其 DBaaS 服務的 SkySQL 系統引擎之一,然而 Xpand 是一個專有的軟體。這引起了業界對開源服務之上的專有服務的隱憂,因為這失去了開源的重要優勢 —— 避免供應商鎖定。
在業界,開源資料庫眾多,但是能將分散式能力也開源出來的罕有,而能形成產品級的、可以利用現有資料庫基礎設施的開源產品更是不多。因此,PolarDB for PostgreSQL 的這次開源可謂是不但給 PostgreSQL 注入了一劑強心針,而且也與 Xpand 這種開源引擎之上的專有服務形成了鮮明對比。
在對李飛飛的採訪中,他談到了為什麼要開源 PolarDB:
「我們開源的目的是非常純粹的,我們在開源這一部分沒有任何商業化的目的,就是要把開發者的生態做起來。」
而且,他認為沒有必要重新建立一個新的生態,在原本非常繁榮的 PostgreSQL 生態上「助力一把火,讓它燒得更旺。我們希望讓開發者可以在現有的 PostgreSQL 上做的更好。本質上就是把我們在 PostgreSQL 上積累多年的能力開源出來,回饋給社區,而且以插件的方式。」
而且,為了鼓勵社區能參與進來,阿里雲也體現了極大的誠意,採用了更加寬鬆、自由的開源許可證 Apache 2.0,「你可以再開發,你可以商用,都沒有問題,我們完全鼓勵。」
為什麼這樣做呢,李飛飛談到:「通過這樣把開發者生態建立起來以後,我們從中獲得了什麼?我們獲得的是開發者對 PostgreSQL 整個大生態的持續的關注和投入,然後最終我們也會從中受益,因為我們會從開發者貢獻的代碼裡面去汲取對我們有用的部分,我相信其他的廠商不管是雲廠商資料庫廠商可能也會因此受益。但沒關係,我們認為水漲船高,只要整個的社區做起來,我們阿里雲還一定會是領導者,我們有自信,所以我們願意去做這件事。」
李飛飛認為:
「我個人認為開源是建立生態的非常關鍵的一個抓手,非常關鍵的抓手。它和商業化一定要非常好的平衡,但絕對不是說天然的就是矛盾的兩面,矛盾的地方絕對有,不然的話大家不會這麼糾結,但是我個人認為要處理好平衡,是需要有非常強的定力和判斷力,但你一旦處理好,它並不一定就一定會發展成矛盾體,這是我個人的一個觀點。」
我想,這應該就是阿里雲堅定開源戰略的主要原因之一。
但是同時他也表示,不要走到另外一個極端:
「大家千萬不要落到另外一個陷阱裡面去,認為『開源就是靈丹靈丹妙藥,開源就能解決問題了』。我個人也是非常反對這個觀點,關鍵還是看你後續社區的運營,是不是真的用心在做這個社區,是不是真的有高質量的貢獻出來,讓大家真正的從裡面能夠受益。我覺得這個是後面的挑戰。」
根據披露的 PolarDB for PostgreSQL 開源路線圖,阿里雲是有計劃、有步驟的將主要的、完備的部分向社區開放。我想,這將揭幕雲原生資料庫的新時代。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive