ITPub博客

首页 > 数据库 > 国内数据库 > 昆仑分布式数据库技术特点

昆仑分布式数据库技术特点

原创 国内数据库 作者:KunlunDB 时间:2022-01-17 15:15:32 0 删除 编辑

上章节介绍了昆仑分布式数据库的架构,这章节接着介绍昆仑分布式数据库的技术特点!


一、高可用性(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技术优势介绍
PostgreSQL vs MySQL TPC-H 测试
Kunlun-Storage vs PostgreSQL OLTP 测试

END

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70011764/viewspace-2852616/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2021-12-27

  • 博文量
    103
  • 访问量
    31398