分布式数据库第08章复习要点整理
- 格式:docx
- 大小:32.81 KB
- 文档页数:3
分布式数据库复习要点第一章1、分布式数据库的定义(P4)物理上分散而逻辑上集中的系统,它使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)连接起来,共同组成一个统一的数据库系统。
分布式数据库系统可以看成是计算机网络和数据库系统的有机结合。
2、分布式数据库的两种分类方法(P7)●按局部DBMS的数据模型分同构型DDBS:各个站点上数据库使用同一数据模型同构同质型-数据模型相同,且是同一种DBMS(同一厂家)同构异质型-数据模型相同,不是同一种DBMS异构型DDBS :各站点上数据库的数据模型类型不同全局控制集中型DDBS:全局控制机制和全局数据词典位于中心站点全局控制分散型DDBS:全局控制机制和全局数据词典分散在网络的各个站点上。
全局控制可变型DDBS:也称主从型DDBS。
分成两组站点,一组包含全局控制机制和全局控制词典,另外一组不包含。
3、分布式数据库的组成成分(两部分)(P9)●数据:分布式数据库的主体,包括局部数据和全局数据。
●数据目录:数据结构的定义、全局数据的分片、分布、授权、事务恢复等描述,包括局部和全局数据目录。
4、分布式数据库的数据分片的定义和类型(3种)(P10)数据分片:又称数据分割、数据分段,局部数据库是由全局数据库分割而成。
三种类型:●水平分片:按特定条件把全局关系的所有元组划分成若干个互不相交的子集,对全局关系施加选择运算。
●垂直分片:把全局关系的属性集分成若干个子集,对全局关系施加投影运算。
●混合分片:以上两种方法的混合。
5、分布式数据库的分布策略(4条)(P11)数据分布:根据某种策略把数据分片所得的逻辑片断分散地存储在各个站点上.●集中式:所有数据都安排在同一站点上●分割式:所有数据只有一份,被分割成若干个逻辑片段,每个片段被放置在特定的站点●复制式:所有数据有多个副本,每个站点都有一个完整的数据副本●混合式:分割式和复制式的混合6、分布式数据库的模式结构(P13)分四层:●全局外层:全局外模式---全局应用的用户视图。
分布式数据库系统_复习本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March一、填空分布式数据库系统按局部数据库管理系统的数据模型分类,可以分为和两类。
同构型DDBS 异构型DDBS分布式数据库系统按全避控制系统类型分类,可以分为、和三类。
全局控制集中型DDBS 全局控制分散型DDBS 全局控制可变型DDBS分布式数据库是分布式数据库系统中各站点上数据库的逻辑集合,它由和组成。
应用数据库描述数据库数据分片的三种基本方法是:、和三类。
水平分片垂直分片混合分片分布式数据库中的数据分布策略有:、、和四层。
集中式分割式复制式混合式分布式数据库是多层模式结构,一般划分为、、和四层。
全局外层全局概念层局部概念层局部内层一个分布式数据库管理系统一般应包括、、和四个基本功能模块。
查询处理模块完整性处理模块调度处理模块可靠性处理模块分布透明性包括、和三个层次。
分片透明性位置透明性局部数据模型透明性分布式数据库系统的创建方法,大致可分为和两种。
组合法重构法集中式数据库设计一般包括:需求分析,概念设计,逻辑设计和物理设计四个阶段,分布式数据库设计除了上述四个阶段外,还需增加一些个新的阶段,它位于和之间。
分布设计逻辑设计物理设计水平分片的方法可归为和两种。
初级分片导出分片DATAID-D相对于DATAID-1增加了和两个阶段。
分布要求分析分布设计DATAID-D中的分布设计分成、、和四个阶段。
分片设计非冗余分配冗余分配局部模式的重新构造分布式查询优化的准则是。
通信费用和响应时间最短在分布式系统中,查询代价QC=。
I/O代价+CPU代价+通信代价在分布式环境下,查询可分为、和三种类型。
局部查询远程查询全局查询分布式查询处理可以分为、、和四层。
查询分解数据本地化全局优化局部优化一个分布式事务通常是由和组成。
主事务子事务事务的四个特性是:、、和。
分布式数据库系统复习材料在学习和复习分布式数据库系统时,需要掌握以下几个关键知识点:1.分布式数据库架构:分布式数据库系统可以采用集中式架构、两层架构、三层架构等不同的架构模式。
其中集中式架构通过一个中央服务器管理所有的数据,两层架构将数据分为客户端和服务器两部分进行管理,三层架构引入中间层服务器来协调不同的功能和数据层。
2.分布式数据库一致性:分布式数据库系统需要保证数据的一致性。
数据的一致性可以通过ACID原则来保证,即原子性、一致性、隔离性和持久性。
此外,还可以使用分布式事务来保证数据的一致性,分布式事务可以通过两阶段提交(2PC)或者三阶段提交(3PC)来实现。
3.分布式数据库的查询:分布式数据库系统可以进行分布式查询,即将查询请求分发给不同的节点进行处理。
常用的查询分发策略包括哈希分发、范围分发和复制分发。
哈希分发根据查询内容的哈希值将查询请求分发到对应的节点上,范围分发根据数据的范围将查询请求分发到对应节点上,复制分发将查询请求分发到多个节点上进行处理。
4.分布式数据库的数据复制:分布式数据库系统可以通过数据复制来提高数据的可靠性和性能。
数据复制可以采用同步复制或者异步复制方式。
同步复制要求数据在所有节点上都写入成功后才算成功,而异步复制则可以先将数据写入一个节点,然后再异步地将数据复制到其他节点上。
5.分布式数据库的容错与恢复:分布式数据库系统需要具备容错和恢复机制,以应对节点故障或者网络故障等异常情况。
常用的容错机制包括故障检测、容错存储和故障恢复。
故障检测可以通过心跳机制或者节点监视来实现,容错存储可以通过数据备份或者数据冗余来实现,故障恢复可以通过副本恢复或者数据迁移来实现。
6.分布式数据库的性能优化:分布式数据库系统可以通过多种方式来优化性能。
常用的性能优化方法包括数据分片、负载均衡和缓存机制。
数据分片可以将数据分散到不同的节点上,以减轻节点的负载;负载均衡可以将查询请求均匀地分发到各个节点上,以提高查询的响应速度;缓存机制可以将频繁查询的数据缓存在节点上,以减少磁盘访问,提高查询性能。
《分布式数据库原理及应⽤》知识总结《分布式数据库原理及应⽤》知识总结⽬录1 描述关系数据库的相关概念: (3)1)关系数据的数据模型 (3)2)⽀持的数据类型 (4)3)关系数据库的性能瓶颈 (4)4)ACID与事务 (4)2 描述NoSQL数据库的相关概念: (5)1)NoSQL数据库的分类 (5)2)NoSQL数据库的特点 (5)3)CAP与BASE理论 (6)3 MongoDB相关 (6)1)MongoDB的简介 (6)2)MongoDB的数据模型 (6)3)MongoDB的存储结构 (7)4)MongoDB⽀持的数据类型 (7)5)MongoDB数据库操作的基本命令 (7)6)MongoDB集合操作的基本命令 (7)7)MongoDB⽂档操作的基本命令 (8)save() ⽅法 (10)8)Java连接MongoDB的流程 (13)9)MongoDB的索引原理 (13)10)MongoDB⽀持的索引类型 (13)11)MongoDB的聚合操作 (14)12)MongDB⽀持的聚合类别 (14)13)MongoDB复制集相关: (14)14)MongoDB分⽚集相关: (16)15)数据库编程 (17)4 Neo4j相关 (18)1)描述Neo4j的基本组成 (18)2)Neo4j的基本操作命令 (18)3)描述对github等⽹站的理解与使⽤ (18)5 内存数据库 (19)1)Memcache (19)2)Redis (19)3)Memcache与redis的对⽐ (22)6 Hbase列族数据库 (22)1)HBase的特点 (22)2)HBase的成员组成及作⽤ (22)3)HBase的数据模型 (23)4)HBase的⽀持的数据类型 (23)5)HBase常⽤操作命令 (24)6)HBase的存储 (24)7)HBase的寻址 (25)8)HBase的读写操作 (25)9)HBase的store的合并和分裂 (26)10)HBase的region的拆分和合并 (26)11)HBase的负载均衡策略 (27)12)布隆过滤器 (27)13)Rowkey在HBase中应该如何设计 (28)7 NoSQL数据库汇总 (29)1 描述关系数据库的相关概念:1)关系数据的数据模型包括三个⽅⾯:a.关系数据结构b.关系完整性原则c.有关系运算a.关系数据结构1)域(Domain)域是⼀组具有相同数据类型的值的集合。
分布式数据库考试总结要点-可靠性1、可靠性(reliability)… 指数据库在⼀给定时间间隔内不产⽣任何失败的概率。
… 强调正确性,要求数据库正确运⾏,即符合某种规格化要求。
… 通常⽤来描述不可修复的系统。
可⽤性(availability)… 强调的是当需要访问数据库时,它是可⽤的。
… 指在给定的时间点系统可以正常运⾏的概率。
… 通常⽤于描述那些可以修复的系统。
两者关系… 通常认为构建⾼可⽤性的系统⽐⾼可靠性的系统容易… 两者是统⼀的,可靠性⾼的系统可⽤性⾃然是好的… 两者⼜是⽭盾的,增加错误风险的情况下,可提⾼可⽤性2、分布式可靠性协议组成… 提交协议:保证分布式事务的原⼦性… 恢复协议:失效站点重新启动后,如何处理失效事件带来的影响。
… 终结协议:若⼀个站点失效,其它未失效站点如何处理失效事件的协议。
… ⾮阻断协议:允许事务在⾮失效的站点终结,⽽不必等待失效站点的恢复。
可改进事务的响应时间。
… 独⽴的恢复协议:规定如何在发⽣失效时终结事务,⽽不必求助于其它站点。
可以减少恢复时需要交换的信息3、两阶段提交协议(2PC)的要点… 允许参与者单⽅⾯撤销事务,直到做出肯定性的建议… 参与者⼀旦做出提交或者撤销建议,它就不能再更改… 当参与者处于就绪状态,它可根据协调者发来的消息类别,转换为相应的提交或者撤销状态… 协调者依据全局提交规则作出全局终结决定… 在发⽣故障的情况下,协调者和参与者可能会进⼊互相等待的状态,⼀般采⽤定时器来解决这种问题4、事务阻断(阻断即等待)… 某个站点上可以终结(提交或撤销)的⼦事务,由于DDBS故障,⽽必须等待到故障恢复后,收到必要的信息才能结束的事务状态。
… 处于阻断状态的事务不会释放占有的资源。
两阶段提交协议是阻断协议事务阻断降低了系统的可⽤性5、终结协议… 允许事务在有故障情况下仍能正确结束的协议… 在⾮⽹络分割故障时,2PC协议的某些情况可以设计为终结协议,使⽆故障的站点终结⼦事务,即当协调者站点在第⼆阶段发⽣故障时,做如下处理:… ⾄少有⼀个站点已收到结果命令,则该站点可以告知其它参与者关于该事务的结果,并由它们来终结该事务。
分布式数据库知识点整理局部数据:只提供本站点的局部应⽤所需要的数据。
全局数据:虽然物理上存储在个站点上,但是参与全局应⽤。
局部⽤户:⼀个⽤户或⼀个应⽤如果只访问他注册的那个站点上的数据称为本地或局部⽤户或本地应⽤;全局⽤户:如果访问涉及两个或两个以上的站点中的数据,称为全局⽤户或全局应⽤。
全局外模式:是全局应⽤的⽤户视图,也称全局视图。
从⼀个由各局部数据库组成的逻辑集合中抽取,即全局外模式是全局概念式的⼦集。
全局概念模式:描述分布式数据库中全局数据的逻辑结构和数据特性,是分布式数据库的全局概念视图。
分⽚模式:描述全局数据的逻辑划分。
每个全局关系可以通过选择和投影的关系操作被逻辑划分为若⼲⽚段。
分⽚模式描述数据分⽚或定义⽚段,以及全局关系与⽚段之间的映像。
这种映像是⼀对多的。
分配模式:根据选定的数据分布策略,定义各⽚段的物理存放站点,即定义⽚段映像的类型,确定分布式数据库是冗余的还是⾮冗余的,以及冗余的程度。
如果⼀个⽚段分配在多个站点上,则⽚段的映像是⼀对多的,分布式数据库是冗余的,否则是不冗余的。
局部概念模式:是全局概念模式的⼦集。
全局概念模式经逻辑划分成⼀个或多个逻辑⽚段,每个逻辑⽚段被分配在⼀个或多个站点上,称为该逻辑⽚段在某个站点上的物理映像或称物理⽚段。
局部内模式:是分布式数据库中关于物理数据库的描述,描述的内容不仅包含局部本站点的数据的存储描述,还包括全局数据在本站点的存储描述。
2. 什么是分布式数据库系统?主要特点?物理上分散⽽逻辑上集中的系统,它使⽤计算机⽹络将地理位置分散⽽管理和控制⼜需要不同程度集中的多个逻辑单位连接起来,共同组成⼀个统⼀的数据库系统。
分布式数据库系统可以看成是计算机⽹络和数据库系统的有机结合。
(1)物理分布性(2)逻辑整体性(3)站点⾃治性(4)数据分布透明性(5)集中与⾃治相结合的控制机制(6)存在适当的数据冗余度(7)事务管理的分布性1987 年提出12 条规则:(1)本地⾃治性(2)不依赖于中⼼站点(3)可连续操作性(4)位置独⽴性(5)数据分⽚独⽴性(6)数据复制独⽴性(7)分布式查询处理(8)分布式事务管理(9)硬件独⽴性(10)操作系统独⽴性(11)⽹络独⽴性(12)数据库管理系统独⽴性区别分布式数据库系统与只提供远程数据访问功能的⽹络数据库系统:分布式数据库系统中的数据是物理分布在⽤计算机⽹络连接起来的各个站点上;每⼀个站点可以使⼀个集中式数据库系统,⽽且都有⾃治处理的能⼒,完成本站点的局部应⽤;⽽每⼀个站点上的数据并不是互不相关的,它们构成⼀个逻辑整体,统⼀在分布式数据库管理系统的管理下,共同参与并完成全局应⽤,⽽且,分布式数据库系统中的这种“分布”对⽤户来说是透明的,也就是说,本地与远程结合的“接缝”是被隐蔽的,⽤户应该完全感觉不到远程与本地结合的接缝的存在,即“⼀个分布式系统应该看起来完全像⼀个⾮分布式系统”。
分布式数据库总结(申德荣)第一章分布式数据库系统概述一、分布式数据库的发展1、分布式数据库的发展:①集中式数据库管理系统的局限性:a.通讯瓶颈;b.响应速度。
②推动分布式数据库发展的动力:a.应用需求;b.硬件环境的发展。
二、分布式数据库系统的定义:分布式数据库系统,通俗地说,是物理上分散而逻辑上集中的数据库系统。
分布式数据库系统使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通常是集中是数据库系统)连接起来,共同组成一个统一的数据库系统。
三、分布式数据库系统的特点:a.物理分布性:数据不是存放在一个站点上b.逻辑整体性:是与分散式数据库系统的区别c.站点自治性:是与多处理机系统的区别d.数据分布透明性e.集中与自治相结合的控制机制f.存在适当的数据冗余度g.事务管理的分布性四、分布式数据库系统的分类按局部数据库管理系统的数据模型分类:同构性(homogeneous)(分为同构同质型和同构异质型)DDBS和异构性(heterogeneous)DDBS按分布式数据库系统的全局控制系统类型分类:全局控制集中型DDBS,全局控制分散型DDBS,全局控制可变型DDBS。
五、分布式数据库中数据的独立性和分布透明性所谓数据独立性是指用户或用户程序使用分布式数据库如同使用集中式数据库那样,不必关心全局数据的分布情况,包括全局数据的逻辑分片情况、逻辑片段站点位置的分配情况,以及各站点上数据库的数据模型等。
也就是说,全局数据的逻辑分片、片段的物理位置分配,各站点数据库的数据模型等情况对用户和用户程序透明。
所以,在分布式数据库中分布独立性也称为分布透明性。
六、分布式数据库系统的体系结构、组成成分集中式数据库管理系统结构:a. DB(数据库)b. DBMS(集中式数据库管理系统)c. DBA(数据库管理员)分布式数据库管理系统(DDBMS)结构:a. LDB(局部数据库)b. GDB(全局数据库)c. LDBMS (局部数据库管理系统)d. GDBMS (全局数据库管理系统)e. LDBA(局部数据库管理员)f. GDBA (全局数据库管理员)七、分布式数据库系统的特性:1. 数据透明性:a.分布透明性b. 分片透明性c. 复制透明性2. 场地自治性:a. 设计自治性b. 通信自治性c. 执行自治性八、分布式数据库系统的优点:分布式数据库系统是在集中式数据库系统的基础上发展来的,比较分布式数据库系统与集中式数据库系统,可以发现分布是数据库系统具有下列优点:1.更适合分布式的管理与控制。
计算机数据库设计与分布式数据库技术复习一、引言计算机数据库是现代信息系统的重要组成部分,用于存储、管理和操作大量的结构化数据。
而分布式数据库技术则使得数据库可以在多个独立的计算机上进行分布式存储和处理,提高了系统的可伸缩性和可靠性。
本文将对计算机数据库设计和分布式数据库技术进行复习和总结。
二、计算机数据库设计1. 数据库的概念和分类数据库是指一个组织和管理数据的系统,主要分为关系型数据库和非关系型数据库两大类。
关系型数据库以表格的形式存储数据,通过SQL语言进行操作;而非关系型数据库则采用键值对、文档、列族等方式存储数据,如MongoDB、Redis等。
2. 数据库设计的基本原则数据库的设计需要遵循一些基本原则,包括实体完整性、关系完整性、域完整性等。
实体完整性要求每条记录都具有唯一标识,关系完整性要求表之间的关联关系必须符合业务逻辑,域完整性要求每个字段的取值必须符合约束条件。
3. 数据库模型和范式数据库模型定义了数据库的结构和操作方式,主要有层次模型、网状模型和关系模型等。
其中关系模型是最常用的数据库模型,通过表格的形式表示数据之间的关系。
范式是用来评价数据库设计的标准,包括第一范式、第二范式和第三范式等,用于保证数据的一致性和查找效率。
4. 数据库索引和查询优化数据库索引是提高查询效率的重要手段,通过在表上创建索引可以加快数据的查找速度。
常用的索引类型包括B树索引、哈希索引和全文索引等。
同时,通过优化查询语句的编写和数据库的物理组织结构,还可以进一步提高查询效率。
三、分布式数据库技术1. 分布式数据库的概念和架构分布式数据库是将数据库系统分布在多个计算机上,通过网络连接进行通信和协作,实现数据的分布式存储和处理。
分布式数据库的架构包括中心化架构、两层架构和三层架构等,其中三层架构是目前应用最为广泛的分布式数据库架构。
2. 分布式数据库的数据一致性和并发控制在分布式数据库中,由于数据的分布式存储和处理,需要解决数据一致性和并发控制的问题。
分布式数据库知识点整理1.一致性:-强一致性:在任何时间点,任何用户对数据库的操作都应该得到相同的结果。
-弱一致性:在分布式环境下,不同节点之间的数据可能存在一段时间的不一致性,但最终会达到一致性。
2.数据分片和分区:-将数据划分为多个分片或分区,并将其存储在不同的节点上,以实现数据的分布式存储和查询。
-常见的分片策略包括:基于哈希、基于范围、基于列表等。
3.数据复制:-将数据复制到多个节点上,以提高数据的可用性和容错性。
-主从复制:一个节点(主节点)负责接收写入请求,其他节点(从节点)复制主节点的数据。
-复制的方式包括同步复制和异步复制。
4.分布式事务:-分布式环境下,多个节点之间的事务一致性需要保证。
5.数据一致性与可用性的权衡:-数据的一致性和可用性往往是相互矛盾的。
数据复制和分片会增加系统的可用性,但可能导致数据的不一致性。
6.数据分布式查询:-查询在分布式数据库中的执行需要考虑到数据的分布和复制情况。
-中心化查询:将查询发送到一个中央节点,由该节点负责查询和合并结果。
-分布式查询:将查询发送到各个节点上并行执行,并将结果合并返回。
7.数据一致性调度与冲突解决:-在分布式环境中,不同节点上的数据修改操作可能存在冲突,需要一致性调度和冲突解决机制。
-基于锁的调度方法:通过加锁保证数据的一致性,但可能导致性能瓶颈。
-基于时间戳的调度方法:通过时间戳判断数据操作的先后顺序,从而解决冲突。
8.分布式数据库的扩展性:-分布式数据库可以通过添加更多的节点来扩展存储容量和处理能力。
9.分布式数据库的容错性:-分布式数据库可以通过数据复制和数据分片的方式实现容错,即使一些节点发生故障,系统仍能继续运行。
10.分布式数据库的监控与管理:-分布式数据库需要进行监控和管理,以保证其正常运行和性能优化。
-监控工具可以实时监测数据库的状态、性能和可用性。
-管理工具可以进行各种管理操作,如节点的添加和删除、数据的迁移等。
分布式数据库复习要点第一章1、分布式数据库的定义(P4)物理上分散而逻辑上集中的系统,它使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)连接起来,共同组成一个统一的数据库系统。
分布式数据库系统可以看成是计算机网络和数据库系统的有机结合。
2、分布式数据库的两种分类方法(P7)●按局部DBMS的数据模型分同构型DDBS:各个站点上数据库使用同一数据模型同构同质型-数据模型相同,且是同一种DBMS(同一厂家)同构异质型-数据模型相同,不是同一种DBMS异构型DDBS :各站点上数据库的数据模型类型不同全局控制集中型DDBS:全局控制机制和全局数据词典位于中心站点全局控制分散型DDBS:全局控制机制和全局数据词典分散在网络的各个站点上。
全局控制可变型DDBS:也称主从型DDBS。
分成两组站点,一组包含全局控制机制和全局控制词典,另外一组不包含。
3、分布式数据库的组成成分(两部分)(P9)●数据:分布式数据库的主体,包括局部数据和全局数据。
●数据目录:数据结构的定义、全局数据的分片、分布、授权、事务恢复等描述,包括局部和全局数据目录。
4、分布式数据库的数据分片的定义和类型(3种)(P10)数据分片:又称数据分割、数据分段,局部数据库是由全局数据库分割而成。
三种类型:●水平分片:按特定条件把全局关系的所有元组划分成若干个互不相交的子集,对全局关系施加选择运算。
●垂直分片:把全局关系的属性集分成若干个子集,对全局关系施加投影运算。
●混合分片:以上两种方法的混合。
5、分布式数据库的分布策略(4条)(P11)数据分布:根据某种策略把数据分片所得的逻辑片断分散地存储在各个站点上.●集中式:所有数据都安排在同一站点上●分割式:所有数据只有一份,被分割成若干个逻辑片段,每个片段被放置在特定的站点●复制式:所有数据有多个副本,每个站点都有一个完整的数据副本●混合式:分割式和复制式的混合6、分布式数据库的模式结构(P13)分四层:●全局外层:全局外模式---全局应用的用户视图。
一.简答题1.说明分布式数据库设计与集中式数据库设计的主要区别。
2.试叙述分布式DBS的体系结构,它有什么特征?3.简述分布式数据库的创建方法与设计方法。
4.简述分布式数据库系统的透明性。
5.在分布式数据库系统中,为什么要对数据进行分片?什么是关系的片段?关系的片段有那些类型。
6.什么是简单谓词?什么是极小项谓词?7.分布式事务有哪些基本性质。
8.简述分布式数据库中可能出现的故障类型。
9.检查点的作用和需做的工作。
10.简述2PC协议。
11.基本2PL与严格2PL的异同。
12.如何理解分布式数据库的“可靠性”和“可用性”。
二.下面是某个公司人事数据库的两个全局关系EMP={eno,ename,title,salary,addr,phone,dno};DEPT={dno,dname}该公司共有3个部门,dno 分别为0,1,2。
要求将DEPT关系和EMP关系的部分属性(ename,addr,phone)保存在部门0的场地上,EMP关系的部分属性(title,salary)保存在所在部门场地上。
根据上述要求,(1)将全局模式进行分片,写出分片定义和分片条件(2)指出各分片的类型,并画出分片树(3)对查询select ename,salary,dname from EMP,DEPT where dno=2.进行全局优化,画出优化后的全局查询树(4)进行分片优化,画出优化后的分片查询树三.下面是当一个数据库系统出现故障时,日志文件中的信息说明::D为数据记录,下标i表示事务号,上标表示对数据的第j步操作;D jiB:表示事务i开始执行;i:表示事务i提交;Ci:表示事务i废弃;AiK:是检查点。
根据上述log 信息,完成下面的处理:(1)画出对应的事务并发执行图(2)找出发生故障时系统中的活动事务,确定“反做”和“重做”事务集(3)指出需要undo的和redo的数据记录。
第一章1、世界上第一个分布式数据库系统SDD—1是由美国计算机公司(CCA)于1976年至1979年在DEC—10和DEC—20计算机上实现。
2、分布式数据库系统是数据库系统与计算机网络相结合的产物3、12条规则既不是相互独立的,也不是同等重要的,完全实现难度很大。
4、实现和建立分布式数据库系统绝对不是数据库技术与网络技术的简单结合。
分布式数据库系统虽然基于集中式数据库系统,但却有它自己的特色和理论基础。
5、关系技术是分布式技术的一个先决条件。
6、分布式数据库系统是物理上分散而逻辑上集中的数据库系统。
分布式数据库系统使用计算机网络将地理位置分散而管理和控制又不需要不同程度集中的多个逻辑单位连接起来,共同组成一个统一的数据库系统。
因此,分布式数据库系统可以看成是计算机网络与数据库系统的有机结合。
7、在分布式数据库系统中,被计算机网络连接的每个逻辑单位是能够独立工作的计算机,这些计算机称为站点也称为结点。
8、在分布式数据库系统中,一个用户或一个应用如果只访问他注册的那个站点上的数据称为本地(或局部)用户或本地应用;如果访问涉及两个或两个以上的站点中的数据,称为全局用户或全局应用。
9、一个分布式数据库系统应用应该具有以下几种特点:(1)物理分布性:分布式数据库系统的数据具有物理分布性,这是与集中式数据库系统的最大差别之一(2)逻辑整体性:区别一个数据库系统是分散式还是分布式,只需判断该数据库系统是否支持全局应用(3)站点自治性:各站点上的数据由本地的DBMS管理,具有自治处理能力,完成本站点的应用(局部应用),这是分布式数据库系统与多处理机系统的区别10、数据分布透明性是指用户不必关心数据是如何被逻辑分片的,不必关心数据及其片段是否被复制及复制副本的个数,也不必关心数据及其片段的物理位置分布的细节,同时也不必关心局部场地上数据库支持哪种数据模型11、增加数据冗余度方便了检索,提高了系统的查询速度、可用性和可靠性,但不利于数据的更新,这将增加系统维护的成本12、按局部数据库管理系统的数据模型分类(1)同构型:同构同质型、同构异质型(2)异构型按分布式数据库系统的全局控制系统类型分类:全局控制集中型DDBS、全局控制分散型DDBS、全局控制可变型DDBS13、在集中式数据库系统中,除了计算机本身的硬件和软件外,主要成分有:数据库DB、数控管理系统DBMS和数据库管理员DBA。
并发执行:同一时刻有多个活动事务同时运行。
并发控制问题:更新丢失、不可重读、读脏数据。
冲突操作(动作):R1(A)-W2(A)、W2(A)- R1(A)、W1(A)- W2(A),即除了读读不冲突外。
串行调度:一个事务的第一个动作是在另一个事务的最后一个动作完成后开始。
即调度中事务的各个操作不会交叉,,每个事务相继执行。
串行调度是正确调度。
冲突可串:一个调度冲突等价于某个串行调度。
也就是说,该调度可以通过一系列非冲突动
作的交换操作使其成为串行调度。
可串性理论:调度S冲突可串,当且仅当其先序图P(S)是无环图。
例如:S={W2(x),W2(y),R2(z),C2,R1(x),W1(x),C1,R3(x),R3(y),R3(z),C3}
先序图:T2→T1→T3,无环,S是串行调度。
并发控制算法:乐观法(锁、时间戳、混合法)、悲观法(锁、时序排序法)
锁模型:互斥模式、共享模式。
互斥(X)模式:如果数据项既可以读也可以写,则要用lock-X申请X模式锁。
共享(S)模式:如果数据项只可以读,则要用lock-S申请S模式锁。
锁相容性矩阵:
数据项上,可以多个事务申请S锁,但一个事务已经有互斥锁,其他事务不允许再获取任何锁。
基本2PL(2-phase locking protocol)协议:事务执行中Lock的管理分成两个阶段:①上升阶段,获取Lock阶段。
②收缩阶段,释放Lock阶段。
2PL可以保证事务执行的可串性。
锁点:第一个收缩阶段。
2PL能保证事务可串,但不能保证事务独立性。
但是使用S2PL可以。
多副本的情况下,使用:ROWA、多数Locking、仅向主副本发Lock原语。
以上3种技术比较:
无网络分割:多数Locking < ROWA
只考虑数据报文时:多数Locking = ROWA
Lock方式:直接Lock、分层Lock
锁粒度:DB、段、关系、元祖
问题:分层Lock时,T1对元组t加s-Lock,T2对t上的段S加x-Lock,则隐含地也要对t加x-Lock,所以冲突。
解决办法:意向锁。
意向锁:如果对一个节点加意向Lock, 则说明该节点的下层节点也正在被加Lock。
对任一节点加Lock时, 必须先对它的上层节点加意向Lock。
死锁发生的条件:互斥条件、等待条件、非抢占条件、循环等待条件。
局部死锁:仅在一个站点上发生的死锁。
全局死锁:涉及多个站点的死锁。
等待图:一种用来表示事务之间相互等待关系的有向图, 是分析死锁的有用工具。
分为局部等待图(LWFD)、全局等待图(GWFD)。
解死锁的方法:
1.预防:①预先占据所有需要的全部资源;②所有资源排序, 按资源序列申请;③预先确定
存取, 将所有并发事务排序, 按需存取数据;④事务退出已占有的资源。
2.死锁检测:集中式死锁检测、层次式死锁检测、分布式死锁检测。
分布式死锁检测算法:(重点:见第七次作业)寻找不含EX的Loop,若存在,则检测到死锁。
时间戳调度:基本时间戳、保守时间戳、多版本时间戳。
基本时间戳(重点:见第七次作业):
①读X的时候,若TS<WTM(x),则拒绝。
否则RTM(x)=max{RTM(x), TS}。
②写X的时候,若TS<RTM(x)或TS<WTM(x),则拒绝。
否则WTM(x) = max{WTM(x), TS}。
保守时间戳:每个事务的操作都被缓存起来,并建立起有序的队列,然后,按照顺序执行操作。
且要保证缓冲队列中至少有一个缓冲读/写,否则会死锁。
多版本时间戳:记录所有Ti对x的读时,即有RTM(Ti, x)。
记录所有Ti对x的写时,同时新写入
的值也被记录,WTM(Ti ,x, vi)。
多版本时间戳的规则:读草操作永不拒绝。
假定读操作的时间戳是TS, 于是在WTM(Ti, x, vi)
中找所有< TS的{ WTM(Ti, x, vi)}中的最大WTM(Tj, x, vj),即WTM( Tj, x, vj)= max{ WTM(Ti, x, vi)},
将vj给读的事务。
写操作,一般不拒绝。
记录下新的WTM( TS(Tk), x, vk) 即可。
但是, 若在TS(Tk)
与下一个比TS(Tk)大的最小时间戳TS(Tj)之间有读操作发生时,则拒绝TS(Tk)的写。
2PL与时间戳技术的比较:2PL:最通用的技术;有用于分布式系统;可能有死锁。
T.O.:适
宜于多版本;夭折多;无死锁;有用于分布式系统。
乐观方法:对Trans运行时发生的存取冲突不处理,待事务结束时再进行检验。
事务的三个阶段:读段、验证段、写段。
验证:使用数据项和事务时间戳(更新表验证);只使用事务时间戳(读/写集验证)。