崔明义
( mycui369@126.com)
计算机应用技术 2007级研究生
1,并行数据库服务器与分布式数据库系统
2,分布式知识库系统
3,分布式面向对象数据库分布式数据库系统的发展趋势第 10章
70年代的数据库机,现代的数据服务器
数据服务器的优势
– 功能专一
– 专用 OS,DBMS与 OS紧耦合,提高 DBMS的总体性能
– 适于现实世界的分布环境
– 充分利用先进的硬件体系结构
缺点
– 额外的通信开销
– 因此要求服务器提供较高层次的接口,关系模型操作是面向集合的操作,所以成为服务器模型的首选
1.1 数据库服务器
1 并行数据库服务器与分布式数据库系统用户用户接口查询处理与数据库服务器接口与应用服务器接口数据库功能用户
DB DB
应用服务器数据服务器网络通信信道数据服务器方案
1.1 数据库服务器
1 并行数据库服务器与分布式数据库系统
集中式服务器结构
– 明确分工,减少工作站与服务器之间的通信
– 工作站对语言预处理 (完整性检查,安全控制 )
– 工作站能访问数据目录
– 服务器管理和更新目录,工作站只读目录
– 优化 DBMS和 OS(软方法),或者使用多处理机(硬方法)解决服务器瓶颈问题
1.1 数据库服务器
1 并行数据库服务器与分布式数据库系统接口数据库功能
DB DB
数据服务器逻辑通信网络集中式服务器结构

……
工作站
1.1 数据库服务器
1 并行数据库服务器与分布式数据库系统
分布式服务器结构
– 两种查询处理方式
数据查询先提交到本地服务器,由其负责所有的分布式查询处理
每个应用服务器上也都可以由分布式查询处理器和数据目录操作器,直接访问远程数据服务器
1.1 数据库服务器
1 并行数据库服务器与分布式数据库系统
–数据服务器专门用于分布式和集中式数据库管理
在传统机器结构上,在分布式 OS上执行
DBMS和分布式 DBMS
基于特定计算机系统结构实现分布式数据库操作系统
1.1 数据库服务器
1 并行数据库服务器与分布式数据库系统
DB DB
数据服务器 1
逻辑通信网络分布式服务器结构

……
工作站分布式 DBMS
局部管理功能接口
DB DB
数据服务器 n

分布式 DBMS
局部管理功能接口……
1.1 数据库服务器
1 并行数据库服务器与分布式数据库系统
冯,诺依曼型计算机结构的局限
– 不能发挥应 用中普遍存在的内在的可并行处理特性
关系操作本身的可并行性,JOIN中的多个子查询,单个查询中的多步操作
– 数据库管理性能受到 I/O瓶颈的影响
内存速度比硬盘速度快 1000倍
增加带宽提高磁盘存取的并行性
使用并行可存取的多个小磁盘
1.2 并行数据服务器
1 并行数据库服务器与分布式数据库系统
多处理机结构
– 通过高速通信介质连接多个可独立处理的单元
– 通过分配,查询 操作和子操作到不同的处理单元,以并行执行方式完成互连查询,内部查询,
及各种内部操作
1.2 并行数据服务器
1 并行数据库服务器与分布式数据库系统
类型
– 完全共享资源结构
对每个数据项的存取都要经过公共通信线路,引起通信瓶颈
类似于集中式 DBMS,差别是数据库操作可以并行处理
– 完全不共享资源结构
高功能计算机系统可以由多个较小的系统替代
每个站点都要实现全局数据目录,分布数据定义和控制,分布查询处理和分布式事务管理
站点不能运行应用程序
1.2 并行数据服务器
1 并行数据库服务器与分布式数据库系统处理机 1 处理机 n
高速互联总线
……
……
磁盘 1 磁盘 n
内存 1
内存 n

