并行数据库

计算机系统性能价格比的不断提高迫切要求硬件、软件结构的改进。硬件方面,单纯依靠提高微处理器速度和缩小体积来提高性能价格比的方法正趋于物理极限;磁盘技术的发展滞后于微处理器的发展速度,使得磁盘 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 体系结构上获得实现。但是迄今为止,所有的共享内存商用产品都只开发了查询间并行性,而尚未实现查询内并行性。
 
 

发布了13 篇原创文章 · 获赞 2 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章