并行数据库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
范围提升是指,通过并行处理,在相同的处理时间内, 可以完成更多的数据库事务。 并行数据库系统基于多处理节点的物理结构,将数据库 管理技术与并行处理技术有机结合,来实现系统的高性能。
7
并行数据库系统的目标
一个并行数据库应该实现如下功能: 1.高性能 并行数据库系统通过将数据库管理技术与并行处理技 术有机结合,发挥多处理机结构的优势,从而提供比相应 大型机系统要高得多的性能价格比和可用性。 例如,通过将数据库在多个磁盘上分布存储,利用多 个处理机对磁盘数据进行并行处理,从而解决磁盘“I/O” 瓶颈问题。通过开发查询间并行、查询内并行以及操作内 并行大大提高查询效率。
18
无共享资源结构(续)
SN结构优点:
★每一个处理节点就是一个小型的数据库系统,多个节点一 起构成整个的分布式的并行数据库系统。
★由于每个处理器使用自己的资源处理自己的数据,不存在 内存和磁盘的争用,提高的整体性能。
★另外这种结构具有优良的可扩展性——只需增加额外的处 理节点,就可以以接近线性的比例增加系统的处理能力。
★ 处理器的规模不能超过32个或者64个,因为总线或
互联网络是由所有的处理器共享,它会变成瓶颈,可扩充性 较差。 ★ 内存的任何错误都将影响到多个处理机,可用性不 是很好。
共享内存结构通常在每个处理器上有很大的高速缓存, 从而减少对内存的访问。但是,这些高速缓存必须保持一致, 也就是缓存一致性(cache-coherency)的问题。
17
无共享资源结构
SN结构:
互 处理机 联 网 络 „ „ „ 处理机
处理机
存储器
磁盘
存储器
磁盘
存储器
磁盘
该结构由多个完全独立的处理节点构成,每个处理节点具 有自己独立的处理器、独立的内存(主存储器)和独立的磁盘存 储,多个处理节点在处理器级由高速通信网络连接,系统中的 各个处理器使用自己的内存独立地处理自己的数据。
并行数据库技术
主讲者:高海艳
内容提要
1
2 3 4 5
并行数据库概述
并行数据库的体系结构 并行查询处理技术 并行数据库的物理组织 并行操作举例
2
并行数据库简介
并行数据库的发展: 20世纪70年代 关系代数 的并行化 和 关系操作的 专用硬件设 计 80年代后期 并行数据库 的物理组织 操作算法 优化 调度策略 90年代至今
9
并行数据库系统的目标(续)
其中,线性伸缩比是指当任务扩大N倍,系统处理和 存储能力也扩大N倍时系统性能不变。 线性伸缩比= 小任务在小系统上的运行时间
大(N倍)任务在大系统上的 运行时间
=1
线性加速比是指当任务不变而系统处理和存储能力 扩大N倍时,系统性能也能提高N倍 线性加速比= 小系统上执行一个任务的时间 =N
8
并行数据库系统的目标(续)
2 高可用性 并行数据库系统可通过数据复制来增强数据库的可用 性。这样,当一个磁盘损坏时,该盘上的数据在其他磁盘 上的副本仍可供使用,且无需额外开销。数据复制还应与 数据划分技术相结合以保证当磁盘损坏时系统仍能并行访 问数据。 3 可扩充性
数据库的可扩充性指系统通过增加处理和存储能力 而平滑地扩展性能的能力。理想情况下,并行数据库系统 应具有两个方面的可扩充优势:线性伸缩和线性加速。
5
并行数据库系统
并行数据库系统(Parallel Database System)是新 一代高性能的数据库系统,是在并行处理机(MPP)和集群 并行计算环境的基础上建立的数据库系统。
并行数据库系统的高性能可以从两个方面理解: ★ 速度提升(SpeedUp);
★ 范围提升(ScaleUp)。
6
速度提升是指,通过并行处理,可以使用更少的时间完 成同样多的数据库事务。
19
SN结构缺点:
★ 实现复杂,只是根据数据的物理位臵而不是系统
的实际负载来分配任务。
★ 负荷难以均衡,系统中新结点的加入将导致重新
组织数据库以均衡负载
20
三种并行结构比较
下面对以上三种并行结构从性能、可用性和可扩充性等方面比较。
共享内存 共享磁盘 无共享资源
性能 可用性
可扩充性 负载均衡
最佳 低
其中a和b分别指的是R和S中的工资等级,rs指的是R中 的一个元组r和S中的一个元组s的结合。这种算法简单直观, 但是他做了大量的不必要的匹配检查。
并行操作算法(续)
(2)排序-合并算法 FOR R的每一个元组 DO FOR So到Si DO
IF R(a)=R(b)
THEN 输出 rs 首先将R和S元组分别按a和b域值排序,然后按顺序扫描, 分别取R和S的元组进行比较。由于排序后,相同域值的元组 集中在一起,因此满足条件的元组也相应的集中,就没有必 要和其他元组比较了。
例如:扫描操作→排序操作→连接操作→分组操作由不同 的处理机并行执行就是垂直并行优化的实例。 扫描 ↓ 排序 ↓ 连接 ↓ 25 分组
并行粒度
一个串行计划可以通过不同的并行化过程得到不同的并行 执行计划。通过以下概念来刻画一下并行过程。 并行粒度:查询执行的并行程度。分为以下四种: ★ 事物间并行性(不同事务间的并行性):是粒度最粗也是 最容易实现的并行性。由于这种并行性允许多个进程或线程同 时处理多个用户请求,因此可以显著增加系统吞吐量,支持更 多的并发用户。 ★ 查询间并行性(也就是事务内并行性):同一事务内的不 同查询如果是不相关的,它们并行执行必将提高效率,但是, 同一事务内的查询如果是相关的,它们并行执行比较复杂,系 统必须进行相关性控制。
共享内存并行结构(续)
SM结构优点:
★实现简单。在该结构中,共同执行一条SQL语句的多
个数据库构件通过共享内存来交换消息与数据。
★负载均衡。数据库中的数据划分在多个局部磁盘上,
并可以为所有处理机访问。这种系统可以基于实际负载来 给各处理机动态地分配任务,因而可以很好地实现负载均 衡。
13
SM结构缺点:
差 易做到
较佳 较高
较好 易做到
较佳 高
好 难做到
实现技术
成本 处理机数 规模
容易
高 数十个 中小系统
较复杂
较低 数百个 中小系统
复杂
低 数千个 大系统
21
三、并行查询处理技术
首先,介绍并行数据库系统中关于并行查询处理的一些概念。 并行执行计划(简称PP):对应于传统的顺序查询处理计划 (简称SP),相应于并行处理环境下的执行计划。 并行化方案:如果查询Q的某个并行执行计划PP与Q的一个顺 序执行计划SP对应于相同的操作树,则称PP为SP的一个并行 化方案 并行化:由顺序执行计划SP得到某个PP的过程。
下图给出这四种并行性的相互关系。
事务(transaction) 查询(Query) 操作(Operation) 操作内 并行粒度 细 四种并行粒度图 查询内 操作间 粗
28
事务内 查询间
事务间
并行操作算法
并行数据库操作算法的研究已经成为并行数据库系统近 几年一个非常活跃的研究领域。并行操作算法有嵌套循环算 法,排序合并算法以及HASH算法。 下面以一个简单的例子说明: 假如关系R和S分别如下:22并行化形式
并行化可以分为水平并行化(独立并行化, Independent Parallelism)和垂直并行化(流水线并行 化,Pipelining Parallelism)两种形式,如下图所示。
OP1
OP1 OP2
OP2
(a) 水平并行化
(b)垂直并行化
23
并行化形式(续)
如果两个操作OP1、OP2 无相互依赖关系,则称这两个 操作相互独立。
员工号 工资等级
1 2 1 2 工资等级 1 2 1 2 工资等级 工资 100 200 300 400 工资 100 200 300 400 001 002 003 004 员工 001 002 003 004 1 2 3 4
R
S
工资等级 1 2 1 2
并行操作算法(续)
(1)嵌套循环算法
FOR R的每一个元组 DO FOR S的每一个元组 DO IF R(a)=R(b) THEN 输出 rs
11
共享内存并行结构
SM并行结构:
p p

