昆仑分布式数据库技术特点
上章节介绍了昆仑分布式数据库的架构,这章节接着介绍昆仑分布式数据库的技术特点!
一、高可用性(HA)
兼容多种强一致性,高可用性方案(strong consistency,high availability)
1.1 存储shard:默认使用MySQLGroupReplication保障数据库服务高可用
1.2 2*N+1个节点的shard,每个已提交的事务都复制到了至少N个备机
1.3 兼容基于mysqlrowbasedreplication的半同步同步的高可用技术(*)
1.4 兼容基于共享存储实现高可用的mysql存储集群(*)
二、完备的容灾能力
完备的容灾能力(crash safety&fault tolerance)
2.1 存储集群主备强一致
2.2 GTP:全局事务容灾能力
分布式事务两阶段提交
节点/网络故障时可以保障分布式事务ACID
2.3 GMR:DDL与集群全局元数据一致性
DDL事务涉及计算节点,元数据集群,存储集群
2.4 GMR:计算节点之间的元数据语句复制及其一致性保障
复制过程随时可能中断
2.5 GTP:计算节点自动切换存储集群主节点(auto failover)
元数据集群,存储集群
2.6 GTP:cluster_mgr:自动维护各shard的存储集群复制状态
三、水平扩展能力
高可扩展性(high scalability):计算能力,存储空间,资源利用率
3.1 IAP:灵活的sharding方式
用户对sharding方式拥有全部控制
sharding方式:hash/range/list,未来mirror(*)
选择sharding列:任意若干个列
用户理解自己的数据及其访问模式
定制分区选项达到优性能
专业模式VS 傻瓜模式
根据数据表的规模定制sharding方案
不需要预估全局的固定的分区数目,也不把所有表等分为固定数量的分区
可以为每个表按需增加分区,各表分区数量各异
少化两阶段提交的事务数量
计算节点自动为每个分片选择合适的存储集群
3.2 ESO:自动按需扩展(*)
自动透明地分布数据表到新加入的存储集群
业务和终用户无感知
3.3 GPQP:全局并行查询处理:后摩尔时代,利用更多的计算资源
计算节点层的并行
计算节点与存储节点之间的并行
存储节点层的并行(*)
3.4 多点读写
按需增加/减少计算节点
按需增加/减少存储shard(*)
存储集群支持多点写入(*)
备机读(*)
四、查询处理
4.1 充分理解用户数据
本地存储完备的元数据和数据字典
本地存储完备的全局数据统计信息
有条件产生优的分布式查询计划和查询执行性能
4.2 完整的查询处理过程
parser->resolver->optimizer->executer
可以处理任意SQL查询
支持多表连接,子查询,聚集查询,CTE,window function,存储过程,视图,物化视图
完整的查询处理功能:真prepared statement
4.3 完美支持OLAP查询
查询处理能力完美支持大数据分析任务
直接使用本地数据,无需数据搬迁,无需spark/hadoop生态
4.4 可以调用MySQL系统函数和用户定义的存储过程/函数
点击阅读原文
推荐阅读
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
相关文章