開源一年,openGauss詮釋什麼是快速成長

lumin1020發表於2021-05-06

中國開源史,比大多數人想象的都要早。

1991年,“中國 Linux 第一人”宮敏博士用手提肩扛的方式,為中國揹回了20盒磁帶,磁帶裡裝著80G的自由軟體。從此國內技術人員用上了Linux,在中國點亮了開源的火種……

開源是促進技術創新的有利武器,在開源軟體的加持下,中國軟體人的創造力有如神助。不過,中國的開源軟體雖然不少,但普遍集中於中下游的應用型開發,很少專注上游的原創性核心技術和系統級的開源專案。好在這種局面,近些年在逐漸改變。

2020年6月30日,openGauss資料庫正式開源。還有2個月就是openGauss開源一年。

openGauss開源的這1年,中國開源在跌宕起伏中也逐漸趟出了自己的前進方向。2019年8月,中國首個開源協議誕生。2020年9月,中國首個開源基金會成立。2021年3月,開源首次被明確列入“十四五”規劃綱要中。每一件都是中國開源史上的重要里程碑。

而作為國內首個使用木蘭寬鬆許可證v2並在本土開源託管平臺Gitee託管的開源資料庫專案,openGauss從一出生就備受各方關注。

openGauss為什麼開源?開源的這一年進展如何?近日,老魚獨家專訪了openGauss技術專家、社群TC(技術委員會)成員李士福,透過他我們來一探究竟。

熱度快速攀升

從百度指數看,從今年2月開始,openGauss熱度出現快速增長,這說明openGauss還是非常受歡迎的。

openGauss開源背景淺談

“openGauss是一款開源關係型資料庫管理系統,採用木蘭寬鬆許可證v2發行。openGauss早期版本核心源自PostgreSQL,深度融合華為在資料庫領域多年的經驗,結合企業級場景需求,持續構建競爭力特性。”這是openGauss開源社群上對openGauss描述的。

肯定有人會說,既然openGauss基於PostgreSQL,為什麼不直接貢獻程式碼給上游,非要弄出個分支?

回答這個問題,本質是要回答2個問題:

  1. 華為為什麼要做資料庫?
  2. openGauss為什麼要開源?

華為做資料庫主要是自身業務需求,華為資料庫最早誕生於2001年,源自運營商業務需求,最初版本名為GMDB。時至今日,華為自研資料庫在自身業務有著大量的應用。(參見老魚此前文章《華為高斯戰記》);

華為開源高斯資料庫,建立openGauss開源社群有兩方面的原因,其一、資料庫是數字經濟時代的核心基礎設施,中國這麼多年來無陣列織和團隊投入了很多資源,但到目前為止沒有特別成功的,所以,華為將多年的積累開源出來,加速產業的發展,透過社群協作,提高效率。其二、打造自己的計算生態。

畢竟,開原始碼雖然無國界,但人卻有國籍。

李士福說,鯤鵬是計算產業,ICT發展到現階段已經不是單產品和技術的競爭而是生態層面的競爭。在華為計算產業生態中,openGauss是不可缺少的一環,是基礎軟體皇冠上的明珠。在生態中,因為有了openGauss就可以打通從硬體到軟體的全棧創新。

對於計算產業,華為的策略是硬體開放、軟體開源、使能夥伴、發展人才,否則,僅靠華為一家生態是做不起來的。這就要求華為必須要懂得與生態鏈上的夥伴們去分享利益。所以,華為開源了openGauss。支援夥伴基於openGauss打造自有品牌的資料庫商業發行版,支援夥伴持續構建商業競爭力。

差異化競爭優勢

沒有自研,就沒有開源,如果說開源是水龍頭,那自研就是保證水龍頭水源供應的水庫。

雖然openGauss核心源於PostgreSQL,但其中接近80+%的資料庫核心程式碼是華為自研,在架構、事務、儲存引擎、最佳化器及ARM架構上都有巨大改造。

