第4章 分布式数据库设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DDBS中的透明性
2. 位置透明
可以解决如下问题
由于副本导致的对透明性的需求
数据副本必然存在,可提高效率 位置透明可使副本问题不对用户产生影响
数据分片及其副本在站点的驻扎情况向用户屏蔽
DDBS中的透明性
3. 本地透明
用户不仅要关心数据的分片情况 还要关心每个分片的具体存放站点 只屏蔽站点的具体存储及其管理情况
r
~ ~ s ={ t | t = <u,v>urvsu[Ai1]=v[Bj1] … u[Ain]=v[Bjn] v=v[S‘] )}
b
d
3
3
d
b
b c
A2=2
( r1 )
A3 d d
A1
A2 2 2
关系代数运算(六)
6、 F--选择 设关系r[R]的框架 R={A1,A2,..., Ak },F( A1,A2 ,.. ,Ak )=e1 e2 … em为一公式,其中ep (p=1,2,…,m )为 形如“Aj θ c ” 或 “Aj θ Ai ” 的比较表达式,或者它们是被逻 辑运算符、、 连接而成的复合表达式,那么关系 r 的 F—选择运算定义为:
把用户通过外视图对GDB的访问和它的GRS 描述对应起来,完成所涉及数据的逻辑定位 把GDB的统一逻辑描述转换成对应相关节点 数据的逻辑描述,完成所涉及数据在节点上 的逻辑定位
GRS/NRS映射
模式间的映射
NAS/NRS映射
针对LDB的局部访问,完成节点的局部访问 到LDB的逻辑描述的转换 把来自全局或局部的应用所转换的NRS对应 到相应的存储表示上,以完成对节点数据的 物理存取
F
{ t | t = <u,v> u r v s
F(u[A1],…,u[Ak1],v[B1],…,v[Bk2] )} 显然:r
F
s = F (r × s)
关系代数运算(十)
10、 自然连接 设r[R]、s[S]分别为k1、k2元关 系,R中属性Ai1,Ai2,...,Ain分别与S 中的属性Bj1,Bj2,...,Bjn相同。令S‘= S-{Bj1,Bj2,..,Bjn},r的元组为u,s的元组 为v,令 v 为 v 去掉分量v[Bj1],…,v[Bjn]后剩下 的分量构成元组,那么关系 r与s 的自然连接运 算定义为:
分布式数据库的模式结构
节点应用模式(NAS)
节点外模式
是面向本节点特定应用用户的LDB数据视图
分布式数据库的模式结构
节点表示模式(NRS)
节点模式
主要是本地LDB的逻辑描述
分布式数据库的模式结构
存储模式(SS)
节点内模式
主要是本地LDB的存储描述
模式间的映射
GAS/GRS映射
* r×s的每个元组的前k1个分量为 r 的一个元组, 后k2个分量为 s 的一个元组; * 若r、s分别有n1、n2个元组,则r×s有n1×n2个 元组。 举例
关系代数运算(四)
4、投影 设有k元关系r[R],它的关系框架 R = { A1, A2,...,Ak },Aj1,Aj2 ,...,Ajn 为 R中互不相同的属性,那么关系 r 在属性(分量)A j1,Aj2,...,Ajn 上的投影运算定义为: ∏Aj1,Aj2,...,Ajn( r ) =
只有一个独立的逻辑数据库,分布在相联的 数据节点上 是一个全局总控系统 结点可以是同构的(Homogeneous) 也可以是异构的(Hetergeneous) POREL和VND
分布式数据库的构成方式
多层次(ML DDB)
每个节点有自己的数据库(LDB) 又构成一个逻辑上统一的全局数据库(GDB) 每个节点的配备局部DBMS DDBMS进行全局处理总控 节点可同构,也可异构 R*和DATANET
DDBS中的透明性
பைடு நூலகம்
2. 位置透明
不屏蔽DDB的逻辑分片 屏蔽这些逻辑分片的存储位置
例如:关系EMP(ENUM,ENAME,EAGE,ESEX),被分成两个数据片 EMP1和EMP2,分别存储在站点SITE1和SITE2 查询特定雇员号(ENUM)的姓名 select ENAME form EMP1 where ENUM=$ENUM if not FOUND() then select ENAME from EMP2 where ENUM=$ENUM
显然:rAi θ Bj s =
Ai θ Bj(r
× s) , θ为“=”时称为等连。
举例: r B = B s
举例 : r B > B s
关系代数运算(九)
9、 F—连接 设r[R]、s[S]的关系框架分别为 R= {A1,A2,...,Ak 1}和S={B1, B2,...,Bk2},F(A1,…,Ak1,B1,…,Bk2)为 一公式,那么关系 r、s 的 F—连接运算定义为: r s=
4.2分布式数据库的模式结构
五层模式结构
需要考虑全局和局部在面向用户、数据以及 机器等方面的模式层次
分布式数据库的模式结构
全局应用模式(GAS)
全局外模式
它是面向特定应用用户的GDB数据视图
分布式数据库的模式结构
全局表示模式(GRS)
全局模式
它是GDB逻辑描述
需要刻画GDB涉及的所有实体 也要描述GDB中数据在节点的分布
LAS3 LRS3 SS3 LDB3
LAS4
4.3 DDBS中的透明性
集中式数据库中的独立性
三级模式两级映射 逻辑独立性 物理独立性 分布独立性
DDBS中的独立性
分布透明性(Distributed Transparence)
DDBS中的透明性
分布透明性
分片透明(Fragmentation Transparence) 位置透明(Location Transparence) 数据模型透明(Data Model Transparence)
F( A1,A2,...,Ak )
(r)=
{ t | t r F(t[ A1],t[A2],...,t[Ak] ) }
举例 :
关系代数运算(七)
7、 相交 设有同类关系r1[R]、r2[R],二者的相 交运算定义为:
r1r2 ={ t | t r1 t r2 }
易知 r1r2 =r1-( r1- r2 )
第4章 分布式数据库设计
分布式数据库的构成方式 分布式数据库的模式结构 分布式数据库系统中的透明性 分布式数据库的数据分割方法 分布式数据库的设计方法 实例分析
4.1分布式数据库的构成方式
单层次结构 多层次结构
分布式数据库的构成方式
单层次(SL DDB)
DDBS中的透明性
1. 分片透明
最高透明层次 向用户完全屏蔽DDB的分片信息
例如:关系EMP(ENUM,ENAME,EAGE,ESEX),被分成两个数据片 EMP1和EMP2,分别存储在站点SITE1和SITE2 查询特定雇员号(ENUM)的姓名 select ENAME form EMP where ENUM=$ENUM
例如:关系EMP(ENUM,ENAME,EAGE,ESEX),被分成两个数据片 EMP1和EMP2,分别存储在站点SITE1和SITE2 查询特定雇员号(ENUM)的姓名 select ENAME form EMP1 at SITE1 where ENUM=$ENUM if not FOUND() then select ENAME from EMP2 at SITE2 where ENUM=$ENUM
r1× s1
A3 d d b b d d b b A2 2 3 2 3 2 3 2 3 A3 d b d b d b d b
r1∪r2
A1 b b c d a e g A2 2 3 2 3 3 5 6 A3 d b d b c f f A1
r1– r2
A2 A3
∏3,2 ( r1)
A3 d b A2 2 3
{u | u=<t[Aj1], t[Aj2],... , t[Ajn] > t r }
结果特征: ∏Aj1,Aj2,...,Ajn( r ) 为n元关系,其框 架是{Aj1,Aj2,...,Ajn },每个元组 由关系 r 的每个元组的第 j1,j2,...,jn 个分量按此顺序排 列而成 (不计重复元组) 举例
r1– r2={ t | t r1 t r2 }
结果: 为r1中存在的但r2中没有的元组的集合,它与 r1、r2为同类关系; 举例
关系代数运算(二)
r×s={ t | t =< u , v > u r v s } 3、 乘积 设r[R]为k1元关系,s[S]为k2元关系,则 二者乘积运算定义为: 结果特征: * r×s为k1+k2元关系,其框架是R与S的框架的并 集(注:可能有同名属性);
结果特征: 为r 中满足 θ 条件的元组集(与 r 是 同类关系) 举例
例题
A1 b b c d
设有三个已知关系如下: 关系r1 关系r2 关系s1
A2 2 3 2 3 A3 d b d b A1 a b c e g A2 3 2 2 5 6 A3 c d d f f A2 2 3 A3 d b A1 b b b b c c d d A2 2 2 3 3 2 2 3 3
关系代数(二)
关系代数的运算按运算符的不同主要分为两类: 传统的集合运算:把关系看成元组的集合,以 元组作为集合中元素来进行运算,其运算是从 关系的“水平”方向即行的角度进行的。包括 并、差、交和笛卡尔积等运算。 专门的关系运算:不仅涉及行运算,也涉及列 运算,这种运算是为数据库的应用而引进的特 殊运算。包括选取、投影、连接和除法等运算。
关系代数运算(一)
1、合并 设有同类关系r1[R]、r2[R],二者合并运算 定义为: r1∪r2={ t | t r1 t r2 } 结果: 为r1、r2的所有元组的并集(不计重复元 组),它与r1、r2为同类关系; 举例
2、 相减 设有同类关系r1[R]、r2[R],二者相减运算 定义为:
数据分片是分布式数据库设计的首先要 面对的问题 数据分割以关系代数为理论基础
4.4.1 关系代数
关系是 关系操作: Query, Insert, Delete, Update 关系运算可分为关系代数 和关系演算两大类。
关系代数(一)
关系代数是对关系进行集合代数运算, 是基于关系代数的操作语言,称为关系 代数语言,简称关系代数。 关系代数的运算对象是关系,运算结果 也是关系。 关系相等:设有同类关系r1和r2,若r1的 任何一个元组都是r2的一个元组,则称 关系r2包含关系r1,记为r2r1,或r1r2。 如果r1r2且r1r2,则称r1等于r2,记为 r1=r2
DDBS中的透明性
分布透明性
分片透明(Fragmentation Transparence) 位置透明(Location Transparence) 数据模型透明(Data Model Transparence)
三个透明性的关系
由高到低,包含
4.4 分布式数据库的数据分割方法
举例
关系代数运算(八)
8 、θ—连接 设r[R]、s[S]的关系框架分别为 R= {A1, A2,...,Ak 1}和S={B1,B2,...,Bk2}, 那么关系 r、s 的 θ—连接运算定义为:
rAi θ Bj s ={ t | t = <u,v> u r v s u[Ai] θ v[Bj] }
关系代数运算(五)
5、θ—选择 设θ是比较运算符“=、<、≤、≠、、 ≥ ”中的某一个,那么关系r[R]的 θ 一选择运算 定义为:
或
Aj θ c
( r ) ={ t | t r t[Aj] θ c } Aj θ Ai ( r ) ={ t | t r t[Aj] θ t[Ai] }
NRS/SS映射
参考模型
GAS1 DDB1 GRS1 GAS2 GAS3 GRS2 GAS4 DDB2
NAS1
NRS1 LAS1 LRS1 SS1 LDB1
NAS2
NAS3
NRS2
NAS4
NRS3 LAS5 LRS4 SS4 LDB4 DDB3 LAS6 LRS5 SS5 LDB5
LAS2 LRS2 SS2 LDB2