第20章并行数据库.pptVIP

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第20章并行数据库

第20章: 并行数据库 引言 数据库中的并行性 I/O 并行 I/O 并行 (续) 划分技术的比较 划分技术的比较(续) 划分技术的比较 (续) 划分技术的比较(续) 在磁盘间划分关系 偏斜的处理 范围划分中处理偏斜 利用直方图处理偏斜 利用虚拟处理器来处理偏斜 范围划分中的偏斜可以用虚拟处理器很好地处理: 创建大量虚拟处理器(比如是实际处理器数目的10 到20倍) 用任何划分技术将关系元组分配到虚拟处理器 以循环方式将每个虚拟处理器映射到到实际处理器 基本思想: 如果正常划分会导致偏斜, 则偏斜很可能被分散到若干个虚拟分区 偏斜的虚拟分区被分散到若干实际处理器上, 于是分配变得平均了! 查询间并行 缓存一致性协议 查询内并行 关系操作的并行处理 并行排序 并行排序(续) 并行联接 划分联接 划分联接(续) 分片与复制联接 分片与复制联接 分片与复制联接 (续) 分片与复制联接(续) 划分并行散列连接 划分并行散列连接(续) 并行嵌套循环联接 其他关系运算 选择 ??(r) 若?形如ai = v, 其中ai 是属性而v 是值. 若r 在ai上做了划分则选择在单个处理器上进行. 若?形如l = ai = u (即?是范围选择) 且关系在ai上做了范围划分 选择在其划分与指定值范围有重叠的各个处理器上执行. 其他所有情形: 选择在所有处理器上并行执行. 其他关系运算(续) 复本删除 利用任一并行排序技术执行 排序过程中一旦发现复本就删除之. 也可以划分元组(利用范围或散列划分) 并在每个处理器本地执行复本删除. 投影 不带复本删除的投影可以在从磁盘并行读入元组时进行. 如果需要复本删除, 以上任何副本删除技术都可用. 分组/聚合 将关系按分组属性划分然后在每个处理器本地计算聚合值. 通过在划分前部分计算聚合值可以减少划分时传送元组的代价. 考虑sum聚合运算: 在每个处理器Pi对存储在磁盘Di上的元组执行聚合运算 导致在每个处理器上有部分和的元组. 局部聚合的结果按分组属性划分, 然后在每个处理器Pi上再次执行聚合以得到最终结果. 划分时只需将较少元组送到其他处理器. 操作并行求值的代价 如果划分没有偏斜, 并且没有因并行求值引起的开销, 期望加速比将为1/n 如果要考虑偏斜和开销, 并行操作的时间可以估计为 Tpart + Tasm + max (T0, T1, …, Tn-1) Tpart 是划分关系的时间 Tasm 是整合结果的时间 Ti 是处理器Pi上的操作所花时间 这个时间的估计需要考虑偏斜和竞争中浪费的时间. 操作间并行 流水线并行 考虑四个关系的联接: r1 r2 r3 r4 建立一个流水线来并行计算三个联接 令P1 计算 temp1 = r1 r2 令P2 计算 temp2 = temp1 r3 令P3 计算temp2 r4 这些操作可以并行执行: 在计算进一步结果的同时可以将已计算出的结果元组送到下一操作 需要用可流水线化的联接算法 (如索引嵌套循环联接) 限制流水线并行可用性的因素 流水线并行有用是因为它避免了将中间结果写到磁盘 对少量处理器有用, 但对较多处理器伸缩性不好. 一个原因是流水线链不能达到足够的长度. 对于需要取得所有输入后才能产生输出的操作(如合计与排序)不能流水线化 对于经常发生的偏斜情形, 一个操作的执行代价远远高于其他操作, 这时只能获得很少的加速比. 独立并行 独立并行 考虑四个关系的联接 r1 r2 r3 r4 令P1 用来计算 temp1 = r1 r2 P2 用来计算 temp2 = r3 r4 P3 用来计算 temp1 temp2 P1 和 P2 可以独立地并行工作 P3 必须等待来自P1 和P2的输入 可以将P1与P2输出到P3的过程流水线化, 从而结合了独立并行和流水线并行 并没有提供高度的并行 对较低程度的并行有用. 在高度并行系统中用途不大 查询优化 并行数据库中的查询优化比串行数据库中的查询优化复杂得多. 代价模型更复杂, 因为我们必须考虑划分代价以及诸如偏斜和资源竞争等问题. 在并行系统中调度执行树时, 必须决定: 如何并行化每个操作以及为它要用多少处理器. 哪些操作该流水线化, 哪些操作该并行地独立执行, 哪些操作该顺序执行. 为每个操作确定所分配资源的数量是个问题. 例如, 分配比最优方案更多的处理器可导致很高的通信开销. 应该避免长流水线, 因为最后一个操作可能为输入等待很久, 同时占有宝贵资源 查询优化 (续) 要从中进行选择的并行求值计划数目比顺序求值计划的数目大得多. 因此优化时需要启发式 选择

文档评论(0)

170****0571 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档