李士福說,openGauss從一開源就主打企業級開源資料庫,有眾多企業級特性是首次透過開源資料庫的形式開放出來,在企業級方面的能力要比其他開源資料庫強。

例如剛剛釋出的openGauss  2.0.0版本,這是openGauss社群釋出的第一個Release版本。2.0與之前版本保持相容的同時,也新增了眾多的新特性,尤其是在效能、安全、運維上有了更大的突破。

在效能方面,透過持續架構和工程最佳化,分析40萬條業務場景SQL流,制定分類固化典型短事務型別儲存引擎介面,Bypass SQL最佳化器,實現SQL效率提升30%。在SQL執行計劃生成階段,透過動態剪枝方法,提升搜尋效率20%。針對儲存引擎的無鎖最佳化演算法,提高了使用者執行緒資料操作的並行度,吞吐率提升50%。

透過這些最佳化,openGauss 2.0在四路鯤鵬伺服器上效能達到了230萬tpmC,使基於單臺通用伺服器進行超高效能資料庫部署成為現實。

在資料安全方面,2.0版本採用客戶端語法解析機制,在客戶端對資料進行加解密,安全傳輸到openGauss資料庫,並以密態的形式計算和儲存,實現端到端的資料保護。透過高效加密引擎,密態資料的處理、查詢效能損耗不超過5%。

在運維方面,針對資料庫應用和開發中常見的索引設計、慢SQL診斷等痛點,2.0版本的智慧索引推薦,對啟發式演算法和假設索引驗證演算法進行了深度最佳化,可解決90%以上的索引配置問題,達到人工調優水平。對慢SQL的智慧診斷率達到90%以上。

開源後社群參與度

自從openGauss開源之後,究竟社群參與了多少?這是判斷一個開源專案是否具備可持續性的重要指標。

據李士福介紹,截止至2021.04.27,openGauss社群官方網站訪問量78萬+;官方網站訪客人數7萬+;官方網站安裝包下載量16萬+,下載遍及全球49個國家328個城市;社群開發者人數1200+;社群累計需求程式碼PR提交數達到2600+,累計Commit數達到4500+。

有超過20家企業簽署社群CLA,參與社群程式碼貢獻。並且,其中有6家合作伙伴釋出基於openGauss的商業發行版。

值得注意的是,海量資料基於openGauss商業發行版 ”海量資料庫(Vastbase)成功入圍2021央採(中央國家機關軟體協議供貨採購專案)名錄。

雲和恩墨基於openGauss商業發行版“MogDB”已經落地郵儲銀行、民生銀行。

作為一個開源不到一年的開源專案,openGauss社群的發展速度令人吃驚的,成果也是豐碩。

截止目前,openGauss已經成立包括OM、In-place Update、IoT、AI等13個專項興趣小組(簡稱SIG),包括海量資料、雲和恩墨、工商銀行、清華大學等多個組織的成員發起或參與到社群的各個SIG小組,帶領小組成員擴充技術方向,貢獻新特性,實現下一個版本的技術規劃。社群技術委員也持續運作,openGauss社群開放治理日趨完善。

顯然,經過近一年的發展和沉澱,openGauss無論從技術演進、社群生態建立、商業落地均已進入快速成長期。

但這只是開始,還遠遠不夠。李士福說,未來openGauss將圍繞客戶場景和需求持續構建更多競爭力,打造世界級的資料庫開源社群。

寫在最後

開源是一個高度國際化的產業,中國真的能孵化出世界級開源專案嗎? 

過去,中國開源專案一直呈現小而散的碎片化狀態,缺少科技巨頭參與和專業的運營團隊,缺乏長期持續運營和投入,難以形成強大的生態體系,而這些問題,在openGauss上都不是問題。

如果,年輕的openGauss社群能真正為資料庫產業生態去持續投入推動發展,老魚相信,未來幾年,中國或許真就能孵化出世界級開源專案。




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69965512/viewspace-2771019/,如需轉載,請註明出處,否則將追究法律責任。

相關文章