上一篇说了TiDB通过设置单独的管理节点解决分布式事务(全局递增事务标识)和数据路由的问题,但也因此使系统可靠性受到了少量管理节点(PD节点)的制约。今天我们看一下Cockroachdb和OceanBase是如何应对这一问题的。
一,小强CRDB实现了完全对等部署
CRDB通过应用了HLC混合逻辑时钟、Gossip传染式协议等多种技术,以及复杂的工程实现,去掉了集群的管理节点、管理角色。CRDB实现集群所有节点自行管理、自行维护的完全对等部署架构,所有节点角色完全平等且一致(这在现实社会,简直是一个理想的乌托邦世界~~)。
CRDB采用混合逻辑时钟HLC为事务授时,使分布式数据库的事务标识不再依赖某一个节点进行全局统一管理,并通过一系工程实现保障事务强一致性,符合ACID特性。
HLC是以一种客观物理因果关系(在分布式系统中,消息接收端接到消息的时间总是晚于发送端发出的时间,这永不会改变)为基础,不依赖单一节点授