并行数据库作业论文

上传人:飞*** 文档编号:30663776 上传时间:2018-01-31 格式:DOC 页数:5 大小:70KB
返回 下载 相关 举报
并行数据库作业论文_第1页
第1页 / 共5页
并行数据库作业论文_第2页
第2页 / 共5页
并行数据库作业论文_第3页
第3页 / 共5页
并行数据库作业论文_第4页
第4页 / 共5页
并行数据库作业论文_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《并行数据库作业论文》由会员分享,可在线阅读,更多相关《并行数据库作业论文(5页珍藏版)》请在金锄头文库上搜索。

1、并行数据库的研究摘要:像其它计算领域一样.并行处理也许是高性能数据库系统的必由之路。近年来.随着微处理器技术的进步.出现了大规模并行处理的研究热潮。这不仅从技术上.同时也从商业上为并行数据库系统的研究和发展创造了有利条件。按现阶段的技术水平,大规模并行处理机能提供比传统的大型机高得多的性能/价格比。并行数据库系统(Parallel Database System)是新一代高性能的数据库系统,是在 MPP 和集群并行计算环境的基础上建立的数据库系统。并行数据库系统是在并行机上运行的具有并行处理能力的数据库系统,是数据库技术与并行计算技术相结合的产物。本文比较详细的分析了并行数据库的一些相关知识。

2、首先介绍了什么是并行数据库,然后分析了并行数据库的性能以及性能的优化方法,然后又分析了并行数据库的体系结构,进而分析了并行数据库的查询优化方法,并在最后做了总结。1 什么是并行数据库并行计算技术利用多处理机并行处理产生的规模效益来提高系统的整体性能,为数据系统提供了一个良好的硬件平台。研究和开发适应于并行计算机系统的并行数据库系统成为数据学术界和工业界的研究热点,形成了并行处理技术与数据库技术相结合的并行数据库新技术。 并行处理技术与数据库技术的结合,具有潜在的可行性。因为关系数据库模型本身就有极大的并行可能性。关系数据模型中,数据库是元组的集合,数据库操作实际是集合操作,许多情况下可分解为一

3、系列对子集的操作,许多子操作不具有数据相关性,因而具有潜在的并行性。 一个并行数据库系统应该实现如下目标: 1)高性能 并行数据库系统通过将数据库管理技术与并行处理技术有机结合,发挥多处理机结构的优势,从而提供比相应的大型机系统要高得多的性能价格比和可用性。例如,通过将数据库在多个磁盘上分布存储,利用多个处理机对磁盘数据进行并行处理,从而解决磁盘“I/O”瓶颈问题。通过开发查询间并行性(不同查询并行执行)、查询内并行性(同一查询内的操作并行执行)以及操作内并行性(子操作并行执行)大大提高查询效率。 2)高可用性 并行数据库系统可通过数据复制来增强数据库的可用性。这样,当一个磁盘损坏时,该盘上的

4、数据在其他磁盘上的副本仍可供使用,且无需额外开销(与基于日志的恢复不同)。数据复制还应与数据划分技术相结合以保证当磁盘损坏时系统仍能并行访问数据。 3)可扩充性 这里,数据库系统的可扩充性指系统通过增加处理和存储能力而平滑地扩展性能的能力。理想情况下,并行数据库系统应具有两个方面的可扩充性优势:线性伸缩和线性加速。2 并行数据库性能研究2.1 影响并行数据库性能的几点因素影响并行数据库性能的因素很多, 硬件结构、数据分布、查询处理等都会对并行数据库的性能带来很大影响。并行数据库的硬件结构主要有三种( 见图1) :SE ( Shared Everything ) 结构: 该结构中所有的硬盘与内存

5、均可为每个处理机所共享, SE 结构也称为SM ( 共享内存) 结构, 1BM3090 系列机为此结构。SD( Shared Disk ) 结构: 每个处理机可以直接存取任何一个磁盘, 但都有其私有内存, Wisconsin DIRECT为SD 结构。SN( Shared Nothing ) 结构: 每个处理机都有其私有内存和硬盘, Teradata, DBC/ 1012 属SN 结构。数据分布是影响并行数据库性能的另一因素, 在并行数据库环境中, 数据分布主要是指将一个关系水平划分成若干片段再分配到各处理机上。需要指出, 数据分布是静态的, 而查询处理则是动态的, 两者关系极为密切, 合理的

