分布式之Spanner
0. 前言
Spanner由谷歌2012年的论文《Spanner: Google’s Globally-Distributed Database》提出,是谷歌的一个全球级别的分布式数据库。它管理着全球成百上千个数据中心,数百万个服务器,将数万亿数据分片存储到这些服务器上。同时,它支持以下特性:
支持高可用(数据的备份和恢复)。数据可以有多个备份副本,并且可以灵活、细粒度地配置:副本数量、副本所在的数据中心等。副本甚至可以跨国家存储,即使面临大范围自然灾害,数据依旧可用。
同时,Spanner保证这些副本的外部一致性(谷歌创造出来的一种一致性)。
支持广域的分布式事务,对于涉及不同数据中心的事务,也能保证ACID特性。
Spanner如何保证这些特性呢?具体内容请看下文。