当前位置:文档之家› 分布式数据库系统的发展趋势

分布式数据库系统的发展趋势

器数据定位
1. 与分布式数据库系统的相似性
在一个高速并行化的完全不共享数据服务器体系结 构中,其数据定位与分布式数据库中的数据片段的定位 具有相似性。 一个相似性是数据分片可以用于增加并行性和负载 平衡。 另一个相似性是由于数据比程序大得多,程序应该 尽可能地在数据存储的站点上运行。
8
2.与分布式数据库系统的区别
并行数据处理服分器的系统与分布式数据库系统方案 有三个重要的不同: 应用目标不同:由于用户并不是专门使用某个特定的站点, 所以不要求最大程度的本地性处理。 实现方式不同:各站点间采用高速网络互联,站点间数据 传输代价相对较低。 各站点的地位不同:不存在全局应用和局部应用的概念, 各个站点是完全独立的,在数据处理中起协同作用,无局 部作用。
16
2.并行操作处理算法
在下面考虑的算法中,假定是对关系R和S进行连接。R 和S分别被分簇到m个和n个站点上。为简便起见,关系 R 的片段所在的站点称为R站点,同样,关系S的片段所在的 站点称为S站点;而且假设这m个R站点和这n个S站点是不 同的站点;连接的结果在S站点上产生 。 算法的输入为关系R的片段(R1,R2, …,Rm)、关系S的 片段(S1,S2, …,Sn)和连接谓词LP。 算法的输出为在n个S站点上的结果片段T1,T2, …,Tn。
12
全局索引例子
13
本地索引例子
14
10.1.3并行操作处理的算法
1.并行操作处理
并行操作处理主要利用关系操作的并行性。主要介 绍数据库操作的SELECT和JOIN的并行算法,因为所有其 他的二元操作都类似JOIN的处理。在分簇数据分布的数 据库中,对SELECT 操作的处理与分片的分布式数据库是 一样的,依赖SELECT谓词,操作可以在单一站点上执行, 或者对任意复杂谓词,在关系分簇所在的所有站点上执 行。如果全局索引采用类似B树结构进行组织,则对带有 范围谓词的SELECT操作只在存储相关数据的站点上执行。
17
(1)并行嵌套循环算法PNL
并行嵌套循环算法是最普通和最简便的。它并行地 按笛卡儿乘积连接关系R和S。对任意复杂的join谓词都 可以支持。
18
19
20
(2)并行关联连接算法PAJ
并行关联连接算法PAJ,如算法10-2所示。PAJ算 法适用于等值连接情况,而且连接属性是分簇属件。 为了简化算法的描述.假设R.A=S.B,此外,关系S已 经在连接属性B上使用散列函数h(B)分簇。并行关联连 接算法将使用R分簇与S分簇的局部连接来完成R和S的 连接,在S站点生成连接结果分簇。
其一,它不能发挥在很多应用中存在的内在可并行处 理的特性。 其二,数据库管理性能受到I/O瓶颈的很大影响。
3
2. 多处理机结构的两种极端情况
定义:多处理机结构是通过高速通信介质连接的多个可独
立处理的单元构成,各个独立处理单元都可独立执行各种 查询、操作或子操作,管理独立的磁盘和支持磁盘的并行 存取。 分类;多处理机的体系结构按其资源的共享性可分为很多 种,其中存在两种极端情况,即完全共享资源结构(简称 全共享结构)和完全不共享资源结构(简称全不共享结构或 独占结构)。
4
完全共享资源结构
5
完全不共享资源结构
6
3.完全不共享结构与分布式数据库系统
完全不共享结构也可以看成是实现分布式数据库系统的特殊例 子,其目的在于高功能计算机系统可以由几个较小和功能较弱的 计算机系统代替。

相似之处:每—个站点可以由相同的局部系统管理;每—个站点 都要设法实现全局数据目录、分布数据定义和控制、分布查询处 理和分布事务管理。 不同之处:多处理机站点不能运行用户应用程序,应用程序是运 行在应用服务器上的,应用服务器通过特定的网络和多处理机系 统相连。 完全不共享结构更能达到两个重要目标:分布式数据库性能和可 扩展性
分布式数据库系统的发展趋势
1
主要内容



10.1 10.2 10.3 10.4 10.5
并行数据服务器与分布式数据库系统 分布式知识库系统 分布式面向对象数据库 对象-关系数据库 本章小结
2
10.1 并行数据服务器与分布式数据库系统
10.1.1 并行数据服务器体系结构
1. 单处理器结构的局限性
15
JOIN 的并行处理比SELECT更加复杂。采用高速网络 环境的分布式JOIN算法,可成功地在分簇数据库中应用。 此外,在系统运行时,利用全局索引可有效地并行执行。 下面介绍三种分簇数据库的并行JOIN算法:并行嵌 套循环算法,并行关联连接算法和并行散列连接算法。 描述算法使用三个主要构造: do-in-parallel:指其后的动作块并行执行。 send:使数据从一个站点向另一个或多个站点发送。 Receive:接收发向一个特定站点的数据内容。
9
3.数据定位的策略

全分簇:将关系进行水平分片,把片段分布到系统中 所有磁盘的站点上。为了确保数据分布的均匀性,可 以通过关系的某个属性采用散列算法分片。
可变分簇:依据“分簇度”对关系进行分片。分簇度 是关系数据分片的站点数量,它是关系大小和存取频 率的函数。

10
在一个采用可变分簇的高并行系统中,如果负载是 动态变化的,或者更新操作较多,为了负载均衡,需要 频繁地进行结构重整。这种重整应该对运行在数据服务 器上的已编译程序保持透明。为了实现这种独立性,对 分布式数据查询可采用关联查询。一个解决方案是把 “全局索引”复制到每—个站点上。全局索引确定了关 系在各个站点的分布情况。从概念上说,全局索引是一 个两级索引。—级为关于关系名的“主聚簇”,另一级 为关于关系中某些属性的“次聚簇”。这个全局索引支 持可变分簇,每个关系有不同的分簇等级。
11
例10.1 图10-6提供了工程数据库的全局索引的例子。 这个数据库由下列关系组成: E (ENO, ENAME, DEPT, TITLE) S (TITLE, SAL) J (JNO, JNAME, BUDGET) G (ENO, JNO, RESP, DUR) 假设我们希望通过ENO=“E5”来定位在关系E中的元组。
相关主题