昆仑分布式数据库技术优势
上章节介绍了昆仑分布式数据库的技术特点,这章紧接上文带来数据库的技术优势。
一、开源、扬众长避众短
1.1 集 3 大主要数据库 Oracle、MySQL、PostgreSQL 的强项于一身并产生 1+1>>2 的放大效应,可以广泛汇聚社区能量,产生长久的价值和生命力。
Oracle:存储引擎,查询处理。
innodb 完全遵从 Oracle 的存储引擎的设计。
MySQL:innodb 存储引擎和 binlog 复制(RBR)。
PostgreSQL:查询处理能力在所有开源 RDBMS 中最强。
MySQL&PostgreSQL 开源社区的人力资源和技术资源。
1.2 避免它们的弱项
Oracle:硬件和软件昂贵,成本过高:无法做到安全可控,政策合规。
MySQL:查询处理的性能和功能有限:单机数据库,无法水平弹性扩容。
PostgreSQL:存储引擎不适合重负载 OLTP 负载.
二、查询处理能力
2.1 计算节点支持 PostgreSQL 的所有主要查询处理功能。
支持绝大多数 DDL 和所有 DML 语法和功能。
例外:外键和触发器,tablespace 和存储相关功能,WAL replication。
支持所有基本数据类型。
数值,字符串,text/blob,时间 1 日期/时间戳/money/enum,序列等等。
支持高级查询处理功能。
任意跨 shard 的多表连接,子查询,存储过程。
OLAP 分析能力:聚集函数,window 函数,grouping sets, cube, rollup。
CTE,视图,物化视图,真 prepared stmt,jit.
2.2 计算节点兼容 MySQL 和 Oracle 的常用 SQL 语法(*)。
支持 MySQL 客户端协议(*)
去 O 的迁移工作量较小,技术人员技能可平移,学习曲线平缓(*)
三、全方位数据安全保障
3.1 在数据源头控制数据访问更加安全可靠。
统一/多层级/灵活动态配置访问控制规则。
应用层面访问控制的多种缺陷。
不统一:多种应用访问同一个数据库,每个应用都需要规则配置甚至编码实现。
不灵活动态:硬编码的访问控制规则,不容易修改。
不安全:控制策略和规则本身会泄露信息。
3.2 多层级细粒度的访问控制。
多层级的用户/角色。
多层级的数据库对象:数据库/schema/表/视图/列。
多层级管理各种数据库对象的访问控制规则。
3.3 用户数据全系统加密:数据文件和 binlog 文件以及日志文件均可加密;
SSL 全链路加密,安全传输数据; 多级(database,schema,table,view,column)细粒度访问控制。
四、兼容并蓄
4.1 计算节点开放架构。
Extension:无缝兼容 PostgreSQL 生态,PostGIS 等。
FDW(foreign data wrapper):可以实现接口来读取所有主流数据源。
hadoop 生态:hbase,hive 等。
主流数据库:Oracle,MSSQL Server,DB2,MySQL,PostgreSQL 等等
列存储(OLAP)和时序数据库。
4.2 计算节点其他优势。
完善的 i18n/globalization/localization 支持。
时区,字符集和 collation。
多语言能力。
五、多层级多方面的扩展能力
5.1 按需弹性水平扩展能力。
多个读写节点,处理读写负载都可以按需扩展处理能力。
无共享(sharenothing),无单点依赖。
无性能瓶颈,无计算/存储能力瓶颈。
按需增减计算节点和存储集群/节点。
透明的按需扩展,业务系统和最终用户无感知。
存储集群扩容速度可调,对数据源节点的计算/存储/网络资源消耗可控。
5.2 全系统并行计算能力。
充分发挥服务器的并行工作能力。
多核并行。
存储系统并行。
网络系统并行。
六、其它优势
6.1 不用固定分区数量,而是可以每个表不同的分区数量,分区规则(3 种),并且可以使用任意数量的分区列,甚至对于小表可以完全不分区。
6.2 存储集群
性能领先:分布式事务处理性能大大高于社区版本 http//www.zettadbcom/blogs/perf-cmp-mysql。
完备的容灾能力:填补社区版 MySQL80 的分布式事务处理的容灾能力空白。
https://fosdemorg/2021/schedule/event/mysqlxal
本技术分享视频的国内地址:https//wwwbilibilicom/video/BV1zo4y1d7pu
原生的 onlineDDL 功能:快速加列。
6.3 昆仑数据库 VS MySQL:使用昆仑数据库管理小规模数据的优势。
放大了单-MySQL 集群的能力,按需水平扩展能力和更强大的数据分析能力。
更简单方便地使用 MySQL 集群:自动切主并维护 mysql 集群状态。
并行查询处理,备机读。
6.4 集群结构简单,不依赖第三方模块和软件(etcd/zookeeper 等)
产品质量可控。
人力负担小。
注意:上方(*) 的条目是即将支持的功能
需要技术支持可以微信搜索微信号(KunLunDB-Linda),添加客服,在线沟通即可。
版权声明: 本文为 InfoQ 作者【KunlunDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/12f02e50a3efd8b04e74ac09a】。文章转载请联系作者。
评论