分布式数据库管理系统:原理、设计与优化
1. 两阶段提交与数据库恢复
在分布式数据库中,两阶段提交是确保事务一致性的重要机制。如果一个或多个下属节点未提交事务,协调者会发送 ABORT 消息,强制它们撤销所有更改。两阶段提交的目标是保证每个节点都提交其事务部分,否则事务将被中止。若有节点提交失败,恢复数据库所需的信息会记录在事务日志中,可通过 DO - UNDO - REDO 协议恢复数据库,且日志信息是使用预写协议更新的。
2. 性能与故障透明性
2.1 数据库可用性
数据库的一个重要功能是使数据可用。基于 Web 的分布式数据系统要求高可用性,即数据不仅要可访问,请求也要能及时处理。例如,谷歌搜索的平均响应时间不到一秒。
2.2 性能与故障透明性的概念
性能透明性让分布式数据库管理系统(DDBMS)表现得像集中式数据库,不会因数据分布而导致性能下降。故障透明性确保系统在节点或网络故障时仍能继续运行。虽然这是两个不同的问题,但相互关联,因为故障节点或拥塞的网络路径可能导致性能问题。
2.3 查询优化目标与成本因素
查询优化的目标是最小化请求执行的总成本。请求的成本与以下因素有关:
- 从多个远程站点访问数据的访问时间(I/O)成本。
- 分布式数据库系统中节点间数据传输的通信成本。
- 管理分布式事务处理开销的 CPU 时间成本。
成本常分为通信成本和处理成本,但很难将两者完全分离。不同的查询优化算法使用不同的参数,并对各参数赋予不同的权重。例如,有些算法最小化总时间,有些最小化通信时间,还有些不考虑 CPU 时间
超级会员免费看
订阅专栏 解锁全文
1210

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



