实现地理复制存储低延迟事务的 Blotter 协议
在当今的互联网服务中,地理复制存储系统变得越来越重要,它能够将数据存储在离用户更近的地方,从而降低延迟,提高用户体验和业务收入。然而,对于一些需要强一致性和事务支持的应用来说,如何在地理复制系统中实现低延迟的 ACID 事务仍然是一个挑战。本文将介绍一种名为 Blotter 的事务性地理复制存储系统,它通过利用非单调快照隔离(NMSI)来降低地理复制系统中 ACID 事务的延迟。
1. 地理复制存储系统背景
许多互联网服务依赖地理复制存储系统,以减少数据与终端用户之间的距离。虽然一些系统采用弱一致性来提高性能和可用性,但也有部分应用需要强一致性和事务支持。例如,谷歌的许多应用运行在 Megastore 上,它在同一分片内提供 ACID 语义,而不是性能更好但语义较弱的 Bigtable。这一趋势推动了 Spanner 等提供通用可序列化事务的系统的发展。
2. Blotter 系统概述
Blotter 是一个事务性地理复制存储系统,旨在通过利用非单调快照隔离(NMSI)减少地理复制系统中 ACID 事务的延迟。它的目标是实现:
- 在无故障运行且客户端与某个副本位于同一数据中心时,跨数据中心最多进行一次往返。
- 读操作始终由本地数据中心提供服务。
为了实现这些目标,Blotter 结合了在数据中心级别执行的新型并发控制算法,以及基于 Paxos 的复制状态机,该状态机在数据中心之间复制并发控制算法的执行。这两个组件利用 NMSI 的特性,减少了副本之间的协调量。
与之前提出的 NMSI 系统 Jessy 相比,Blotter 针对全复制场景,这
超级会员免费看
订阅专栏 解锁全文
7

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