完全共享资源系统结构
1.2 并行数据服务器
1 并行数据库服务器与分布式数据库系统处理机 1 处理机 n
高速互联总线
……
……
磁盘 1 磁盘 n
内存 1 内存 n
完全不共享资源系统结构
……
1.2 并行数据服务器
1 并行数据库服务器与分布式数据库系统
并行数据服务器数据定位
– 类似于分布式数据库中的数据片段定位
– 分簇 (Declustering) 数据的水平分片
提高响应速度和内存查询并行度
– 聚簇 (Clustering) 聚集关系的片段
综合查询或减少系统总体运行代价
– 程序应在数据存储的站点上运行
– DDBS中 DBA根据对片段的使用情况检测,进行调整,
包括移动片段和重组
1.2 并行数据服务器
1 并行数据库服务器与分布式数据库系统
并行数据服务器与 DDBS的不同
– 应用目标不同
并行中用户不专门使用某个站点,所以不要求最大化本地性处理
– 实现方式不同
站点间高速网互连,传输代价小,可以调节站点间工作负载
– 各站点地位不同
不存在全局应用和局部应用
各站点完全不独立,处理时只能发挥协同作用,无局部应用
1.2 并行数据服务器
1 并行数据库服务器与分布式数据库系统
数据定位方法
– 全分簇:片段分布到系统中所有有磁盘的站点
散列算法分片:查询时,与选择属性精确匹配的子查询得以在一个站点上处理,所有其它子查询在其他站点处理,适于大范围多用户工作负载
但复杂查询 (多个连接 )时,聚簇方法较好
– 可变分簇
依据“分簇度”对关系分片
分簇度是关系数据分片的站点数量,是关系大小和存取频率的函数
这种方法比聚簇和分簇更加复杂,因为数据分布的改变可能导致结构调整
1.2 并行数据服务器
1 并行数据库服务器与分布式数据库系统
关联查询
– 传统系统中,关联存取是由查询处理器在编译时利用数据目录完成
– 并行系统中,采用“全局索引”复制到每一个站点
全局索引
– 能确定关系在各站点分布的二级索引
主聚簇:关于关系名
次聚簇:关于关系中的某些属性
– 基于散列法或 B树实现
1.2 并行数据服务器
1 并行数据库服务器与分布式数据库系统
例,工程数据库
E(ENO,ENAME,DEPT,TITLE)
S(TITLE,SAL)
J(JNO,JNAME,BUDGET)
G(ENO,JNO,RESP,DUR)
全局索引 (查询 ENO=‘E5’)
– 第一级关于关系名索引映射到 E关系的 ENO
属性索引
– 第二级索引进一步映射值 E5到站点 j
1.2 并行数据服务器
1 并行数据库服务器与分布式数据库系统关于关系名的索引
…… ……
P E G
关系 E中关于 ENO的索引
…… ……
站点 1
(E1至 E2)
站点 j
(E3至 E6)
站点 n
(E7至 E8)
全局索引例子
本地索引 (次簇索引 )
– 映射一个关系到站点的一组磁盘块上
– 类似于全局索引
– 第一级关于关系名
– 第二级关于属性索引 (映射簇值 E5到 91磁盘块 )
实验结果
– 短事务负载下,分簇数量增加,事务吞吐量增加
– 多连接复杂事务负载下,太细分簇降低吞吐量
1.2 并行数据服务器
1 并行数据库服务器与分布式数据库系统关于关系名的索引
…… ……
P E G
关系 E中关于 ENO的索引
……
磁盘块 24
(E3至 E4)
磁盘块 91
(E5至 E6)
在站点 j上的本地索引例子
基于逻辑的数据库
– 逻辑数据库,推理数据库,专家 DBMS,演绎
DBMS,知识库等
知识库
– 存储常用知识的内涵数据库和存储事实的外延数据库的联合体
– 内涵数据库
公理 (命题 )和规则等
– 外延数据库
基本数据
2.1 知识库
2 分布式知识库系统
知识表示
– 产生式规则
– 框架 (Frames)
– 语义网络 (Semantic Net)
– 数学逻辑
知识库语言
– Prolog
– Datalog
2.1 知识库
2 分布式知识库系统
支持面向对象特征的数据库
对象
封装
持久对象
对象关系
关系对象
3.1 分布式面向对象数据库定义
3 分布式面向对象数据库
数据分布
– 封装带来了复杂性
水平分段
– 简单属性和方法上的分段
可以根据定义在该类属性上的谓词分段,C被分为
C1,C2,…,Cn,
若 C1,C2,…,Cn 互不相交,则可以将 C定义为没有实例的超类,Ci是其子类
若 C1,C2,…,Cn 不是互不相交,那么没有一个简单方法来处理
3.2 分布式面向对象数据库水平分段
3 分布式面向对象数据库
– 例 Class Engine as Object
Attribute
no-cylinder,Integer
Capacity,Real
Horsepower,Integer
谓词,
p1,Horsepower? 150
p2,Horsepower > 150
于是 Engine 分为 Engine1 和 Engine2两个段
3.2 分布式面向对象数据库水平分段
3 分布式面向对象数据库
– 复杂属性:使用对象间的联系 (如 Owner-
Member)信息分段
– 简单 Method:当简单属性时,对象分段按简单属性方法分,Method在编译时确定,若对象被该 Method使用则 Method与该对象分在同一段,以获取极大化本地相关访问
– 复杂 Method:要使用子类联系,聚集联系,
Method调用联系等来处理,产生多个分段,然后再使用基于亲和力的方法来合并某些段
3.2 分布式面向对象数据库水平分段
3 分布式面向对象数据库
垂直分段
– 比水平分段更复杂,要考虑元类和分段类的子类间的子类型 (Subtype)联系,分段类本身间的联系,Method的定位等等,
路径分段 (Path Partition)
– 复合 (Composite)对象上的表示成一个构成结构化索引的节点层次
3.2 分布式面向对象数据库垂直分段
3 分布式面向对象数据库
分配
– 涉及 Method和类的分配
– Method分配与类分配紧密相连
– 局部动作 -局部对象 不用处理
– 局部动作 -远程对象 两种处理方法
远程对象移动到动作站点
移动动作到相关的对象站点
– 远程动作 -局部对象
– 远程函数 (Function)-局部变量 (Argument)
3.1 分布式面向对象数据库分配
3 分布式面向对象数据库
复制
– 单个对象,对象类,对象集合等都可以是复制的单位
3.1 分布式面向对象数据库定义
3 分布式面向对象数据库总 结
并行数据库服务器与分布式数据库系统
分布式知识库系统
分布式面向对象数据库