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/