导读
在分布式数据库系统中,为了解决不同集群、节点事件发生的先后顺序问题,时钟同步至关重要。本文将为大家介绍业界现有的几种主流的时钟同步解决方案,以及分布式数据库 KaiwuDB 基于原子钟技术实现的 Ture-time 机制。
业内的时钟方案
目前业内主流的分布式数据库系统中,采用的时钟同步方案各不相同。
国内比较热门的 TiDB 和 OceanBase 使用的是 Timestamp Oracle (TSO)方案,即中心化授时方案。TSO 采用单时间源、单点授时的方式实现全局时钟,用一个全局唯一的时间戳作为全局事务 id。其中,TiDB 的事务模型是基于 Google Percolator 的,所以从一开始就使用的是类似 Percolator 的 TSO 机制。TiDB 通过集群管理模块 PD 统一进行时间的分配,以保障整个系统时间的全局同步。这种模式的优势是实现简单,在同一个数据中心下网络开销非常小,但在跨地域的使用场景中延迟较高。并且,中心化授时方案会成为整个系统的性能bottleneck,且授时服务的单点故障会直接导致整个分布式集群的不可用。
此外,CockroachDB 采用的是 HLC 作为时钟同步方案;Google 的 Spanner 使用的是结合原子钟+GPS 硬件的 ture-time 机制,实现了全球化低延迟部署。
了解时钟同步
数据库的核心就是将每一个事务的操作进行排序,在传统的单机架构下,事务的排序可以通过日志序列号或事务 ID 轻松实现。但是在分布式架构下,数据库运行在多台服务器上,每个数据库实例有独立的时钟或日志(LSN),而服务器和服务器之间时钟点有快慢之差,所以分布式数据库下的时钟无法反映全局的事物顺序。作为分布式数据库的关键技术之一,时钟同步技术就是为了解决分布式数据库中事件发生的先后顺序问题而存在。
随着分布式系统规模的不断扩大,不同集群和不同节点的时间同步问题变得异常复杂。目前,分布式数据库业界普遍采用的时钟同步方案包括物理时钟、逻辑时钟、向量时钟、混合逻辑时钟、True-Time 机制五大类。
1. 物理时钟(

本文探讨了分布式数据库中的时钟同步技术,包括TimestampOracle(TSO)、HLC、物理时钟、逻辑时钟、向量时钟和混合逻辑时钟。重点介绍了KaiwuDB如何从NTP+HLC演进到基于原子钟的True-Time机制,通过PTP协议实现亚毫秒级的时钟同步,提升了数据库在高并发场景下的性能。KaiwuDB的方案支持多种时间同步模式,实现了与Google Spanner类似的高精度时间同步,但成本更低,适用于大规模分布式系统。
最低0.47元/天 解锁文章
140

被折叠的 条评论
为什么被折叠?



