
1、世界上第一个分布式数据库系统SDD—1是由美国计算机公司(CCA)于1976年至1979年在DEC—10和DEC—20计算机上实现。
2、分布式数据库系统是数据库系统与计算机网络相结合的产物
3、12条规则既不是相互的,也不是同等重要的,完全实现难度很大。
4、实现和建立分布式数据库系统绝对不是数据库技术与网络技术的简单结合。分布式数据库系统虽然基于集中式数据库系统,但却有它自己的特色和理论基础。
5、一些商品化的数据库系统产品,如Oracle,Ingres,Sybase,Informix,IBM DB2等
6、关系技术是分布式技术的一个先决条件。
7、分布式数据库系统是物理上分散而逻辑上集中的数据库系统。分布式数据库系统使用计算机网络将地理位置分散而管理和控制又不需要不同程度集中的多个逻辑单位连接起来,共同组成一个统一的数据库系统。因此,分布式数据库系统可以看成是计算机网络与数据库系统的有机结合。
8、在分布式数据库系统中,被计算机网络连接的每个逻辑单位是能够工作的计算机,这些计算机称为站点也称为结点。
9、在分布式数据库系统中,一个用户或一个应用如果只访问他注册的那个站点上的数据称为本地(或局部)用户或本地应用;如果访问涉及两个或两个以上的站点中的数据,称为全局用户或全局应用。
10、一个分布式数据库系统应用应该具有以下几种特点:
(1)物理分布性:分布式数据库系统的数据具有物理分布性,这是与集中式数据库系统的最大差别之一
(2)逻辑整体性:区别一个数据库系统是分散式还是分布式,只需判断该数据库系统是否支持全局应用
(3)站点自治性:各站点上的数据由本地的DBMS管理,具有自治处理能力,完成本站点的应用(局部应用),这是分布式数据库系统与多处理机系统的区别
11、数据分布透明性是指用户不必关心数据是如何被逻辑分片的,不必关心数据及其片段是否被复制及复制副本的个数,也不必关心数据及其片段的物理位置分布的细节,同时也不必关心局部场地上数据库支持哪种数据模型
12、增加数据冗余度方便了检索,提高了系统的查询速度、可用性和可靠性,但不利于数据的更新,这将增加系统维护的成本
13、按局部数据库管理系统的数据模型分类
(1)同构型:同构同质型、同构异质型
(2)异构型
14、按分布式数据库系统的全局控制系统类型分类:全局控制集中型DDBS、全局控制分散型DDBS、全局控制可变型DDBS
15、在集中式数据库系统中,除了计算机本身的硬件和软件外,主要成分有:数据库DB、数控管理系统DBMS和数据库管理员DBA。分布式数据库系统在次基础上做了扩充:数据库分为局部DB和全局DB;数据库管理系统分为局部DBMS和全局DBMS;数据库管理员分为局部DBA和全局DBA
15、分布式数据库有两部分组成:一部分是关于应用所需要的数据的集合,称为应用数据库,它是分布式数据库的主体;另一部分是关于数据库中数据结构的定义,以及全局数据的分片、分布的描述,称为数据字典、数据目录或元数据
16、局部数据目录是指本站点中的局部数据字典,而全局数据目录就是全局数据字典,又称网路数据,是提供全局数据的描述和管理的相关信息,如数据的结构定义,数据的分片、分布处理、授权、事务恢复等的必要信息
17、数据分片有三种基本方法:水平分片、垂直分片、混合分片
18、定义各类片段要遵守的规则:完备性条件、可重构条件、不相交条件
19、所谓数据分布是指分布式数据库中的数据不是存储在一个站点的计算机存储设备上,而是根据需要将数据划分成逻辑片段,按某种策略将这些片段分散地存储在各个站点上
20、数据分布的策略有:集中式、分割式、复制式、混合式
21、集中式数据库的模式结构:内模式、模式、外模式
22、分布式数据库是多层模式结构:(1)全局外层:全局外模式(2)全局概念层:全局概念模式、分片模式、分配模式(3)局部概念层:局部概念模式(4)局部内层:局部内模式
23、分布式数据库管理系统的功能模块:
(1)查询处理模块|:查询处理模块至少由两部分组成:查询分析和优化处理
(2)完整性处理模块:该模块主要负责维护数据库的完整性和一致性规则,处理多副本数据的同步更新等
(3)调度处理模块
(4)可靠性处理模块
24、(分布式中)所谓数据分布性是指用户或用户程序使用分布式数据库如同使用集中式数据库那样,不必关心全局数据的分布情况,包括全局数据的逻辑分片情况、逻辑片段的站点位置分配情况,以及各站点上数据库的数据模型等。
25、分布透明性有三层:分片透明性、位置透明性、局部数据模型透明性
26、分片透明性是分布透明性的最高层。当分布式数据库具有分片透明性时,用户编写应用程序只对全局关系进行操作,不必考虑数据的逻辑分片,当分片模式改变时,只要改变全局概念模式到分片模式之间的映像,就不会影响用户程序,从而实现了数据分片透明性。
27、位置透明性也称分配透明性是分布透明性的中间层。当分布式数据库具有位置透明时,用户编写应用程序要了解全局数据的数据分片情况,但不必了解各逻辑片段的复制副本情况,也不必关心各片段及其副本的站点位置分配情况。当片段及其副本的存储站点改变时,只要改变从分片模式到分配模式之间的映像,就不会影响用户程序,从而实现了数据片段的位置透明性
28、局部数据模型透明性也称局部映像透明性,即与各站点上数据库的数据模型无关,是分布透明性的最底层。
29、如果一个分布式数据库系统提供分片透明性,当然它也提供分配透明性和局部数据模型透明性,所以也称完全分布透明性,是分布透明性的最高级别
如果一个分布式数据库系统提供分配透明性,而没有提供分片透明性,当然它也提供局部数据模型透明性,所以也称为中级分布透明性
如果一个分布式数据库系统只提供局部数据模型透明性,不提供分片透明性,也不提供分配透明性,称为低级分布透明性
如果一个分布式数据库系统,连局部数据模型透明性也不提供,即将异构数据模型转换也交给用户和用户程序自己处理,称为无分布透明性
30、分布式数据库系统的有点:良好的可靠性和可用性、提高系统效率,降低通信费用、较大的灵活性和可伸缩性、经济性和保护投资
31、分布式数据库系统中存在的技术问题:数据的分片、分布与冗余度;异构数据库的互联;分布式数据库的查询处理;分布式数据库的更新处理
第二章
1、分布式数据库系统的创建方法即分布式数据库系统的实现方法,大致可分为两种:组合法和重构法。
2、组合法也称为集成法,这是一种自底向上的创建方法。
3、创建分布式数据库系统应考虑:一方面要对网络系统的功能进行剖析,另一方面还需要对各个站点上原有的数据库系统进行剖析。除此之外,还需解决数据的一致性、完整性以及可靠性。(此方法是建立在原有的系统里)
4、重构法是根据系统的实现环境和用户需求,按照分布式数据库系统的设计思想和方法,采用统一的观点,从总体设计做起,包括各站点上的数据库系统,重新建立一个分布式数据库。(此方法是建立在新建的系统里)
5、重构法的优点在于,可以按照统一的思想来考虑分布式数据库系统中的各种问题,有效地解决分布式数据库系统的数据一致性、完整性和可靠性。
6、(简答题)分布式数据库设计的目标包括集中式数据库设计中的目标,还要包括以下几点:
(1)分布式数据库的本地性或进地性。分布式数据库系统中最重要的目标是尽量减少对网络的利用,即尽可能减少站点之间的通信次数和通信量。所以,分布式数据库设计中的一个主要原则是使数据和应用实现最大程度的本地性。
(2)控制数据库的适当冗余。这不仅使应用具有高度的可用性和本地性,而且当数据的任何一个副本不能使用时,可方便地使用在另一站点中的该数据的副本进行恢复,从而提高系统的可靠性。
(3)工作负荷分布。分布式计算机系统的一个重要特征是把工作负荷分布在网络中的各个站点上。
(4)存储的能和费用。数据库的分布会受到各站点的存储能力的影响。在网络中可以有专门用于存储数据的站点。数据存储的费用与CPU,I/O及传输的费用相比是不重要的,但是必须考虑各站点可用存储空间的。
(P43具体实现,第三段)
7、分布式数据库系统的创建方法有重构法和组合法,相应的分布式数据库设计方法也有两种方法,即自顶而下方法和自底而上方法。前一种方法是从头开始设计分布式数据库,而后一种方法则通过聚集现存的数据库来设计分布式数据库。
8、设计集中式数据库的一般方法包括四个阶段:需求分析、概念设计、逻辑设计和物理设计。
分布式数据库设计出了上述阶段外,还要增加一个新的阶段,叫做分布设计,它位于逻辑设计与物理设计之间,以一个全局的、与站点无关的模式作为输入,以产生分布式数据库各站点的子模式(局部概念模式)作为结果输出。
9、分布式数据库的分布设计要求确定数据的分片和片段的分配。分片是指把一个全局对象(实体或关系)细分成若干逻辑片段的过程;分配是指把各片段映射到一个或多个站点的过程,片段是最适合的数据分配单位。
10、在自顶向下的数据分布设计中,必须要解决的第一个问题是数据的分片设计。
11、因此,如果同一个片段的任意两个元素具有“相同的性质(例如访问频率相同)”的话,那么数据分配时所用的任意一种丰富都将把这两个元素放在一起,以这种方式得到的片段将是分布式数据库中数据合适的分配和存储单位。
12、分片设计的基本目的是产生一个对全局数据合适的划分方案。
13、P45 数据分片的基本类型和方法(全看)
14、数据分片方法两种:水平分片与垂直分片。两者交替可以产生混合分片。
15、水平分片的方法可归为初级分片和导出分片两类。
16、P45 例2.1,2.2,2.3
17、P48 垂直分片(全看)
18、在确定数据片段的位置分配时,应根据应用需求确定设计是非冗余分配还是冗余分配。在非冗余分配中,每个片段恰好映射到一个站点上;在冗余分配中,每个片段映射到一个或多个站点上。
19、在非冗余分配的设计中,最简单的方法是“最佳适应”方法。
20、冗余分配的设计可选用如下两种方法的任意一种。1)“所有得益站点”法2)“附加复制”法
21、P50 数据片段分配的费用和得益估算
22、DATAID—D是自顶向下设计分布式数据库的一个典型方法。
23、DATAID-D要求对其增加两个阶段:分布要求分析阶段和分布设计阶段。
1)分布要求分析阶段:需要这一阶段是为了收集关于分布的信息,如水平分片的划分谓词,每一应用在各站点激活的频率等。
2)分布设计阶段:这一阶段始于全局数据库模式的规格说明和所收集的分要求,然后产生全局数据的分片模式和片段的位置分配模式,分配模式描述了分配在各站点上的数据情况。
24、建立三种类型的表作为分部要求分析阶段的输出:应用的频率表、实体的划分表和数据与应用的极化表。
25、分布设计的目的是从全局数据模式、逻辑访问表和分布要求出发,将数据分配在站点上。
26、DATAID-D中的分布设计分成四个阶段:
1)分片设计,对实体进行水平分片和垂直分片。
2)非冗余分配,它的执行是把各片段映射到使用最多的站点上。
3)冗余分配,它的执行是使用“贪婪”启发式,可以采用上面已经阐述过的“所有得益站点法”或采用“附加复制法”。
4)局部模式重新构造,DATAID-D方法建议把联系放置在具有最大基数性的实体或片段的站点上,使得必须传送的实体标识符及可能少。
27、把现有的数据库集成起来构成分布式数据库时,可采用自底向上的方法。这种方法重点是把现有的各种不同的数据库模式集成为全局模式。所谓集成就是把公用数据定义合并起来,并解决对同一数据的不同表示方法之间的冲突。
28、注意,自底向上的设计方法不宜于水平分片关系的设计。
29、模式差异包括命名冲突、域差异、定标差异和结构差异。
30、处理操作期间的不一致数据。
1)存储在不同站点的雇员实体的两个示例碰巧有相同的标示符,但薪水属性值不同。
2)另一种可能性是,同一雇员在两个站点有两种不同的工作,并且薪水属性正好涉及这两种不同的工作。
3)不一致的第三个原因可能是逐渐过时所致,这种情况也可以在模式级解决。把两个薪水处理成异物同名(即老薪水和新薪水)。否则,有可能在查询修改时指明应使用最新值(在这种情况,薪水属性必须盖上时间戳)。
4)不一致性的第四个原因是由于不符合逻辑错误的实际存在的不正确性。
第三章
1、分布式查询优化的目标:一种目标是以总代价最小为标准,除了如集中式数据库系统一样考虑CPU代价和I/O代价之外,总代价还包括通过网络在站点之间传输数据或信息的代价。另一种目标是以每个查询的响应时间最短为标准。
2、在分布式查询优化中常常用时使用这两种标准,根据系统应用的不同,一种作为主要标准,另一种作为辅助标准。
3、分布式查询优化的准则是使通信费用最低和响应时间最短,即以最小的总代价,在最短的响应时间内获得需要的数据。
4、查询代价分析
(1)在远程通信网中,查询的局部处理时间与通信所需时间相比,可以忽略不计,减少通信费用成为分布式查询优化的主要目标
(2)在高速局域网中,往往以响应时间作为优化目标
在某些情况下,查询处理同时以减少通信费用与响应时间作为优化目标,这时在这两者之间要作出权衡
5、分布式查询的分类:局部查询、远程查询、全局查询
6、局部查询的一般策略:
(1)选择和投影运算应尽可能先做,这是因为选择和投影运算使中间结果数据大大减少
(2)在执行连接前对数据库数据进行适当的预处理
(3)同时执行一串投影和选择操作,尽可能把它们与其前后的二元操作结合起来,以避免重复扫描关系和减少中间数据
7、全局查询
(1)具体化。对查询进行分解,确定查询使用的物理副本,落实查询对象。冗余具体化的目标是:通过冗余数据提高处理的并行性和减少通信费用
(2)确定操作执行的次序。主要是确定二元操作连接和并操作的次序,其他操作的次序是不难确定的。
(3)确定操作执行的方法。这包括把若干个操作连接起来在一次数据库访问中执行,确定可用的访问路径,以及确定某种计算方法。
(4)确定执行站点。全局查询执行的站点不一定就是发出查询的站点,全局查询原则上可以在网络上的任意站点上执行,然后将结果传送到发出查询的站点。
8、分布式查询处理的层次结构
(1)查询分解。是将查询问题转换成一个定义在全局关系上的关系代数表达式
(2)数据本地化。是把一个在全局关系上的查询,进行具体化落实到适合的片段上的查询
(3)全局优化。即是找出分片查询的最佳操作次序,包括使得代价函数最小。
(4)局部优化。由拥有与查询有关的片段的各个站点执行。在每一个站点上执行的子查询被称为局部查询。
9、基于关系代数等价变换优化算法的基本原理是:把查询问题转变为关系代数表达式,分析得到查询树,进行从全局到片段的变换得到基于片段上的查询树,然后利用关系代数等价变换规则的优化算法,尽可能先执行选择和投影操作。这样,一方面可以减少其后操作的操作量,另一方面可以减少操作次数。对查询树进行优化,从而达到查询优化的目的。
10、究竟用直接连接(全连接)方案还是用半连接方案,取决于对数据传输和局部处理的相对费用。
11、站点依赖算法的数据传送量最小,连接数据量最小且能利用索引,因而能获得最佳性能。其次是Hash划分算法,最后是片段和复制算法。
第四章
1、(名词解释)所谓最小是指这个操作序列的全部操作都成功完成,才能使数据库从一种一致状态转换到另一种一致状态。在分布式数据库系统中,任何一个应用的请求最终都将转化成对分布在网络中相应站点上的数据库数据存取操作的序列,因此分布式数据库系统中的事务是一个分布式操作的序列,被操作的数据分布在不同的站点上,所以成为分布式事务。
2、一般地,主事务负责事务的开始、提交和异常终止;各个子事务完成对相应站点上数据库的访问操作。所谓“全局事务”是指一个要求访问或更新多个站点上数据的事务,所谓“局部事务”是指一个仅仅访问或更新一个站点上数据的事务。
3、分布式事务的特点:(ACID)
1)原子性,引起数据库改变的操作全部都成功执行,要么都不执行。
2)一致性,分布式事务的一致性简单地说是指事物的正确性,或者说一个分布式事务是一个使分布式数据库从一个一致转台转变为另一个一致状态的正确性程序。
3)隔离性,分布式事务的隔离性是指一个正在执行的事务在其提交之前,决不允许把它们对共享数据所作改变的结果提供给其他事务使用。
4)持久性,分布式事务的持久性也称为永久性,是指一旦某个事务被提交了,则无论系统发生任何故障,都不会丢失该事务的执行结果。
4、由于分布式数据库的分布特性,使得分布式事务还具有自己独有的特性:在分布式事务中,除需要考虑访问数据库的存取操作序列外,还必须考虑大量的数据传送、通信原语和控制报文等,这些都是的分布式事务所特有的性质。
5、事务以begin transaction原语作为一个事务的开始,以commit原语作为一个事务成功完成的结束,而以rollback或abort原语作为事务失败的结束。
6、(名词解释)事务代理:在分布式数据库系统中,为了完成在不同站点上的相应功能,分布式应用必须在这些站点执行若干进程,这些进程就称为该应用在那个站点上的“事务代理”。
7、分布式事务管理的问题:(1)处理数据项的多个副本(2)单个站点的故障(3)通信网络的故障(4)分布式提交
8、事务管理的任务就是负责当若干个事务并发执行和事务执行发生错误时,使数据库仍保持一致状态。
9、事务管理所追求的理想目标是高执行、高并性和高可靠性,分布式事务管理也不例外,而且内容更加丰富。这三大理想目标往往不能兼得,因为它们之间密切相关,而又矛盾。可靠性措施会使效率下降,而事务运行效率不仅取决于所采用的策略,还与下列因素有关:(1)CPU和主存利用率(2)控制报文(不含任何应用数据仅含控制性息的报文)(3)响应时间(4)可以性
10、分布式事务管理的目标是:1)维护分布式事务的原子性、一致性(可串行性)、耐久性和隔离性。2)获得最小的主存和CPU开销,降低控制报文的传输个数和加快分布式事务的影响速度。3)获得最大限度的系统可靠性和可用性。
11、(填空)在分布式数据库系统中,事务管理功能分成两个层次,集中式数据库系统中的局部事务管理(LTM)进行局部事务的管理,分布式事务管理器(DTM)共同协作,实现对分布式事务的协调和管理。
12、(简答题)LTM的结果和功能包括:
1)保证本地事务的ACID特性。
2)维护一个用于恢复的日志,代替DTM把用于分布式事务执行和恢复的信息记入日志。
3)参与适当的并发控制模式,以协调在该站点上执行的事务的并发执行。接受并听从本站点上DTM代理发来的LOG原语,记入日志并执行之。
13、分布式事务管理DTM的功能主要包括:
1)保证分布式事务ACID特性,尤其是执行分布式事务的原子性,使每一站点的子事务都成功执行,或都不执行。这是通过向各站点发begin transaction,commit,abort,create原语来实现的。
2)负责协调由该站点发出的所有分布式事务的执行。包括:启动分布式事务的执行;将分布式事务分解为一些子事务,并将这些子事务分派到恰当的站点上去执行;决定分布式事务的终止,即决定在该分布式事务中所包含的所有站点上的子事务都撤销或都提交。
3)支持分布式事务的执行位置透明性,它实现了对网络上个站点的个子事务的监督与管理,完成对整个分布式事务执行过程的调度和管理,从而保证分布式数据库系统的高效率。
14、控制分布式事务执行的控制模型有:主从模型、三角模型和层次模型。
15、P105 主从控制模型、三角控制模型(是什么样子的)、层次控制模型
16、在集中式数据库系统中,故障分为事务故障(计算溢出、完整性被破坏、操作员干预、输入或输出错等)、系统故障(CPU出错、死循环、缓冲区满、系统崩溃等)和介质故障(DB因介质损坏无法访问等)。
17、通信故障可分为报文故障和网络分割(网络断连)故障。而报文故障又可分为报文错、报文失序、报文丢失和长时间的延迟。对报文错和报文失序现今网络都可检测和处理,所以通信故障主要是报文丢失、报文延迟和网络分割。
18、恢复的基本原理是数据冗余。
19、(名词解释)事务恢复:当发生事务故障时,保证事务原子性的措施称为事务故障恢复,简称事务恢复。事务恢复主要是依靠日志来实现的。
20、P109 事务状态转移图
21、当事务T所有的站点数据库存取操作都已成功执行,并且所有操作对数据库的影响都已记录在日志中时,该事务T就达到提交点(committed point)。
22、需要注意的是,必须将日志文件保存在磁盘上。
23、在事务达到提交点以前,还未写到磁盘的日志的任何部分不,必须被写入磁盘,这称为事务提交前强制写日志。
24、日志会被定期备份到归档存储设备(例如磁盘)中,以预防磁盘盒灾难性故障。
25、为了防止因介质故障而破坏数据库,要定期将整个数据库的全部内容转储到档案库中。
26、为了便于恢复,在日志中设定一种周期性(时间/容量)操作点,称为检查点,以标识检查点前已执行完的事务是正确的。
27、因此在写检查点时间是要讲缓冲区中的所有内容写入到永久存储设备中,而且采取“先写日志”的原则。
28、事务恢复主要是依靠日志来实现。恢复的原则是:(1)孤立和逐步退出事务的原则。(2)成功结束事务原则。(3)夭折事务的原则。
29、P112 本地事务的恢复
30、两阶段提交协议
把分布式事务的某一个代理指定为协调者,所有其他代理称为参与者。只有协调者才
有掌握提交或撤销事务的决定权,而其他参与者各自负责在其本地数据库中执行写操作,并向协调者提出撤销或提交子事务的意向。
2PC保证分布式事务提交的原子性,这是通过坚持在分布式事务的结果生效以前所有参与执行分布式事务的站点都同意提交而做到这一点的。如果某个事务正在读一项由另一个还未提交的事务更新的数据项的值时,相应的调度程序就不会同意马上提交该事务;另一种参与者不同意提交的可能的原因是发生了死锁,这要求某一个参与者撤销事务。
31、第一阶段是表决阶段,目的是形成一个共同的决定。
第二阶段是执行阶段,目的是实行这个决定。
32、两阶段提交协议的通信结构
·因为通信只发生在协调者和参与者之间,参与者之间不交换消息。(集中式2PC通信结构)
·在协调者和参与者之间的通信不用直接广播的方法进行,而是使报文在树中上下传播。(分层式2PC通信结构)
·实现两阶段提交协议时,在第一阶段使用了向前通信方式,从协调者1到N;第二阶段使用了向后通信方式,即从N到协调者。(线性2PC的通信结构)
·允许所有的参与者在第一阶段相互通信,以便它们能作出关于特定事务的终止决定。它不需要第二阶段(分布式2PC的通信结构)
33、多站点的数据更新的原则和方法
在分布式数据库中引入多站点的数据(冗余数据)的目的是为了获得高查询速度。即以增加数据复制的代价来减少数据通信的代价,并增强系统的高可靠性和高可用性。由于数据复制在多个站点上,一旦要对其中某个副本进行更新时,就必须对这个数据库的所以复制副本同时做同样的更新。这即是多站点数据更新的原则,也是保证分布式数据库一致性的要求。
34、主文本更新法
(1)基本思想:对每一个有多副本的数据,指定其中一个副本为主文本,其他为辅文本。一般,不同的数据其主文本在不同的站点上,对一个数据的更新,只要对它的主文本进行更新,就认为完成了对该数据的更新。然后由拥有主文本的站点负责把对主文本所做的更新,及时发送给各个辅文本站点进行更新。各个辅文本的更新可并行进行。如有与主文本站点尚未连通的辅文本站点,在连通后按记录的更新顺序逐一进行更新。
(2) 改进方法:采用“移动主文本法”。若初次更新在某个辅文本站点上进行,然后再把更新引向该数据的站点。如果主站点此时尚未连通,则另选一个辅站点中的辅文本为该数据进行更新,待原文本站点连通后,系统将自动把它改为辅文本,并按记录要求执行更新。若初次更新就在主文本上进行,而主文本站点现在与网络未连通,即做本地更新,则这次更新操作失败,事务被撤销。
35、一致性约束可分为两大类:一类是客观世界本身存在的一定规则,即业务规则的一致性约束;另一类是分布式数据库管理的需要。如为了提高系统效率和可靠性采用冗余数据,即冗余数据的一致性约束。
36、业务规则分为有效性约束和数据依赖约束。有效性约束的业务规则主要是域约束;数据依赖约束的业务规则则是指实体完整性约束和引用完整性约束
37、在分布式数据库中,冗余数据必须保持一致性。在分布式数据库设计时,数据库管理员把关系的片段分配到多个成员站点是出于以下两个主要原因:
(1)提高系统的可靠性和可用性。如果用户由于某种原因不能访问某个成员数据库,那么他们可以访问另一个成员数据库上的相同片段。
(2)提高“读”事务的本地性,以降低通信成本,特别是对读出比写入频率高的多的那些应用;但是如果事务包含对片段的更新,则其所有副本也必须做同样的更新,这时反而增加而不是降低通信成本。
38、异步复制器
最近数据库厂家推出了几种新的产品,这些产品称为数据复制器。采用一种级联策略对复制片段或复制表中的数据值进行同步更新。复制器强制更新用户更新数据的主副本,然后把更新迁移到其余的副本上。
第五章
1、分布式并发控制主要解决多个分布式事务对数据并发执行的正确性。
2、集中式数据库系统中,事务的并发操作提高了系统的运行效率,但也带来了一些问题:
丢失更新问题、不一致分析问题、依赖于未提交更新的问题
3、对一组并发的分布式事务可能存在多种正确调度,分布式DBMS事务管理器的并发控制机制应该采用那种代价最小的正确调度。与集中式数据库系统一样,可串行化调度也是分布式事务能否正确执行的基本方法。
4、事务的可串行性是指若干个事务并发执行的结果与按希望的顺序执行的结果相同时,称诸事务是可串行的。
5、优先图中存在环路,那么调度S就是不可串行化的,否则S就是可串行化的。
6、大多数并发控制机制并不是真正通过测试来确定调度是否为可串行化的,而是使用协议或规则来保证一个调度是可串行化的。
7、我们将讨论多种保证可串行化的并发控制协议。其中最常用的是两阶段封锁协议,它基于的是对数据项进行封锁,以阻止并发事务收到其他事务的干扰,并且执行一个附加的确保可串行化的条件。
8、把并发控制机制划分为两种类型,悲观并发控制法和乐观并发控制法。
9、封锁的方法:集中式封锁方法、主副本封锁法、分布式封锁法
10、锁的类型:共享锁(S锁或读锁)和排他锁(X锁或写锁)
第八章
1、服务器可分为文件服务器、数据库服务器、事务服务器、文档服务器、其他服务器
2、数据库应用程序可分解为四个组成成分
(1)界面表示逻辑。最流行的界面表示逻辑设施是各种图形用户界面(GUI)
(2)业务处理逻辑。这是使用数据库来完成业务处理和规则的应用代码
(3)数据处理逻辑。这是应用程序中负责数据逻辑。
(4)数据库管理。这是应用程序中由DBMS来完成实际数据存取处理的程序。
3、服务器要有数据管理、处理能力,能提供网络传输优化能力。
4、C/S即一个提出请求的应用程序,另一个是服务程序
5、分布式数据库的访问主要有:远程请求、远程事务、分布式事务、分布式请求
