第十四章分布式数据库系统.ppt
《第十四章分布式数据库系统.ppt》由会员分享,可在线阅读,更多相关《第十四章分布式数据库系统.ppt(73页珍藏版)》请在三一文库上搜索。
1、An Introduction to Database System,中国人民大学信息学院,数据库系统概论 An Introduction to Database System 第十四章 分布式数据库,An Introduction to Database System,第十四章 分布式数据库,14.1 概述 14.2 分布式数据库系统的体系结构 14.3 查询处理和优化 14.4 分布事务管理 14.5 小结,An Introduction to Database System,14.1 概述,14.1.1 分布式数据库系统 14.1.2 分布式数据库系统的特点,An Introductio
2、n to Database System,14.1.1 分布式数据库系统,什么是分布式数据库? 分布式数据库由一组数据组成,这些数据物理上分布在计算机网络的不同结点(亦称场地)上,逻辑上是属于同一个系统。 分布性 逻辑整体性,An Introduction to Database System,分布式数据库系统(续),图14.1 一个分布式数据库系统,例1如图14.1所示,An Introduction to Database System,分布式数据库系统(续),区分一个系统是若干集中式数据库的简单连网还是分布式数据库系统的技术要点在于: 系统是否支持全局应用 一个典型的例子是银行转账 从一
3、个分行的账户(设在DB1数据库)中转移若干金额到另一个分行的账户(设在DB3数据库)中去 要同时更新两个结点上的数据库,An Introduction to Database System,分布式数据库系统(续),图14.2 一个多处理机系统(SN并行结构),例2如图14.2所示,An Introduction to Database System,分布式数据库系统(续),多处理机系统(SN并行结构) 没有局部应用 分布式数据库不仅要求数据的物理分布,而且要求这种分布是面向处理、面向应用的,An Introduction to Database System,分布式数据库系统(续),分布式数据
4、库: 分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为场地自治),可以执行局部应用。同时,每个结点也能通过网络通信子系统执行全局应用。 场地自治性 自治场地之间的协作性,An Introduction to Database System,14.1 概述,14.1.1 分布式数据库系统 14.1.2 分布式数据库系统的特点,An Introduction to Database System,分布式数据库系统的特点(续),一、数据独立性 逻辑独立性 物理独立性 数据分布独立性(分布透明性) 用户的应用程序书写起来就如同数据没有分布
5、一样,An Introduction to Database System,分布式数据库系统的特点(续),二、集中与自治相结合的控制结构 数据共享: (1) 局部共享 (2)全局共享 控制机制: 集中 自治,An Introduction to Database System,分布式数据库系统的特点(续),三、适当增加数据冗余度 提高系统的可靠性、可用性 提高系统性能 四、全局的一致性、可串行性和可恢复性 局部数据库要保证ACID 全局数据库也要保证ACID,An Introduction to Database System,第十四章 分布式数据库,14.1 概述 14.2 分布式数据库系统
6、的体系结构 14.3 查询处理和优化 14.4 分布事务管理 14.5 小结,An Introduction to Database System,14.2 分布式数据库系统的体系结构,14.2.1 分布式数据库系统的模式结构 14.2.2 数据分片 14.2.3 分布透明性 14.2.4 分布式数据库管理系统,An Introduction to Database System,14.2.1 分布式数据库系统的模式结构,图14.3 分布式数据库系统的模式结构,An Introduction to Database System,分布式数据库系统的模式结构(续),分布式数据库系统增加的模式级别
7、 (1) 全局外模式(Global External Schema) (2) 全局概念模式(Global Conceptual Schema) (3) 分片模式(Fragmentation Schema) 片段(Fragment) 定义片段以及全局关系到片段的映象 (4) 分布模式(Allocation Schema) 定义片段的存放地点,An Introduction to Database System,14.2 分布式数据库系统的体系结构,14.2.1 分布式数据库系统的模式结构 14.2.2 数据分片 14.2.3 分布透明性 14.2.4 分布式数据库管理系统,An Introduc
8、tion to Database System,14.2.2 数据分片,数据分片 有利于按照用户的需求较好地组织数据的分布 有利于控制数据的冗余度 数据分片的方式 水平分片 垂直分片 混合分片 导出分片,An Introduction to Database System,数据分片(续),水平分片 按一定的条件将关系按行(水平方向)分为若干不相交的子集,每个子集为关系的一个片段。 垂直分片 指将关系按列(垂直方向)分为若干子集。 每个片段通常都包含关系的码,An Introduction to Database System,数据分片(续),导出分片 是指导出水平分片,即水平分片的条件不是本身
9、属性的条件而是其他关系的属性的条件。,An Introduction to Database System,数据分片(续),例学生选课关系SC(Sno,Cno,Grade),按照学生年龄18岁和18岁分片(学生年龄是学生关系Student的属性) 年龄18岁的学生选课片段由下面的查询结果组成: SELECT Sno,Cno,Grade FROM S,SC WHERE S.SnoSC.Sno AND S.Sage18; 年龄18岁的片段SC_B由下面的查询结果组成: SELECT Sno,Cno,Grade FROM S,SC WHERE S.SnoSC.Sno AND S.Sage18;,An
10、 Introduction to Database System,数据分片(续),混合分片 是指按上述三种分片方式得到的片段继续按另一种方式分片。,例如,先按垂直分片再按水平分片方式继续分片。,例如,先按水平分片得到的某一片段再进行垂直分片。,An Introduction to Database System,数据分片(续),分片应满足的条件 完全性 不相交性 可重构性 垂直分片:连接 水平分片:并操作,An Introduction to Database System,14.2 分布式数据库系统的体系结构,14.2.1 分布式数据库系统的模式结构 14.2.2 数据分片 14.2.3 分
11、布透明性 14.2.4 分布式数据库管理系统,An Introduction to Database System,14.2.3 分布透明性,分片透明性 最高层次 用户或应用程序只对全局关系进行操作而不必考虑关系的分片 位置透明 下一层次 用户或应用程序不必了解片段的存储场地,当存储场地改变了,由于分片模式到分布模式的映像(映像3),应用程序不必改变 局部数据模型透明性 较低层次 是指用户或用户程序不必了解局部场地上使用的是哪种数据模型,模型的转换以及数据库语言的转换均由映像4完成,An Introduction to Database System,分布透明性(续),例1设在分布式数据库系统
12、中有全局关系 Student(Sno,Sname,Sdept,Sage) Student关系被划分为两个片段S_A和S_B。 S_A代表理学院的学生,S_B代表文学院的学生。 S_A存储在场地1(Site1),S_B冗余地存储在场地2和场地3上。,An Introduction to Database System,分布透明性(续),要求 从终端读入一个学号,查找该学号的学生姓名、年龄,并把它们显示在屏幕上。 设应用程序是用嵌入SQL语句的C语言写的。现给出查询部分的算法思想。,An Introduction to Database System,分布透明性(续),情况1 系统具有分片透明性
13、Scanf(“% s”,Snumber); EXEC SQL SELECT Sname,Sage INTO:NAME,:AGE FROM Student WHERE Sno :Snumber; Printf(“% s,% d“,NAME,AGE);,程序变量,An Introduction to Database System,分布透明性(续),情况2 系统具有位置透明性,但不具有分片透明性 Scanf(“% s“,Snumber); EXEC SQL SELECT Sname,Sage INTO:NAME,:AGE FROM S_A WHERE Sno :Snumber; If(! FOUN
14、D) EXEC SQL SELECT Sname,Sage INTO :NAME,:AGE FROM S_B WHERE Sno :Snumber; Printf(“% s,% d“,NAME,AGE);,An Introduction to Database System,分布透明性(续),情况3 系统只具有局部数据模型透明性,不具有位置透明性 Scanf(“% s“,Snumber); EXEC SQL SELECT Sname, Sage INTO : NAME,:AGE FROM S_A AT Site1 WHERE Sno :Snumber; If(! FOUND) EXEC SQL
15、 SELECT Sname, Sage INTO : NAME,:AGE FROM S_B AT Site2 WHERE Sno:Snumber; Printf(“% s,% d”, NAME,AGE);,An Introduction to Database System,14.2 分布式数据库系统的体系结构,14.2.1 分布式数据库系统的模式结构 14.2.2 数据分片 14.2.3 分布透明性 14.2.4 分布式数据库管理系统,An Introduction to Database System,14.2.4 分布式数据库管理系统,分布式数据库管理系统 (Distributed Da
16、ta Management System,D-DBMS) 建立、管理和维护分布式数据库的一组软件,An Introduction to Database System,分布式数据库管理系统(续),D-DBMS的结构,分布式数据库管理系统的结构,An Introduction to Database System,分布式数据库管理系统(续),D-DBMS由四部分组成: (1)局部数据库管理系统LDBMS(Local DBMS) (2)全局数据库管理系统GDBMS(Global DBMS) (3) 全局数据字典(Global Data Directory,GDD) (4) 通信管理(Communi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十四 分布式 数据库 系统
链接地址:https://www.31doc.com/p-3129741.html