【AntDB分布式数据库的发展展望】分布式数据库优化方案 - OLTP性能优化

AntDB通过引入基于提交时间戳的MVCC机制优化OLTP性能,解决多核可扩展性和全局快照单点瓶颈。对于OLAP,利用列式存储和向量化执行引擎提升处理能力。分布式事务通过主节点选举和二阶段提交策略,减轻GTM压力并增强系统鲁棒性。
摘要由CSDN通过智能技术生成

目前 AntDB 已经同时具备 OLTP 和 OLAP(HTAP)的能力,由于用户对性能的要求是永无止境的,所以还需要继续优化 OLTP 和 OLAP 的性能,针对OLTP 的优化采用基于提交时间戳的 MVCC 机制,针对 OLAP 的优化采用列式存储和向量化执行引擎,下面举例说明 AntDB 在这两方面的具体优化方案。

OLTP性能优化

AntDB 已具备完整的 OLTP 功能,性能随着数据节点增多略呈线性增长。目前 AntDB 事务的并发性能存在两方面瓶颈:第一,数据节点的事务采用基于快照的可见性判断机制存在多核可扩展瓶颈;第二,分布式事务采用全局快照可见性判断机制存在单点瓶颈。具体平衡点分析如下。

AntDB 基于快照的事务可见性判断机制如图 7-2 所示。

图 7-2  AntDB 基于快照的事务可见性判断机制

存在如下锁冲突竞争:

● 获取快照需要加共享锁遍历Proc Array。

● 事务结束时需要加锁清理自己的Proc。

● 有时还需要CLOG判断可见性,读写CLOG需要加读写锁。

AntDB 分布式事务流程可参见图3-2,为方便阅读,复制于此,如图7-3 所示。

存在如下单点瓶颈:

● 每次需要生成全局范围内的活跃事务XID列表,在GTM上管理活跃事务XID列表。

● 造成网络瓶颈和GTM的CPU瓶颈。

AntDB 接下来将采用基于提交时间戳的 MVCC 机制,消除基于快照的多核可扩展和全局快照单点瓶颈。

● 事务开始和提交时分配时间戳。

● 任意并发事务T1和T2。

T1提交的修改对T2可见的条件:T1.commit_ts≤ T2.start_ts。

GTM 不保存全局活跃事务 XID 列表,与分布式事务相关的分片节点选举出主节点,分布式事务提交时下发给主节点,由主节点进行二阶段提交,主节点保留分布式事务的状态和参与节点的信息,参与节点保留主节点的信息。分片节点根据各自的事务状态列表判断可见性,故障转移时,根据本地事务状态信息和节点信息恢复事务到故障点,决定未完成的事务是继续提交还是回滚。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值