p
互 联 网 络

共 享 存 储 器
磁盘
磁盘

磁盘
该结构包括多个处理器、一个全局共享的内存(主存储 器)和多个磁盘存储,各个处理器通过高速通讯网络与共享内 存连接,并均可直接访问系统中的一个、多个或全部的磁盘 存储,在系统中,所有的内存和磁盘存储均由多个处理器共 12 享。SM结构如上图所示。
15
共享磁盘并行结构(续)
共享磁盘与共享内存结构相比
SD结构优点: ★ 每个处理器都有自己的存储器,存储总线不再是瓶颈; ★ 以一种较经济的方式提供了容错性,如果一个处理器 发生故障,其它处理器可以代替工作。
16
SD结构缺点:
★ 实现起来复杂。由于共享磁盘方案无共享内存。因此,
数据拷贝被分配到各自的高速缓冲区。为了避免对同一磁 盘页的访问冲突,需要对并发访问进行全局控制与管理, 并保持数据的一致性。 ★ 存在潜在的性能问题。维护数据一致性带来额外的通信 开 销,此外对共享磁盘的访问是潜在的“瓶颈”。
10
大(N倍)系统上执行同一 任务的时间
二、并行数据库的体系结构
从硬件结构来看,根据处理机与磁盘及内存的相互关系可 以将并行计算机分为三种基本的体系结构:
★ 共享内存(share memeory):所有处理器共享一个公共的存
储器(简称SM结构); ★ 共享磁盘(share disk):所有处理器共享公共的磁盘;这种 结构有时又叫做集群(简称SD结构); ★ 无共享(share nothing):所有处理器既不共享内存,也不 共享磁盘(简称SN结构) 。
可以分解为扫描DEPT 表和EMP表,对两表进行结合,对 结合结果排序以及分组和输出五个子任务。前一操作的输出 即是下一操作的输入。如果后一操作等待前一操作产生一定 量的输出后(而不必等待前一操作执行完毕)即可在另一处 理机上开始执行,即采用垂直并行或流水线并行的方式。
27
并行粒度(续)
★ 操作内并行性(同一操作内的并行性):操作内并行性的 粒度最细,它将同一操作(如扫描操作、合并操作、排序操 作等)分解成多个独立的子操作,由不同的处理机同时执行。
26
并行粒度(续)
★ 操作间并行性(同一查询内不同操作间并行性):同一查询 内的不同操作往往可以并行执行。考虑一条SQL查询语句可以 分解成多个子操作,有多个处理机执行。例如下列查询:
SELECT DEPTNUM ,EMPNUM FROM DEPT,EMP WHERE DEPT.DEPTNUM = EMP.DEPTNUM GROUP BY DEPTNUM ORDER BY DEPTNUM;
并行处理技术主要是以算法为核心,并行语言为描述, 软硬件作为实现工具的相互联系而又相互制约的一种结构技 术。
4
并行数据库概述(续)
关系数据模型是并行处理与数据库相结合的关键。
在关系数据模型中,数据库是元组的集合,数据库操作 实例实际是集合操作,很多情况下可以转化为等价的一系列 对子集的操作,而且这些子操作没有数据相关性,因此具有 潜在的并行性。 并行数据库是并行机上的数据库,这里一个数据库被分 解为若干子操作,交给多个结点同时处理,每个结点是一个 独立的系统,可以有自的CPU、内存和外存,因此操作数据 可以分散在各个结点上,这样大大增加了I/O带宽,消灭了 数据库中常见的I/O“瓶颈”。
数据操作的 时间并行性 和 数据操作的 空间并行性
3
一、并行数据库概述
并行数据库(Parallel Database)是并行处理技术与 数据库技术的结合。
并行处理(Parallel Processing)是计算机系统中 能同时执行两个或更多个处理机的一种计算方法。处理机 可同时工作于同一程序的不同方面。
14
共享磁盘并行结构
SD并行结构:
存储器 处理机 存储器 处理机 „ „ 存储器 处理机





磁盘
磁盘
磁盘
该结构由多个具有独立内存(主存储器)的处理器和多 个磁盘存储构成,各个处理器相互之间没有任何直接的信 息和数据的交换,多个处理器和磁盘存储由高速通信网络 连接,每个处理器都可以读写全部的磁盘存储。
水平并行化指的是互相独立的多个操作或者一个操作内 互相独立的多个子操作分别由不同的处理机并行执行的形式。 例如,排序操作、扫描操作由不同的处理机并行执行就是水 平并行化的实例。 排序 排序 排序 „„ ↓ ↓ ↓ 扫描 扫描 扫描 „„ ↓ ↓ ↓
24
并行化形式(续)
垂直并行化则是指存在流水线方式依赖关系的操作分别由不同 处理机并行执行的形式。 流水线方式依赖:如果OP2无需等待OP1执行完毕即可在另一 处理机上开始执行
相关文档
最新文档