從資料庫開源商業版本差異談起

帶你聊技術發表於2023-03-10

資料庫,作為基礎軟體產品,其研發資源及成熟應用,需要較大投入和較長週期。開源作為一種新的軟體開發協作模式,可大大加速這一過程。從上世紀九十年代,以 MySQL 和 PostgreSQL 為代表的開源資料庫興起;到近些年來國內資料庫也紛紛走向開源道路。的確,開源能為企業及產品帶來很大的收益,如加快研發週期、加速產品成熟、促進生態建設等。當然,出於商業化訴求,企業也紛紛摸索在開源條件下的商業模式,大部分企業在開源的同時也提供了商業版本。作為終端使用者,是選擇社群開源版本還是商業閉源版本,是個值得思考的問題。本文收集資料庫領域幾家代表性企業開源(社群)版本與商業(企業)版本產品功能及差異,並對這一差異背後的原因加以思考。本文部分資料來自阿里雲、甲骨文、PingCAP、OceanBase 公司朋友提供,特表示感謝。


1. 常見資料庫開源商業差異

1).MySQL

MySQL 作為最為流行的一款開源資料庫,其社群版是完全免費的;企業版則需要支付許可證費用且提供了更強功能。針對社群版本,功能大家已經比較熟悉了,下面重點說明下企業版的增強功能。總體來說,MySQL 企業版的功能比社群版更豐富,而且有更高的安全性、可管理性及配套服務等。其具體增強功能如下:

從資料庫開源商業版本差異談起

2).TiDB

TiDB 是 PingCAP 公司自主設計、研發的開源分散式關係型資料庫,是一款同時支援線上事務處理與線上分析處理 (HTAP) 的融合型分散式資料庫產品,具備水平擴容或者縮容、金融級高可用、實時 HTAP、雲原生的分散式資料庫、相容 MySQL 5.7 協議和 MySQL 生態等重要特性,支援在本地和雲上部署。其產品在誕生之初,就秉承開源理念,其核心多款開源專案合計 Star 數突破50K。其企業版和社群版產品差異如下:

從資料庫開源商業版本差異談起

3).OceanBase

OceanBase 一款開源分散式 HTAP 資料庫管理系統,具有原生分散式架構,支援金融級高可用、透明水平擴充套件、分散式事務、多租戶和語法相容等企業級特性。自2021年6月開源以來,秉承核心完全開放的原則,已開源超 300 萬行程式碼。其希望透過開源讓更多的上下游廠商、夥伴和開發者參與進來了解和使用產品,使產品發展的更快、更好、更普及,旨在共同將OceanBase打造成全球最具競爭力的分散式資料庫。其提供企業版和社群版兩種形態:

  • OceanBase 資料庫企業版:OceanBase 企業版是一款完全自研的企業級原生分散式資料庫,在普通硬體上實現金融級高可用,首創“三地五中心”城市級故障自動無損容災新標準,重新整理 TPC-C 標準測試,單叢集規模超過 1500 節點,具有云原生、強一致性、高度相容 Oracle/MySQL 等特性。

  • OceanBase 資料庫社群版:相容 MySQL 的單機分散式一體化資料庫,具有原生分散式架構,支援金融級高可用、透明水平擴充套件、分散式事務、多租戶和語法相容等企業級特性。OceanBase 社群版資料庫核心開源,與 MySQL 相容,對接虛擬化和大資料技術及產品,支援多種圖形化的開發工具、運維監控工具和資料遷移工具;同時社群版提供開放的介面和豐富的生態能力,支援企業或個人更好的實現定製化業務需求。

從資料庫開源商業版本差異談起

4).PolarDB-X

阿里雲,近些年來非常重視開源生態建設。在資料庫領域開源了多款產品,以 PolarDB-X 產品為例,是在2021年的雲棲大會正式開源。其負責人表示“我們將阿里最核心的雲原生資料庫技術進行開源,希望開發者和客戶透過開源版本快速使用阿里雲資料庫產品技術,並參與到技術產品的迭代過程中來,共建雲原生分散式資料庫生態。”PolarDB-X是由阿里自主研發的原生MySQL分散式資料庫,相容MySQL協議與客戶端,具備自動負載均衡、高可用、HTAP混合負載、支援分散式事務、全域性二級索引等重要特性,專注解決超高併發吞吐、海量資料儲存、大表瓶頸等資料庫瓶頸難題,歷經各屆天貓雙11及全行業客戶業務的考驗。從範圍上看,PolarDB-X 開源較為徹底,開發的新功能在經過三個月的線上試用後,就會合入到開源分支中。除了阿里系其他生態工具類產品外,其自身功能全部實現了開源。其主要功能包括:

從資料庫開源商業版本差異談起


2. 資料庫商業化功能思考

從上面幾款資料庫產品可見,開源產品與商業產品在大體功能上相差不大,重點是在部分企業級功能和服務上面。這其中主要包括幾個方面:

1).安全

安全功能,是企業選擇一款產品的重點考慮要素之一,特別是資料庫這種承載資料,擔負企業核心業務的基礎平臺。關於安全還可細分為三類功能:一是訪問行為類,如審計、白名單、防火牆;二是資料儲存展示類,如加密、脫敏、簽名;三是安全擴充套件類,如對接第三方安全系統。上述三類功能,重點是解決資料庫平穩執行、資料合規使用及管理便利性問題。企業版可以很好地滿足此類需求,如使用者使用社群版本則需透過外購第三方或自研的方式解決。

2).運維

運維能力,是企業能否用好產品的關鍵因素之一。好的產品,還需要好的運維支撐能力來輔助。企業版軟體在這部分功能上主要是提供視覺化、便捷的運維方式為主,包括常見的安裝部署、備份恢復、監控告警、異常診斷、效能最佳化等。重點是解決資料庫的運維效能問題。這部分相對難度不大,如使用者使用社群版本可透過自研方式去解決;而且對於中大型企業來說,往往都有一套成熟運維體系,即使企業版提供也許融入自有體系中,因而相對不是很剛需。

3).生態

生態功能,主要是指企業的上下游及關聯方使用好此產品所需要的功能。這其中可細分為幾種情況:一是開發者生態,提供好的設計、開發平臺供開發者使用,方便開發者快速上手;二是資料生態,即資料如何流入、流出此平臺,企業內往往不止一種資料庫,需要資料在多平臺間流動;三是相容生態,即為了充分享受其他產品的生態能力二提供的相容性功能,如協議、語法、工具等方面的相容。上述功能是重點解決企業使用資料庫開發好系統的問題。這部分相對難度較大,但有些功能屬於非剛需。特別在相容性上做的很好的產品,通常可利用原有生態上的部分能力,可解決一定問題。

4).服務

只有好的產品,沒有好的服務,是無法保證能夠使用好的。特別是對於承載企業關鍵業務的資料庫,是不允許出現任何閃失的。這也是很多使用者考慮購買企業版,希望能得到的“兜底”服務效果。企業版提供的服務,不僅在範圍上、時效性、預防類等多方面比社群版本更有保障,而且有公司能夠擔責對使用者也是一種解脫。當然現在也有一種"開源商業服務"的形式,即提供對開源產品的商業服務,能在一定程度上解決企業使用開源的問題。這種情況,則需重點考慮服務企業的資質能力(特別在此開源專案上)。

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

相關文章