• GBase 8c 核心技术


    GBase 8c 核心技术

    1 自适应事务处理机制

    GBase 8c 采用自适应的事务处理机制来提升系统性能。对于只需要在本地
    节点进行处理的事务,协调器按本地事务处理流程进行处理,不需要进行两阶段
    提交,以提升事务处理的效率;对于需要跨节点处理的事务,协调器协调参与者
    进行两阶段提交,以保障全局事务的一致性。整个事务处理的流程对客户端透明。

    2 数据分布策略

    GBase 8c 支持复制表和分布表, 通过数据分布策略来避免并行计算期间的
    资源竞争,同时提升系统性能。复制表是指每个节点上都复制一份数据,数据关
    联时在节点本地完成。分布表是指一份数据根据某个键值水平拆分到不同的节点
    上,将单个大表拆分成若干小表,提升系统读写的性能。


    复制表和分布表的适用场景如下:

    表类型操作类型性能表现适用场景
    复制表插入较慢字典表
    小表
    查询(JOIN) 快/高并发/线性提升
    分布表插入快/高并发/线性提升 事实表
    表类型操作类型性能表现适用场景
    查询(多表单片)快/高并发/线性提升 超大表
    易分片的表
    查询(单表多片)较快
    查询(多表多片)避免出现
    复制表-分布表混合 复制表对单一分布表
    JOIN 查询
    较快主题表-事实表
    字典表-事实表
    小表-超大表

    3 高效锁管理

    GBase 8c 通过锁提前释放(Early lock Release,ELR)来提升系统的吞吐
    量。


    在数据库中,典型的事务操作流程如下:
    1. 开始事务;  

    2. 查找需要更新的数据并加锁,准备更新;
    3. 更新数据并产生日志;
    4. 日志提交;
    5. 日志持久化;
    6. 释放锁;
    7. 事务提交并通知客户端;
    事务在提交并且持久化日志的时候会带来 IO 操作,而 IO 操作通常而言比较
    耗时。如果事务中此前的操作都是内存操作的话,这些 IO 的相对耗时就会显得
    更大。 IO 虽然可以做成异步的,但是在 IO 结束之前锁都仍然会被持有,从而会
    阻塞其他的并发事务。如果可以把第 6 步释放锁的操作提前,放到第 5 步日志持
    久化之前,则可以让并发操作同一记录(试图获得锁)的事务提前开始执行,从
    而可以增加系统的吞吐量。  

  • 相关阅读:
    【Git】升级MacOS系统,git命令无法使用
    前端HTML5 +CSS3 1. 基础认知
    OpenCV学习笔记(四)——对视频的读取操作
    金仓数据库 KingbaseES 插件参考手册 pg_partman
    windows下python开发环境的搭建 python入门系列 【环境搭建篇】
    Java 开发从零开始,java 基础入门传智播客网页版,Java 后端路线图
    【架构师视角系列】Apollo配置中心之架构设计(一)
    MacOS安装git
    ElementUI之MessgageBox使用
    JDK下载安装及环境配置
  • 原文地址:https://blog.csdn.net/huixinhuiyismile/article/details/127650543