第九章 并行与分布式数据库
9.1 关系的并行算法
1、并行模型
(1)共享内存机器
(2)共享磁盘机器
(3)无共享机器
2、并行算法
(1)一次一个元组的操作的并行
类似于分块的思想,将关系R的元组平均的分组到P个处理器的磁盘上,并行选择,然后汇总。
(2)整个关系操作的并行算法
δ(R)是什么操作符?这部分没看懂
(3)并行算法的性能
计算磁盘I/O,这个需要根据具体的操作具体计算,还要结合有多少处理器P来计算
9.2 MapReduce并行架构
见MapReduce论文总结
9.3 分布式数据库
介绍而已,介绍了数据的分布,分布式事务,数据复制
9.4 分布式查询处理
1、半连接化简
如果连接后包含许多悬挂元组,则半连接化简有效,减少了网络间数据传输量
2、多个连接的化简
(1)超图,循环不可化简,非循环则可化简
(2)非循环超图的完全化简
9.5分布式提交
重点,两阶段提交
分布式事务的恢复,某些情况下有些复杂
9.6分布式封锁
(1)简单方法:集中封锁系统
所有的封锁在一个节点上进行,消息数量3n。
(2)分布式封锁带来的问题:
数据有多个副本,为了保证可串行性,事务必须获得逻辑元素上的全局锁(注意区分全局锁和局部锁)
将局部锁转变为具有所需性质的全局锁的方法:
一个逻辑元素X可以有一个排它锁且没有共享锁,也可以有任意个共享锁且没有排它锁。
(3)承接(1)改进方案一 主副本封锁
改进点:所有逻辑元素不是由一个节点来管理封锁了。逻辑元素X有多个副本,但只有一个主副本,主副本所在的节点维护逻辑元素X的封锁。
(4)承接(1)改进方案二 局部锁构成的全局锁
假设数据库元素A有n个副本,有两个数:
s事务获得A上的全局共享锁时必须以共享方式封锁A的副本数
x事务获得A上的排它锁时必须以排他方式封锁A的副本数
条件:2x > n && s + x > n,则可以满足(2)中的性质,可以自己验证
弊端:分布式死锁
应用:
读封锁一个,写封锁所有,适用于大多数事务是只读事务。
s = x = (n+1) / 2上取整
9.7 对等分布式查找
1、对等网络
2、分布式散列问题
限制条件:
(1)只有一个节点知道与任意给定的关键字K对应的值
(2)k-v分布均匀
(3)查询需要的消息数增长缓慢
(4)维护信息增长缓慢
3、方案一 带弦的圆
(1)每个节点记录前驱和后继
(2)每个节点维护手指表
(3)手指表的查询,利用倍增的思想(可以类比倍增求LCA时的思想)
(4)加入新节点与端离开网络
轮询执行稳定性检测
(5)端崩溃
解决方案:数据复制,3份,自身,前驱和后继
本文探讨并行与分布式数据库的关键概念,包括并行算法、MapReduce架构、分布式查询处理、事务提交与封锁机制,以及对等分布式查找。深入分析了并行模型、分布式事务的恢复与封锁策略,提出了分布式死锁的解决方案。
1150

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



