PXC Certification-based (Galera Cluster)


Certification-based 复制使用组通信和事务排序技术来实现同步复制。

事务在单个节点或副本中乐观被执行, 然后在提交时, 它们运行协调的证书过程以强制实现全局一致性。它在广播服务的帮助下实现全局协调, 在并发事务中建立全局唯一编号。

 

Certification-based复制要求

不是所有数据库都能实现Certification-based 复制,它需要数据库的某些特性

事务型数据库  它要求数据库是事务性的。具体地说, 数据库可以回滚未提交的更改。

原子性变化  它要求复制事件以原子的改变数据库。具体地说, 数据库操作系列必须全部发生, 否则不会发生任何事情。

全局顺序一致性   它要求全局顺序一致复制事件。具体地说, 它们以相同的顺序应用于所有实例。

 

Certification-based复制如何工作

certification-based 复制的主要思想是, 事务在到达提交点之前按常规执行, 假设没有冲突。这称为乐观执行

certification-based复制

当客户端发出 commit 命令时, 但在实际提交之前, 由事务和更改行的主键对数据库所做的所有更改都将收集到 write-set 中。然后, 数据库将此 write-set 发送到所有其他节点。

然后, write-set 使用主键进行验证测试。这是在群集中的每个节点上完成的, 包括源自 write-set 的节点。它确定节点是否可以应用 write-set

如果证书测试失败, 节点将丢弃 write-set, 而群集将回滚原始事务。如果测试成功, 则会提交事务, 并将 write-set 应用到群集的其余部分。

 

GALERA 集群中certification-based 复制

GALERA 集群中实现 certification-based 复制取决于事务的全局排序。

GALERA 集群在复制期间为每个事务分配一个全局序号序列号或 seqno,当事务到达提交点时,节点检查序列号与上一个成功事务的序号,检查在两序号之间未提交的事务和本事务是否有冲突,且检查在此期间的所有交易记录是否主键冲突,如果检测到冲突, 则验证测试失败

所有复制副本接收事务的顺序相同。因此, 所有节点都对事务的结果做出相同的操作。启动事务的节点随后可以通知客户端应用程序是否已提交事务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值