复制数据管理:原理、模型与实践
1. 引言
数据复制是一项古老的技术,用于容忍故障、提高系统可用性并减少数据访问延迟。以电话簿为例,由于其体积庞大,人们可能会制作多个副本,分别放在家中和车上。即使车上的副本被盗,也不会造成灾难性损失,因为还可以回家获取另一份副本,而且车上的副本还能节省回家取电话簿的时间,从而减少访问延迟。
数据复制在许多领域都有广泛应用,如稳定存储、缓存内存、分布式共享内存、分布式文件系统和公告板等。除了容错,复制还能降低访问延迟。例如,高层的 DNS 服务器高度复制,否则 IP 地址查找将变得不可接受地缓慢。
在大型系统中,确定需要多少副本以及将它们放置在何处以将延迟降低到可接受水平是值得研究的问题。此外,副本更新也是复制管理中的一个主要问题。如果数据是只读的,如程序代码或不可变数据,则不存在此问题。但当一个副本更新时,为了保持一致性,其他所有副本最终都需要更新。然而,由于进程的计算速度有限以及更新地理上分散的副本存在延迟,即使一个副本已经更新,其他副本的用户仍可能访问旧版本。因此,确定哪些不一致是允许的以及如何恢复一致性是复制数据管理的核心主题。
2. 可靠性与可用性
数据复制的两个主要动机是可靠性和可用性。在分布式文件系统中,最近访问的文件可能会被缓存到桌面硬盘中,即使互联网连接中断一段时间,工作也可能不会受到影响。在万维网上,当主服务器过载时,代理服务器可以提供服务,这体现了复制如何提高数据或服务的可用性。虽然代理服务器提供的服务可能不如主服务器高效,但总比没有服务要好,这就是所谓的优雅降级。当所有服务器都正常运行且客户端访问均匀时,由于服务器负载得到平衡,服务质量会提高。在移动终端和手持设备中,断开连接的操作
超级会员免费看
订阅专栏 解锁全文

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



