昆仑分布式数据库技术优势

2022-01-06 00:00:00 数据 集群 数据库 节点 能力

上章节介绍了昆仑分布式数据库的技术特点,这章紧接上文带来数据库的技术优势。


一、开源、扬众长避众短


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等)


  • 产品质量可控。


  • 人力负担小。


注意:上方(*) 的条目是即将支持的功能



点击阅读原文

推荐阅读

KunlunBase架构介绍
KunlunBase技术特点介绍
KunlunBase集群基本概念介绍

END

昆仑数据库是一个HTAP NewSQL分布式数据库管理系统,可以满足用户对海量关系数据的存储管理和利用的全方位需求。
应用开发者和DBA的使用昆仑数据库的体验与单机MySQL和单机PostgreSQL几乎完全相同,因为首先昆仑数据库支持PostgreSQL和MySQL双协议,支持标准SQL:2011的 DML 语法和功能以及PostgreSQL和MySQL对标准 SQL的扩展。同时,昆仑数据库集群支持水平弹性扩容,数据自动拆分,分布式事务处理和分布式查询处理,健壮的容错容灾能力,完善直观的监测分析告警能力,集群数据备份和恢复等 常用的DBA 数据管理和操作。所有这些功能无需任何应用系统侧的编码工作,也无需DBA人工介入,不停服不影响业务正常运行。
昆仑数据库具备全面的OLAP 数据分析能力,通过了TPC-H和TPC-DS标准测试集,可以实时分析新的业务数据,帮助用户发掘出数据的价值。昆仑数据库支持公有云和私有云环境的部署,可以与docker,k8s等云基础设施无缝协作,可以轻松搭建云数据库服务。
请访问 http://www.kunlunbase.com/ 获取更多信息并且下载昆仑数据库软件、文档和资料。
KunlunBase项目已开源
【GitHub:】
https://github.com/zettadb
【Gitee:】
https://gitee.com/zettadb


相关文章