1.并行数据库
随着数据库应用领域的日益广泛,应用规模的急剧膨胀,工作量的日益加重,对数据库 提出了越来越高的要求。有些应用如决策支持系统(DSS)和联机事务处理(OLTP)等需要 对大量事务进行处理,这就要求提高数据库的性能以提供事务处理的高吞吐量和低响应时间。
并行数据库系统(Parallel Database System)是以并行计算机为基础,将数据库管理与并 行技术相结合,以高性能和可扩展性为目标的数据库系统。它利用多处理器结构的优势,提 供比相应的大型机系统高得多的性能价格比和可用性,己成为数据库研究领域的一个热点。
并行数据库的研究主要包括以下几个方面。
①并行数据库操作的并行算法的设计与实现。
②并行数据库物理存储结构的研究。研究如何划分多处理机、划分或共享磁盘和内存等, 以实现对数据库的并行操作。
③并行查询优化的研究。
(1)并行数据库系统的体系结构
并行数据库系统的体系结构与并行计算系统的结构有关。目前并行计算机的体系结构主 要有以下几类:
①紧耦合全对称多处理器(SMP)系统,所有的CPU共享内存与磁盘。
②松耦合群集机系统,所有的CPU共享磁盘。
③大规模并行处理(MPP)系统,所有的CPU均有自己的内存与磁盘。
④混合结构,如SMP群集机系统,即MPP系统的每个结点是一个SMP系统。
(2)并行处理技术
并行数据库系统提供多种并行性以提高系统的并行处理能力,分为查询间的并行、查询 内的并行、操作内的并行和操作间的并行。
①查询间并行
查询间并行指不同的查询或事务可互相并行地执行,此种形式的并行可以提高事务吞吐 量,扩展事务处理系统,使它在每秒钟里能支持更大数量的事务。
查询间并行在共享内存的并行系统中最易实现。即使在串行的数据库系统中也支持并行 处理,所以为单处理器系统设计的数据库系统可以不做改动,或者稍作改动,就可用到共享
内存的并行结构中。
在磁盘共享或无共享的体系结构中,支持查询间并行要复杂些。因为相应各处理器以一 种协同的方式执行某些任务(如封锁或日志),所以需要它们之间能传递消息。
并且,数据库系统还必须保证两个处理器不会相互独立地同时更新相同的数据,并做到 缓存相关,即一个处理器访问或更新数据时,数据库系统必须保证该处理器在它的缓冲池中 也拥有该数据库的新版本。
②查询内并行
查询内并行指多个查询在多个处理器上并行地执行。在并行体系结构中,对于长时间运 行的查询采用查询间并行非常重要。
一个查询可以包含一个或多个操作。例如对某个关系的排序输出。假设该关系分布在多 个磁盘上,那么在并行体系结构中可以这样进行:对每个分片并行地进行排序,然后将排序 好的各个分片再串接在一起,得到最终的输出。
一般地,单个查询的执行可以有两种并行方式,即操作内并行和操作间并行,这两种方 式是互相补充,可同时应用在一个查询中。
③操作内并行
关系中都包含了大量的元组,所以对关系的操作可以通过在关系的不同子集上并行地执 行来实现操作的并行性。关系中的元组数目越多,可达到的并行度也就越大。
④操作间并行
不同操作间的并行有两种方式?.流水线并行和独立并行。
流水线并行。指一个操作A的输出作为另一个操作B的输入,在操作A未产生完全 的输出之前,操作B已利用操作A的部分输出进行工作,并且操作B输出又作为第三个操 作C的输入,以此类推。多个操作间的这种输入输出操作是并行的,并且操作的中间结果不 必保存在磁盘上。但这种方式的效果是有限制的,比如当多个并行操作中有一个操作的代价 远远高于其他操作,或者对于那些必须访问了整个输入才能开始产生输出的操作(例如集合 的差运算),就不能采用流水线。
独立并行。将一个查询分解成多个独立的子任务,由多个处理器并行执行。独立并 行与流水线并行一样,不能提供较高的并行度,它们都适合于低度并行的系统中,在高度并 行的系统中没有太大的用处。对并行数据库系统的研究,虽然已经有了一些研究或实验用的 原型系统,但尚无真正的系统投入使用。
返回目录:通信工程师考试科目综合能力计算机应用
编辑推荐通信工程师考前试题练习: