并行数据库 计算机系统性能价比的不断提高迫切要求硬件、软件结构的改进。硬件方面,单纯依靠提高微处理器速度和缩小体积来提高性能价比的方法正趋于物理极限;磁盘技术的发展滞后于微处理器的发展速度,使得磁盘 I/O 颈瓶问题日益突出。软件方面,数据库服
并行数据库
计算机系统性能价格比的不断提高迫切要求硬件、软件结构的改进。硬件方面,单纯依靠提高微处理器速度和缩小体积来提高性能价格比的方法正趋于物理极限;磁盘技术的发展滞后于微处理器的发展速度,使得磁盘 I/O 颈瓶问题日益突出。软件方面,数据库服务器对大型数据库各种复杂查询和联机事务处理 (OLTP) 的支持使得对响应时
并行数据库新记录
间和吞吐量的要求顾此失彼。同时,应用的发展超过了主机处理能力的增长速度,数据库应用 (DSSS , OLAP 等 ) 的发展对数据库的性能和可用性提出了更高要求,能否为越来越多的用户维持高事务吞吐量和低响应时间已成为衡量 DBMS 性能的重要指标。
计算机多处理器结构以及并行数据库服务器的实现为解决以上问题提供了极大可能。随着计算机多处理器结构和磁盘阵列技术的进步,并行计算机系统的发展十分迅速,出现了 Seqnent 等商品化的并行计算机系统。为了充分可法多处理器硬件,并行数据库的设计者必须努力开发面向软件的解决方案。为了保持应用的可移植性,这一领域的多数工作都围绕着支持 SQL 查询语言进行。目前已经有一些关系数据库产品在并行计算机上不同程度地实现了并行性。
将数据库管理与并行技术结合,可以发挥多处理器结构的优势,从而提供比相应的大型机系统要高的多的性能价格比和可用性。通过将数据库在多个磁盘上分布存储,可以利用多个处理器对磁盘数据惊醒并行处理,从而解决了磁盘 I/O 瓶颈问题。同样,潜在的主存访问瓶颈也可以通过开发查询间并行性 ( 即不同查询并行执行 ) ,查询内并行性 ( 即同提查询内的操作并行执行 ) 以及操作内并行性 ( 即子操作并行执行 ) ,从而大大提高查询效率。
并行数据库系统的功能有:
一个并行数据库系统可以作为服务器面向多个客户机进行服务。典型的情况是,客户机嵌入特定应用软件,如图形界面, DBMS 前端工具 4GL 以及客户机 / 服务器接口软件等。因此,并行数据库系统应该支持数据库功能,客户机 / 服务器结构功能以及某些通用功能 ( 如运行 C 语言程序等 ) 。此外,如果系统中有多个服务器,那么每个服务器还应包含额外的软件层来提供分布透明性。
对于客户机 / 服务器体系结构的并行数据库系统,它所支持的功能一般包括:
会话管理子系统。提供对客户与服务器之间交互能力的支持。
请求管理子系统。负责接收有关查询编译和执行的客户请求,触发相应操作并监管事务的执行与提交。
数据管理子系统。提供并行编译后查询所需的所有底层功能,例如并行事务支持,高速缓冲区管理等。
上述功能构成类似于一个典型的 RDBMS ,不同的是并行数据库必须具有处理并行性,数据划分,数据复制以及分布事务等的能力。依赖于不同的并行系统体系结构,一个处理器可以支持上述全部功能或其子集。
并行数据库的结构:
并行数据库系统的实现方案多种多样。根据处理器与磁盘及内存的相互关系可以将并行计算机结构划分为三种基本的类型,下面分别介绍这三种基本的并行系统结构,并从性能,可用性和可扩充性等三个方面来比较这些方案。
Shared-Memory( 共享内存 ) 结构,又称 Shared-Everything 结构,简称 SE 结构。
Shared-Memory 方案中,任意处理器可通过快速互连 ( 高速总线或纵横开关 ) 访问任意内存模块或磁盘单元,即所有内存与磁盘为所有处理器共享, IBM3090 , Bull 的 DPS8 等大型机以及 Sequent , Encore 等对称多处理器都采用了这一设计方案。
并行数据库系统中, XPRS , DBS3 以及 Volcano 都在 Shared-Memory 体系结构上获得实现。但是迄今为止,所有的共享内存商用产品都只开发了查询间并行性,而尚未实现查询内并行性。
参考:
http://blog.csdn.net/linnet2000/article/details/888649
===========================================================
并行数据库系统是新一代高性能的书局库系统,致力于开发数据库操作的时间并行性和空间并行性,是当今研究热点之一。并行数据库技术起源于20世纪70年代的数据库机研究,希望通过硬件实现关系操作的某些功能。研究主要集中在关系代数操作的并行化和实现关系操作的专用硬件设计上。80年代后,逐步转向通用并行机的研究。90年代以后,存储技术、网络技术、微机技术的迅猛发展,以及通用并行计算机硬件的发展,为并行数据库技术的研究奠定了基础。
早期并行数据库系统的研究重点主要集中在并行数据库的物理组织、操作算法、优化和调度策络上。目前它致力于开发数据操作的时间并行性和空间并行性。关系模型仍是研究的基础,给予对象模型的并行数据库也是一个重要的研究方向。
并行数据库系统的目标及问题
1并行数据库系统的目标
一个并行数据库系统应该实现高性能、高可用性、可扩充性等目标。
1)高性能
并行数据库系统通过将数据库管理技术与并行处理技术有机结合,发挥多处理机结构的优势,从而提供比相应的大型机系统要求高得多的性价比和可用性。例如,通过将数据库得多个磁盘上分布存储,利用多个处理机对磁盘数据进行并行处理,可以解决磁盘的瓶颈问题。通过开发查询时间并行行(不同查询并行执行)、查询并行性(同一查询内地子操作并行执行)以及其他操作内并行性(子操作并行执行),可以大大提高查询效率。
1) 可用性
并行数据库系统可通过数据复制等手段来增强数据库的可用性。这样,当一个磁盘损坏时,该攀上的数据在其他磁盘上的副本仍可供使用,且无需额外的开销(与基于日志的恢复不同)。数据复制还应与数据划分技术相结合,以保证当磁盘损坏时系统仍能并行访问数据。
2) 可扩充性
并行数据库系统的可扩充性是指系统通过增加处理和存储能力,是器具有可平滑地扩展性能的能力。并行数据库系统可以具有两个方面的可扩充性优势:性性伸缩和线性加速。
2)并行数据库研究的问题
并行数据库特别是并行关系数据库已经成为数据库研究的热点。最近几年,伴随着MPP的发展,新的并行机分布式计算技术、计算机机群(Cluster-technology)等引起了人们的极大关注,成为十分活跃的研究领域。除了这些,目前在并行数据库领域主要有下列问题需要解决。
(1)并行体系结构。目前的并行计算机其各个处理机都具有自己独立的主存和磁盘,不共享计算机,不共享硬件资源,处理机之间的通信由高速网络实现。需要研究与这些并行计算机结构相一致的并行数据库的体系结构及有关实现技术。
(2)并行操作算法。为提高并行查询的效率,需要研究联接、句集合统计等数据操作的并行算法。
(3)并行查询优化。对并型操作的步骤进行优化组合,以进一步提高系统执行效率。
(4)并行数据库的物理设计。它包括数据分布算法的研究和数据库设计工具的研究等。
(5)并行数据库的数据加载和再组织技术。
参考:
http://blog.csdn.net/oliveleave/article/details/614421