6、数据分布可以为查询处理打下良好的基础, 而查询处理的目标又应与数据分布的目标一致, 才能取得更好的效果。查询的主要工作是执行运算, 其中出现频率高又费时间的是连接运算, 研究的重点是降低连接运算的时间。2.2提高并行数据库性能的几点考虑上面讨论了影响并行数据库性能的几个主要因素, 在硬件结构确定之后, 主要的考虑就集中在数据分布与查询处理上, 在数据库环境下, 数据文件之间互相联系, 数据分布与查询处理相互影响, 应在一个集成的环境中, 统一的目标下考虑才会有最好的效果。查询处理主要考虑缩短连接运算时间, 数据的静态分布要有利于两个关系的连接运算, 能均匀地在各处理机上执行。如果连接运算以PS

7、MJ 算法执行, 那么若执行R join S, 则在N个处理机中的每个处理机的数据量应大致为|R|/ N 与|S|/ N, 而且尽可能使每个处理机的连接属性上的值相同, 即或 从而将连接运算变为简单连接运算, 减少连接运算的次数, 缩短连接运算的时间, 这样形成的关系R 和S 的数据分片可以通过一种改进的值域划分法得到。在数据分片时, 数据的基本单位也要考虑, 通常都以一个完整的关系作为划分的基本单位, 但是数据分片的基本依据是应用, 如果应用对某关系的访问只包含对该关系片段中的一些元组的访问。例如对关系R 的访问中, 若经常访问的是R1 或R2 中的一些元组( R1, R2 可由查询语句确定

8、) , 则不妨将R 的分片按R1, R2两部份作为基本单位, 如图2 所示, 再将此二部份分别分到N个处理机中, 这样可以减少查询处理中对无关元组的访问。3 并行数据库系统的体系结构3.1 SQL 软件中的两种并行性SQL是标准化的最为流行的关系查询语言。由于SQL的非过程化特点和关系运算语义的简洁性.使SQL软件中存在着许多被并行化的机会。首先.把一种关系运算的输出结果导向另一关系运算.使两个以上的关系运算构成流水线.就得到了“流水线并行性”(或称“程序并行性”)。其次.用多台处理机存储器分割大的数据集.使得一个运算被分割成多个相同的关系运算而作用于不同的数据对象.就得到了所谓“划分并行性”

9、(或称“数据并行性”)。流水线并行性的性能往往受到下列限制:(l)关系流水线通常比较短;(2)某些关系运算在消耗完全部输入关系之前不产生输出.比如聚集运算(aggre-gate)和排序运算(sort);(3)某些运算的代价大于其他运算。相比之下,划分并行性提供了较好的加速和放大的机会通过划分关系运算的输入和输出可以取分而治之的方法.把大作业转化为多个独立的作业。这是加速和放大的理想条件。3.2、并行数据库中的错开问题在并行数据库系统中一般文献谈到的错开形式有两种:数据错开和执行错开。特别地.错开对并行连接算法的影响尤为严重.这其中的主要原因是,现有的并行连接算法都是对经典连接算法的简单并行化.

10、因而对错开十分敏感。由于认识到错开是影响并行数据库性能的主要因素之一因此.错开问题也成为这几年并行数据库研究中十分活跃的领域。文9中更精确地归纳出了以下五种错开:(l)内函错开:即关系元组中,某些属性值远远超出属性值空间的均值范围。这种形式的错开是数据源的特性.不随算法而变化;(2)元组放置错开:指关系元组的最初划分分布。例如.使用聚集属性方法划分元组;(3)选择错开;指同样的选择谓词作用于不同的数据分区所造成的选择率的不同。明显的例子是在分区上执行一个区域选择;(4)重分布错开:指连接键值的分布与重分布函数期待的分布不匹配;(5)连接结果错开:各分区的连接的选择率呈现不同。好的算法应能处理每

11、一种错开。3.3、并行恢复与并发控制并行恢复对于并行数据库系统的坚固性致关重要。当系统中某一结点或磁盘发生故障.其余存活的结点要能够自动探测.并利用日志信息.把故障结点的工作接管过来.从而使系统继续正常运转.并行系统中的每个结点只维持一部分日志信息.必须采取某种措施保证其一致性。另一方面.并发控制对系统的响应速度影响很大.并行数据库系统支持的并发事务数目要比传统的大型机系统大得多.要获得高的吞吐率,必需采用先进的控制技术。oraele7采用T“行级锁”(row-level locking)思想.利用先进的“并行缓冲区管理”和“并行锁管理”技术实现并发控制。这种独特的并发控制机制不会发生并发更新

12、和查询的阻塞.提供了最细粒度的锁控制.保证了数据资源上的竟争最小。并行缓冲区管理程序和并行锁管理程序负责追踪数据块副本的位置和最新状态,使结点间的数据移动最小化.能有效地节约网络带宽。Oracle7的并行缓冲区管理实际上是一种改进了的多版本控制技术.目前看来是一种比较先进的并发控制技术。4 并行查询优化数据库查询优化技术一直受到十分的重视.在传统的优化方法中通常采用了代数变换和启发式两种优化措施.其时间复杂性是一个主要问题。并行性的引入又给查询优化带来了新的研究课题。首先.编译时的静态优化缺乏关于系统资源可用性的知识(如可用的缓冲区大小、自由处理机的数目等).因此它产生的执行规划很难充分利用并

13、行流水线资源以达到线性缩短求解时间之目的。解决这个问题的办法是采用动态优化技术。动态优化除了执行编译时的优化外,还建立了运行时支持功能.根据CPU负载、中间结果特性、主存使用情况等系统信息动态适应执行规划。很显然.动态优化比静态优化困难得多.其次.并行执行规划的搜索空间变得更加庞大.使动态优化的时间复杂性问题更加严重.是否存在一种折衷方案.不致于增加太多的复杂性?一种方案是所谓两段静态优化.它的含义是.首先在忽略并行性的前提下对查询进行常规优化。然后.将选中的查询规划做进一步的并行化优化.这种方法也能减小优化的搜索空间.因此在并行化一个现存的DBMS时特别有吸引力。在并行查询中,查询树的选择也

14、与传统的做法不同。右深树(right-deep tree)利于流水线并行.但其结构灵活性差.因而对性能构成限制。相比之下.丛生树(bushy tree)为查询规划的生成提供了更多的灵活性.已经证明,对于分类合并连接算法.丛生树的执行性能可以超过线性树.特别是当查询中涉及的关系数目很大时更是如此。但对于散列连接算法.丛生树结构的执行规划调度要比右深树复杂得多.要达到丛生树充分利用流水线的目的.即使不是不可能.也是非常困难的.因此,需要提出一种更趋合理的查询树结构.使之更利于并行优化的执行规划的产生。比如,有人提出了分段右深树结构。5 总结并行数据库系统主要有两个目的:一是利用多CPU和盘等系统资

15、源极大地提高多用户处理能力;二是利用多CPU和盘实现单个查询的并行处理.显著缩短复杂查询的执行时间。简单地说就是查询间并行和查询内并行.查询内并行性又分为算子间并行性和算子内并行性。围绕这两个目的,本文从系统结构的角度提出了六个方面的设计问题。除了本文提出的几点间题之外.并行数据库系统还有其它问题需要认真研究。如,关于数据库的并行装填、并行卸出和并行数据重组等实用程序的研究;关于联机短事务与复杂长事务混合应用环境的研究;关于数据库应用程序并行性工具以及巨型数据库的具有增量、可恢复功能的联机备份技术的研究等;其它包括如何把并行数据库应用于分布数据库系统、如何在并行数据库系统中引入诸如知识库技术等。并行数据库系统的时代已经到来.随着我国数据库应用规模和范围的扩大.可以预料.很快会出现对高性能数据库的需求.并行数据库必然在未来的高性能数据库系统中发挥主要作用。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号