近期,國產數據庫圈似乎掀起一股卷的浪潮,各家產品你方唱罷我登場。從用戶角度來看,這是好事情,可以加速我們了解、掌握乃至在生產中使用我們的國產庫。但回歸本質,數據庫還是一個需要“動手”學習的基礎軟件產品,那么我們這些國產庫的上手門檻又是如何呢?本文嘗試從多個角度,觀察下國產數據庫的上手是否容易。
1. 上手門檻評估維度說明
在展開這一話題之前,我們先談談可以從哪些維度來評估上手門檻,也就是說這些因素會影響到用戶使用體驗。
產品形態
很多數據庫廠商針對產品都提供了多個版本,常見的如企業版、標準版、個人版之類的,差異一般都是功能上的閹割。個人覺得對產品做版本劃分還是很有必要的,用戶對產品初步了解,通常只是基于一些常見功能,版本劃分有助于用戶聚焦核心能力。此外基本版本通常也會使用更少的資源,有利于用戶展開測試。當然這里用戶要注意不同版本的差異,有些產品只是限制使用規模(如數據量、使用時長),有些則是限制周邊功能(如導入導出、安全審計),有些則限制比較核心的一些能力(如Oracle兼容性),這個要有所區別。需要提前評估自己要測試的能力,在這個版本中是否能夠體現。
是否開源
數據庫采用開源,無疑代表著廠商的一種態度,開源通常意味著更開放。但從實際意義來看,個人覺得并沒有那么大,數據庫作為一種大型基礎軟件,架構復雜、代碼量大,真正能從開源上收益的通常是技術有相當積累或基于開源構建商業產品的公司,普通用戶意義并不大。個人覺得,更加開放的接口、視圖、元數據等,對于用戶了解、使用好數據庫意義會更大。
獲取方式
能否很容易地獲取到安裝介質,是非常重要的。國內數據庫廠商大多提供了下載方式,有些是基于開源直接提供的,有些則是提供商業版免費下載,有些則需要登記后提供商業試用版本,無論是哪種方式吧,能簡單獲取介質是基本條件。是否能在一個小時內拿到介質,會關乎到用戶是否還有耐心去進行測試。
安裝形式
通常的安全形式包括私有化安裝、云平臺和容器化等。除私有化安裝外,如果用戶能通過云或容器化的方式,簡單快捷地獲得“安裝結果”,自然會更方便些。特別是對于分布式數據庫,往往面臨組件多、安裝復雜的問題,如果能通過如一鍵安裝、all-in-one包的形式能快速安裝部署,會大大降低用戶體驗的門檻。當然,還可以使用如web shell的方式,開啟一個“租戶”,方便用戶在網上直接測試體驗。
硬件資源
硬件資源是又一限制用戶體驗數據庫的門檻,特別是分布式數據庫,組件很多,需要的資源也較大。看看自己的筆記本,有多大資源能跑,是個很現實的問題。解決一方面在產品層面可以盡量壓縮資源使用,另一方面也可以提供集成度高的安全形式,降低使用資源。
配套工具
除數據庫本身外,數據庫產品還包括周邊工具,如安裝部署、導入導出、性能優化、備份恢復等。這些工具通常會影響某一個方面功能使用,如想完整的測試,還是需要提供較為完整的配套工具并提供下載,方便用戶一并測試。
產品文檔
文檔是數據庫產品的一部分,一篇好的文檔有助于用戶快速了解、學習、掌握產品。文檔缺少、文檔錯亂的情況,會嚴重阻礙用戶的使用體驗。這方面各個廠商的差異是巨大的,一方面來自于內容的缺失,一方面則來自文檔質量。個人之前寫過關于好產品文檔的標準,這里不再贅述。
2. 國產數據庫上手門檻大PK
基于上述維度,個人對國內數據庫廠商產品做了個簡單評估。評估標準多是基于各廠商對外公開的文檔,評估范圍則是來自墨天輪社區的Top 10和其他個人較為熟悉的產品。下面的調研結果僅代表個人意見,受數據收集渠道、信息準確性、個人理解能力等因素,結果可能存在偏頗,歡迎指正。具體表格如下,并在附錄部分附上各廠商產品說明和官網鏈接。
圖片
關于上面各調研企業的詳情,可以參看附錄部分。從上述調研結果來看,不同廠商差異還是挺大的。從調研結果和過程來看,個人有如下幾點體會:
- 很多廠商是有多產品、多版本、多形式問題,用戶在入門學習時,前期還有一定的理解成本,如果能通過例如表格的方式展開說明,會非常清晰,有助于用戶上手學習。
- 部分廠商采用開源方式,但開源與商業又是完全分開的,初學者存在找不到開源入口問題。建議的做法可仿效有的廠商,將開源作為商業入口的子入口,方便查找。
- 部分廠商有開源版本和商業版本或是基于開源構建的商業版本,這里建議增加開源與商業的區別,方便用戶快速甄別。有些要求不高的用戶,可以用開源版本或開源數據庫就可以,沒有必要一定選商業。這里可能基于商業考慮,有些企業這塊信息比較隱晦。
- 大部分廠商產品都有多個版本,不同版本之間存在差異。用戶可以免費下載試用的版本可以不是企業版本,兩者差異需要明示出來,方便用戶來判斷是否滿足評估需求。
- 在介質獲得上,大部分未開源的廠商也提供商業試用下載,但在具體操作上還是需要注冊很多信息,存在不小的上手門檻。
- 安裝形式上,基本都支持私有化部署方式,但是其他方式支持情況則較少。從體驗角度來看,私有化部署是最高的,如果能提供云版本或容器鏡像版本,可會大幅降低上手門檻。
- 所需資源上,各產品特別是分布式產品還是較多的。表格中顯示的最低配置,分布式架構下是單個節點,很多產品至少需要3臺,總體資源開銷不少。好的做法如有些產品提供的all-in-one包,盡量降低使用的臺數和單臺資源。
- 配套工具基本各家都有提供,可以免費獲取,這點不錯。
- 文檔方面,各家也都提供了文檔,基本都可免費下載或在線瀏覽。當然,各家文檔的質量差異明顯。從上手的角度來看,如何根據文檔能在一兩個小時內完成從下載、安裝、啟動、簡單CRUD、簡單管理作為這部分文檔的評判標準。
整體調研下來,感覺各廠商還是很重視用戶上手問題,均提供了一些方式手段。各家根據自身情況,策略區別還是有的,有些相對開放,有些則偏于保守。如前提所講,當前正處于數據庫國產化深入階段,很多用戶在進行選項、調研的工作,友好的上手入門體驗至關重要。也希望各廠商能重視這一點,加大此方面的投入。
3. 附錄:部分開源協議說明
從上面表格來看,不少廠商采用了開源策略。開源策略無疑對產品推廣有著積極的意義。這里比較特殊的一點在于,部分國產產品采用了國內的開源協議,之前對這塊了解不多。下面針對木蘭協議,做個簡單調研,發現大家對它的理解還是存在一定誤區的。木蘭系列許可證包含“木蘭寬松許可證”和“木蘭公共許可證”,均由北京大學作為牽頭單位,依托全國信標委云計算標準工作組和中國開源云聯盟,聯合開源生態圈產學研優勢團隊和個體、尤其是開源法務和律師,起草、修訂并發布。在木蘭系列許可證中,木蘭寬松許可證第 2 版(Mulan PSL2)已在 2020 年 2 月 14 日,通過開源促進會 OSI 的批準,成為中國第一個具有國際通用性的開源許可證,也是目前木蘭系列知名度最高的許可證。目前木蘭協議已發布的開源許可證有:
圖片
木蘭寬松許可證和木蘭公共許可證間存在較大差異。均以第 2 版為例,木蘭寬松許可證和木蘭公共許可證的差別集中在“分發限制”上。木蘭公共版許可證類似 GPL,會傳染,要求接受者必須開放源代碼。而木蘭寬松許可證的“分發限制”中僅僅要求保留代碼中的許可證聲明,并未要求再次分發時的許可證設置,不具有“傳染”特質。具體展開如下:
圖片
4. 附錄:國產數據庫入門說明
OceanBase
OceanBase 數據庫提供企業版和社區版兩種形態。
- OceanBase 數據庫企業版:OceanBase 企業版是一款完全自研的企業級原生分布式數據庫,在普通硬件上實現金融級高可用,首創“三地五中心”城市級故障自動無損容災新標準,刷新 TPC-C 標準測試,單集群規模超過 1500 節點,具有云原生、強一致性、高度兼容 Oracle/MySQL 等特性。
- OceanBase 數據庫社區版:兼容 MySQL 的單機分布式一體化數據庫,具有原生分布式架構,支持金融級高可用、透明水平擴展、分布式事務、多租戶和語法兼容等企業級特性。OceanBase 社區版數據庫內核開源,與 MySQL 兼容,對接虛擬化和大數據技術及產品,支持多種圖形化的開發工具、運維監控工具和數據遷移工具;同時社區版提供開放的接口和豐富的生態能力,支持企業或個人更好的實現定制化業務需求。
開源地址:https://www.oceanbase.com/product/opensource
PolarDB
PolarDB 數據庫對應是一個產品系列,其中開源有兩款。
- PolarDB PostgreSQL 版(PolarDB for PostgreSQL,簡稱“PolarDB-PG”)是阿里云自主研發的云原生關系型數據庫產品,100% 兼容 PostgreSQL。采用基于 Shared-Storage 的存儲計算分離架構,具有極致彈性、毫秒級延遲、HTAP 的能力和高可靠、高可用、彈性擴展等企業級數據庫特性。同時,PolarDB 具有大規模并行計算能力,可以應對 OLTP 與 OLAP 混合負載。
- PolarDB分布式版 (PolarDB for Xscale,簡稱“PolarDB-X”) 是阿里云自主研發的高性能云原生分布式數據庫產品,其采用 Shared-nothing 與存儲計算分離架構,支持水平擴展、分布式事務、混合負載等能力,具備企業級、云原生、高可用、高度兼容 MySQL 系統及生態等特點。
開源地址:https://www.polardbpg.com/home
openGauss
openGauss是一款提供面向多核的極致性能、全鏈路的業務和數據安全,基于AI的調優和高效運維的能力,全面友好開放,攜手伙伴共同打造全球領先的企業級開源關系型數據庫,采用木蘭寬松許可證v2發行。openGauss深度融合華為在數據庫領域多年的研發經驗,結合企業級場景需求,持續構建競爭力特性。
開源地址:https://opengauss.org
KingBase
人大金倉包含多款產品,其中面向OLTP場景的主要有兩款。
- KingbaseES是一款面向大規模并發交易處理的企業級關系型數據庫。該產品支持嚴格的ACID特性、結合多核架構的超凡性能、健全完善的安全標準,以及完備的高可用方案,并提供可覆蓋遷移、開發及運維管理全使用周期的智能便捷工具。產品融合了人大金倉在數據庫領域幾十年的產品研發和企業級應用經驗,可滿足各行業用戶多種場景的數據處理需求。
- KSOne是人大金倉自主研發的分布式關系型數據庫系統。產品具備企業級復雜事務混合負載能力,同時支持跨AZ部署,數據0丟失,支持大規模橫向擴展,PB級海量數據存儲等企業級數據庫特性。擁有高可靠,高安全,彈性伸縮,高效備份恢復等關鍵能力,能為企業提供功能全面,穩定可靠,擴展性強,性能優越的企業級數據庫服務。
地址:https://www.kingbase.com.cn/
DM
達夢包含多款產品,包括有單機的DM8及面向主備、集群、分布式形態的產品。其中主流的是DM8,是新一代大型通用關系型數據庫,全面支持 SQL 標準和主流編程語言接口/開發框架。行列融合存儲技術,在兼顧 OLAP 和 OLTP 的同時,滿足 HTAP 混合應用場景。
地址:https://www.dameng.com
GBase
南大通用也包括多款產品,有面向TP和AP的多種。這里看下面對TP場景的,主要是GBase 8c/8s,分別對應集中式和分布式架構產品。
- GBase 8s是天津南大通用數據技術股份有限公司自主研發的、成熟穩定的基于共享存儲的數據庫集群,擁有自主知識產權。產品達到安全數據庫四級標準(國際B2),支持國密算法,支持SQL92/99、ODBC、JDBC、ADO.NET、GCI(OCI/OCCI)、Python接口等國際數據庫規范和開發接口。支持集中式部署、共享存儲高可用部署、兩地三中心高可用部署,具備高容量、高并發、高性能等特性。
- GBase 8c是南大通用自主研發的一款多模多態的第三代智能分布式數據庫,通過智能優化,智能運維,智能安全實現DB智能化,使GBase8c具備高性能、高可用、彈性伸縮、高安全性等智能特性。支持行存、列存、內存等多種存儲模式,單機、主備式、分布式等多種部署形態和ORACLE、PG、MYSQL多種兼容模式,可以部署在物理機、虛擬機、容器、私有云和公有云,為關鍵行業核心系統、互聯網業務系統和政企業務系統提供安全、穩定、可靠的數據存儲和管理服務,滿足各種應用場景。
地址:https://www.gbase.cn
GaussDB
GaussDB是華為公司傾力打造的自研企業級分布式關系型數據庫,該產品支持優異的分布式事務,同城跨AZ部署,數據0丟失,支持1000+擴展能力,PB級海量存儲等企業級數據庫特性。擁有云上高可用,高可靠,高安全,彈性伸縮,一鍵部署,快速備份恢復,監控告警等關鍵能力,能為企業提供功能全面,穩定可靠,擴展性強,性能優越的企業級數據庫服務。
GoldenDB
GoldenDB是自主研發的分布式數據庫系統,整體由計算節點、數據節點、全局事務管理器、管理節點四種核心模塊組成,外圍包含導入導出模塊,以及相關的備份、恢復等運維工具。整個系統采用高可靠性設計無單點故障,計算節點為無狀態多節點部署,數據集群內由多個安全分片組構成,每個安全分片組內數據節點主備多機部署,全局事務管理器主備多機部署。支持多集群及動態擴容,每個集群由多個安全分片組組成,每個安全分片組內部包含主備復制關系的數據庫節點,可動態對集群內的安全分片組數量進行擴容以及動態增加集群的數量。通過全局事務管理器支持多節點的分布式事務,保證數據一致性。兼容SQL92、SQL99、SQL2003標準語法,完全兼容MySQL語法,兼容常用Oracle、DB2語法。
地址:https://www.goldendb.com
TDSQL
TBase 是騰訊數據平臺團隊在開源的 PostgreSQL 基礎上研發的企業級分布式 HTAP 數據庫管理系統。具備高性能可擴展的分布式事務能力,支持 RC 和 RR 兩種隔離級別;通過安全、管理、審計三權分立體系,提供全方位的數據安全保證機制;支持高性能分區表,可使得數據檢索效率成倍提升;SQL 方面兼容 2003 標準、PostgreSQL 語法和常用 Oracle 函數 & 數據類型、窗口函數等;提供大小商戶數據分離、冷熱數據分離等高效的數據治理能力。
開源地址:https://www.oschina.net/p/tbase
GreatDB
萬里開源提供了多款產品,其中關系型數據庫包括單機、集中式與分布式版本。其中對應的單機版本有開源實現,開源名稱為GreatSQL。
- GreatSQL數據庫是一款開源免費數據庫,可在普通硬件上滿足金融級應用場景,具有高可用、高性能、高兼容、高安全等特性,可作為MySQL或Percona Server for MySQL的理想可選替換。
- 萬里安全數據庫(集中式)GreatDB Enterprise 是一款自主研發的集中式數據庫產品,基于數據冗余與副本管理確保數據庫系統的穩定可靠無單點,同時提供完備的事務支持,適用于金融級在線事務處理和高并發業務場景。
- 萬里安全數據庫(分布式)GreatDB Cluster 是一款原生分布式關系型數據庫軟件,具有動態擴展、數據強一致、集群高可用等特性。采用 shared-nothing 架構,基于數據冗余與副本管理確保數據庫穩定可靠, 基于數據 sharding 與分布式并行執行技術實現高性能,并具備動態擴大或縮小計算和數據節點能力,充分滿足業務需要。
開源地址:https://greatsql.cn/
AntDB
AntDB有多款產品,對應TP場景的是AntDB-T產品。其是一款可擴展、多租戶、高可用、高性能、國產自主的分布式數據庫產品,旨在為 OLTP、 OLAP 場景提供一站式的解決方案,具備自動高可用、在線彈性擴容、內核級讀寫分離等特性,支持SQL2016標準,提供高并發、高吞吐、低時延的PB級數據處理能力,方便應用平滑地從Oracle遷移到AntDB。
地址:http://www.antdb.net/
MogDB
MogDB是云和恩墨基于openGauss開源內核進行增強提升,推出的一款安穩易用的企業級關系型數據庫。其具備金融級高可用和全密態計算的極致安全、面向多核處理器的極致性能、AI自診斷調優的極致智能能力,能夠滿足從核心交易到復雜計算的企業級業務需求。MogDB也提供了標準版、容器版和企業版多個版本。
地址:https://www.mogdb.io/
YashanDB
YashanDB 企業版崖山數據庫系統YashanDB是深圳計算科學研究院完全自主研發設計的新型數據庫系統, 融入原創理論,支持單機/主備、共享集群、分布式等多種部署方式,覆蓋OLTP/HTAP/OLAP 交易和分析混合負載場景,為客戶提供一站式的企業級融合數據管理解決方案。其提供了企業版和個人版,其中個人版是可以直接下載的。
地址:https://www.yashandb.com/
XuguDB
虛谷數據庫是一款原創的原生分布式數據庫,從2002開始自主迭代至今的數據庫軟件產品。虛谷擁有完整自主產權,核心代碼自有率經 工信部CSIP檢測達99.4%。在使用上,完全兼容傳統關系型數據庫的方式,提供了標準的對象及過程管理模型,配套各類數據庫接口及 管理工具。數據庫核心引擎采用全鏈路(集中式與分布式合一)架構,數據以物理切片的方式存放到數據節點中,計算則由各個計算節 點同時響應。
地址:https://www.xugudb.com/
神通數據庫
神通數據庫管理系統是傳承航天自主創新傳統,按照航天工程化和質量控制體系研制的一款自主創新、安全高效的國產數據庫軟件,具有通用性、高性能、高安全、高可靠、高可用等特性,提供多種版本充分滿足不同業務場景需求,具備共享存儲高可用、讀寫分離等多種部署模式,提供多種性能優化技術,可滿足用戶在海量數據、高并發應用場景下對系統高性能的需求,為用戶打造功能完善、穩定高效的業務數據存儲管理支撐平臺。
地址:http://www.shentongdata.com/
羲和數據庫
新一代高性能安全自主可控全場景通用型統一數據庫。通過配置的方式,適配不同的應用場景,打造全場景覆蓋的能力,滿足企業大部分數據存儲處理需求,從而消除數據孤島,降低系統復雜度,保護企業既有投資,降低企業成本。同時支持x86、arm等異構平臺之間的混合部署。
地址:http://www.halodbtech.com/
Klustron
澤拓昆侖Klustron 是一個分布式數據庫系統,解決海量數據 存儲、管理和分析、利用的系列技術挑戰,支撐高并發高負載的事務處理,提供高吞吐率和低延時的極致性能。在關系數據模型基礎上,Klustron一站式支持GIS, JSON, 文本,向量(vector) 數據管理和查詢檢索,極大地簡化應用系統架構設計和研發復雜度,大幅降低后臺系統運維復雜度和硬件資源開銷,提供與上層應用系統和其他數據處理組件的標準的互操作性和兼容性,幫助用戶實現可插拔的標準化組件式的IT系統架構。
地址:https://www.klustron.com/