我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
每一微秒都很重要:YugabyteDB 通过亚马逊时间同步提升性能
作者:Karthik Ranganathan — Yugabyte 联合创始人兼联合首席执行官 B
y Shreyas Agnihotri — Yugabyte 增长副总裁,专注于分布式数据库作者:乔什·莱文森 —亚马逊云科技技术首席产品经理 Josh Levinson
作者:Julien Ridoux —亚马逊云科技首席软件工程师
![]() |
![]() |
跟踪分布式计算中的事件顺序不仅仅是一个基本问题,它是计算机科学的心跳!多年来,分布式系统的构建者只能将挂钟时间用于日志时间戳和用户界面等面向人类的功能。到目前为止,分布式系统的构建者只能将挂钟时间用于日志时间戳和用户界面等面向人类的功能。精密时钟的缺乏限制了他们构建高性能分布式应用程序的能力。为了追踪事件的实际顺序,工程师们必须想出复杂的机制作为解决方法。如今,时钟精度和精度的进步为分布式系统设计提供了新的可能性。
现在,时钟具有精度和精度,可以毫不费力地适用于分布式系统,我们正在进入系统设计的新时代。时钟精度从令人讨厌的限制转变为一项强大的功能,简化了这些复杂的算法,解锁了前所未有的系统性能水平。该解决方案为您的分布式应用程序提供了立竿见影的、可衡量的好处。
在这篇文章中,我们将深入探讨 YugabyteDB 如何通过与亚马逊 EC2 实例上的增强版亚马逊时间同步服务集成来增强其混合逻辑时钟 (HLC) 机制,后者提供微秒级精确的参考时钟。
关于 YugabyteDB 和亚马逊时间同步服务
YugabyteDB 为全球财富100强公司和初创企业提供关键任务工作负载,涵盖金融科技、金融服务、零售(包括美国顶级连锁超市)、流媒体(尤其是2024年最受关注的NFL比赛背后的平台)和汽车制造等行业。使用精确时间来减少延迟和提高吞吐量意味着 YugabyteDB 的客户可以更快地访问和使用他们的数据,同时保持他们习惯的一致性和灵活性。
亚马逊时间同步服务为YugabyteDB提供微秒级的时钟精度。与不使用亚马逊时间同步服务的部署相比,与 Amazon Time Sync 的改进时钟集成,系统延迟最多可减少 3 倍,吞吐量提高多达 2 倍。我们将探讨这种集成的技术细微差别,以及它如何使分布式应用程序受益。借助 Amazon 时间同步服务,您现在可以在支持的 Amazon EC2 实例上通过 PTP 硬件时钟访问微秒级的时钟精度,从而帮助您构建更高效的分布式系统。这些时钟可用于更轻松地对应用程序事件进行排序、测量单向网络延迟、提高分布式应用程序交易速度、整合区域内和跨区域可扩展性功能,同时还可以简化技术设计。此功能是对许多本地时间解决方案的改进,也是任何云提供商首次提供这种级别的时间服务。
分布式系统中的时间挑战
像 YugabyteDB 这样的分布式数据库旨在跨多个节点运行,通常分布在不同的服务器或地理区域。每个节点都保持自己的系统时钟,从而导致不可避免的时钟偏差,即不同节点上系统时钟之间的时差。时钟偏差会强制进行额外的事务重试,从而增加延迟,这会消耗时间和资源,直接影响应用程序的性能。
这对于需要强一致性和低延迟的应用程序(例如金融服务、电子商务平台和实时游戏)非常重要。
使用亚马逊云科技的 YugabyteDB 解决方案
为了应对时钟偏差的挑战,YugabyteDB 采用混合逻辑时钟 (HLC),它将物理和逻辑时钟结合起来,为交易分配时间戳。图 1 显示了 HLC 如何将物理挂钟时间与逻辑组件相结合,将数十年的计算机科学研究与精确可靠的时钟创新相结合。

图 1:混合逻辑时钟 (HLC) 将 Amazon Time Sync 的物理时间与矢量时钟组件相结合
这种混合方法通过灵活性或逻辑成分确保因果一致性和准确排序。
YugabyteDB 的因果一致性可确保您的交易即使在多个节点上运行时也能保持其正确的顺序和关系。这种方法比传统的挂钟时间系统具有更强的可靠性,可帮助您保持数据准确性,同时最大限度地提高性能。
当我们在2016年启动YugabyteDB项目时,我们的前提是随着时间的推移,公共云中的时钟同步会不断改善。事实证明,亚马逊时间同步服务为云工作负载提供微秒级精度,这一前提是正确的。
使用 PTP 硬件时钟进入亚马逊时间同步服务
为了实现微秒级同步,YugabyteDB集成了增强版亚马逊时间同步服务,支持PTP硬件时钟(PHC)。这种基于本地硬件的参考时间系统位于支持的 Amazon EC2 实例上,是亚马逊云科技Nitro 系统的一部分,因此可以在支持的裸机和虚拟化 Amazon EC2 实例上直接访问该系统,无需使用任何额外的用户资源。
精度时间如何增强 YugaByteDB 的 HLC 机制
通过在亚马逊 EC2 实例和亚马逊云科技ClockBound 库上使用亚马逊时间同步服务的新型 PTP 硬件时钟,YugabyteDB 得以通过以下改进来改进其 HLC 机制,保持竞争优势:
- 减少不确定性窗口:微秒级同步允许 YugaByteDB 最大限度地减少由于节点之间的时差而导致的不确定性窗口。这会减少事务重启次数。
- 改善延迟和吞吐量:减少事务重启可以加快事务处理速度,直接影响应用程序性能,使吞吐量增加一倍以上(吞吐量提高 2 倍),并根据工作负载显著减少交易延迟(延迟提高 3 倍)。图 2 显示了这些改进如何转化为更好的用户体验、更可靠的应用程序和更低的基础设施成本。

图 2:整合 ClockBound 和亚马逊时间同步服务后 YugabyteDB 的性能改进
YugabyteDB 2.23.1 版本支持使用此标志与亚马逊时间同步服务的新型 PHC 和 ClockBound 库集成:—enhance_time_sync_via_clockbound。这个 YugabyteDB 功能目前处于技术预览阶段。
结论
精确的时间同步是高性能分布式系统的基石。通过与支持 PHC 的亚马逊时间同步服务集成,YugabyteDB 增强了其 HLC 机制,您可以立即看到交易延迟减少多达 3 倍,吞吐量提高多达 2 倍。这些性能提升直接转化为更好的应用程序响应能力和基础设施资源的更高效利用。我们鼓励开发人员和组织利用这种集成来构建强大、可扩展和高效的分布式系统。
入门非常简单——只需升级到YugaByteDB 2.23.1或更高版本,然后在支持的亚马逊 EC2 实例上使用 enhance_time_sync_via_clockbound 标志启用该功能即可。我们邀请您探索 YugaByteDB 和亚马逊云科技的强大组合如何改变您的分布式数据库工作负载。访问YugabyteDB博客,了解有关亚马逊时间同步服务的更多信息,或者在Amazon Marketplace上找到YugabyteDB,立即开始优化您的分布式系统。

YugabyteDB —亚马逊云科技合作伙伴聚光灯
YugabyteDB 是适用于关键业务工作负载的云原生关系数据库。它是一款功能齐全的 RDBMS,可通过持续可用性保护企业,通过快速横向扩展增强业务响应能力,并通过业界领先的 PostgreSQL 兼容性提高开发人员的工作效率。
联系 YugabyteDB | 合作伙伴概览 | Amazon Marketplace
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。

