第二部分:分布式数据 一个成功的技术,现实的优先级必须高于公关,你可以糊弄别人,但糊弄不了自然规律。 —— 罗杰斯委员会报告(1986) 在本书的 第一部分 中,我们讨论了数据系统的各个方面,但仅限于数据存储在单台机器上的情况。现在我们到了 第二部分,进入更高的层次,并提出一个问题:如果 多台机器 参与数据的存储和检索,会发生什么? 你可能会出于各种各样的原因,希望将数据库分布到多台机器上: 可伸缩性 如果你的数据量、读取负载、写入负载超出单台机器的处理能力,可以将负载分散到多台计算机上。 容错 / 高可用性 如果你的应用需要在单台机器(或多台机器,网络或整个数据中心)出现故障的情况下仍然能继续工作,则可使用多台机器,以提供冗余。一台故障时,另一台可以接管。