分布式数据库:原理、挑战与解决方案
1. 分布式数据库概述
分布式数据库与并行系统不同,并行系统中处理器紧密耦合,构成单一数据库系统;而分布式数据库由弱耦合的站点组成,不共享任何物理组件,且各站点运行的数据库系统可能具有较高的相互独立性。
每个站点既能处理仅访问本地数据的本地事务,也能参与访问多个站点数据的全局事务,全局事务的执行需要站点间的通信。
分布式数据库可分为同质和异质两类。同质分布式数据库中,所有站点使用相同的数据库管理系统软件,知晓其他站点的存在并同意协作处理用户请求,不过站点会放弃部分修改数据库模式或软件的自主权;而异质分布式数据库中,不同站点可能使用不同的模式和数据库管理软件,部分站点可能不知晓其他站点的存在,且在事务处理协作方面提供的便利有限。
2. 数据存储策略
在分布式数据库中存储关系 r 有两种主要方法:复制和分片,这两种方法也可结合使用。
- 数据复制 :将关系 r 的副本存储在两个或更多站点,极端情况下会在每个站点都存储一份完整副本。复制具有提高可用性和增加并行性的优点,若包含关系 r 的某个站点发生故障,可在其他站点找到该关系,系统仍能处理相关查询;当对关系 r 的访问大多为读操作时,多个站点可并行处理读取操作。然而,更新时会增加系统开销,因为要确保所有副本的一致性,每次更新 r 都需将更新传播到所有包含副本的站点。为简化副本管理,可选择一个副本作为主副本。
- 数据分片 :将关系 r 划分为多个片段 r1, r2, …, rn,这些片段包含足够信息以重建原始关系 r。分片有水平分片和垂直分片两种方式。水平分片是
超级会员免费看
订阅专栏 解锁全文
188

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



