分布式数据库第一节基本概念一,集中式数据库系统和分布式数据库系统1.集中式数据库系统,是指数据库中的数据集中存储在一台计算机上,数据的处理也集中在一台计算机上完成。
2. 分散式数据库系统,采用了数据分散存储的办法,将数据库分成多个建立在多台计算机上,此时各个数据库的管理和应用程序是分开的并独立的,这种系统称为分散式系统。
3.分布式数据库系统,是指数据库数据存放在计算机网络上的不同场地的计算机中,每一个计算机都有自治处理能力,并完成局部应用;而每一场地也参与(至少一种)全局应用程序的执行,全局应用程序可以通过网络通信访问系统中的多个场地的数据,这样的系统,称为分布式数据库系统。
4. 分布式数据库管理系统DDBMS,是分布式数据库系统的核心,它是分布式数据库系统中的一组软件,负责分布式数据库的建立、查询、更新、复制、管理的软件。
5. 局部自治性,是指有独立处理能力并能完成局部应用。
区分一个系统是分散式还是分布式系统,就是判断系统是否支持全局。
二,分布式数据库体统的透明性分布式数据库系统具有位置透明性和复制透明性,使用户看到的系统如同一个集中式数据库系统。
(1)位置透明性:是指用户或应用程序员应当了解分片情况,但不必了解片段的存储场地。
位置透明性位于分片视图与分配视图之间。
(2)数据复制:是指数据在每个场地的重复存储。
(3)复制透明性:即用户或程序员不必关心数据库在网络中各个节点的数据复制情况,更新操作引起的波动由系统来处理。
三,分布式数据库的特点(1)数据的分布性。
分布式数据库中的数据分布在网络中的各个节点。
(2)统一性。
包括数据在逻辑上的统一性和数据在管理上的统一性。
△逻辑上的统一性指的是分散在计算机网络各个节点上的数据库构成一个在逻辑上单一的数据库,呈现给用户的如同一个统一的集中式数据库。
△管理上的统一性指的是分布式数据库是由分布式数据管理系统统一管理和维护。
(3)透明性。
用户在使用数据库时,与使用集中式数据库一样,无需知道其所关心的数据存放的位置,存储了几次。
用户需要关心的仅仅是整个数据库的逻辑结构理想的分布式数据库所具有的规则和目标(1)局部节点自治性。
(3)能继续操作。
(4)具有位置独立性(位置透明性)。
(5)分片独立性(分片透明性)。
(6)数据复制独立性(复制透明性)(7)支持分布查询处理。
(8)支持分布事务管理。
(9)具有硬件独立性。
(10)具有操作系统独立性。
(11)具有网络独立性(12)具有DBMS独立性。
三,分布式数据库系统的分类1. 按照DDBMS软件的同构度来分,分为同构和异构分布式数据库。
(1)同构分布式数据库(homogeneous distributed database)中,所有的站点都使用同样的数据库管理系统软件,彼此了解,合作处理用户需求。
(2)异构分布式数据库(heterogeneous distributed database)中,不同的站点有不同的模式和不同的数据库管理系统软件。
如果细分可以分三类:(1)同构同质型DDBS:不同的站点采用同一类型的数据模型,相同的DBMS.(2)同构异质型DDBS:不同的站点采用同一类型的数据模型,不同的DBMS.(3)异构性DDBS:不同的站点的数据库模型是不同的,DBMS也不同。
2. 按照局部自治度来分,分为:无局部自治和局部自治(1)局部自治分布式数据库:当局部事务允许对服务器软件进行直接存取,则系统称为有一定的局部自治。
(2)无局部自治分布式数据库:当对DDBMS的存取必须通过客户软件,则系统称为无局部自治;四,分布式数据库系统的模式结构(1)全局外模式:它们是全局应用的用户视图,是全局概念模式的子集。
(2)全局概念模式:定义分布式数据库中数据的整体逻辑结构。
(3)分片模式:每一个全局关系可以划分为若干个不相交的部分,每一个部分称为一个片断。
分片模式就是定义片段及全局关系到片断的映像。
(1:M)(4)分布模式:每一个片断物理上可以分配到网络不同的节点上,分布模式定义片断的存放节点。
(5)局部概念模式:被分配到某个场地上的逻辑片断的集合。
(6)局部内模式:局部内模式是DDB中关于物理数据库的描述。
这种6层模式结构具有显著的特征:(1)数据分片和数据分布概念的分离,形成了“数据分布独立性”概念。
(2)数据冗余的显式控制。
数据在各个场地的分配情况在分配模式中一目了然,便于系统管理。
(3)局部DBMS的独立性。
这个特征也称为:“局部映射透明性”。
分布式数据库的优点:(1)具有灵活的体系结构。
(2)适应分布式管理和控制机构。
(3)经济性能优越。
(4)系统可靠性高。
(5)局部应用的响应速度快。
(6)可扩展性好,易于集成现有系统。
分布式数据库的缺点(1)系统开销大,主要在通信部分。
(2)复杂的存取结构,集中式系统的存取数据技术,在分布式不再适用。
(3)数据的安全性和保密性较难处理。
第二节分布式数据库系统的体系结构分布式数据库数据存储可以从两个角度考察:分片和分配。
一,分布式数据库数据分配:数据分配就是数据在计算机网络各个场地上的分配策略,也称为数据分布。
1. 数据分配的策略(1)集中式:所有数据均安排在同一场地。
(2)分割式:数据在每个场地重复存储。
(3)全复制:数据在每个场地重复存储。
(4)混合型:数据库分成若干个可相交的子集,每一个子集安置在一个或多个场地上,但每一个场地未必保存全部数据。
四个评估因素:存储代价、可靠性、检索代价、更新代价。
存储代价和可靠性是一对矛盾的因素。
检索代价和更新代价,是一对矛盾的因素。
二,数据分片数据分片是指数据存放单位不是全部关系,而是关系的一个片断,也就是关系的一部分。
分布式数据库中的数据可以被复制在网络场地的各个物理数据库中,数据分片是通过关系代数的基本运算实现的。
1. 数据分片包括三种:(1)水平分片:按一定的条件把全局关系的所有元组划分为若干个不相交的子集,每个子集为关系的一个片断。
(2)垂直分片:把一个全局关系的属性集分成若干个子集,并在这个子集上作投影运算,每个投影为一个垂直分片。
(3)混合分片:将水平分片和垂直分片方式综合起来使用,则为混合分片。
2. 数据分片应遵循的原则(1)完备性条件:必须把全局关系的所有数据映射到各个片断中,决不允许发生属于全局关系的某一个数据不属于任何一个片断。
(2)重构条件:划分所采用的方法必须确保能够由各个片断重建全局关系。
(指垂直分割)(3)不相交条件:要求一个全局关系被划分后,得到的各个数据片断互不重叠。
(指水平划分)。
三,分布式数据库系统的体系结构1.全局外模式:它们是全局应用的用户视图,是全局概念模式的子集。
2.全局概念模式:它们定义了分布式数据库中所有数据的逻辑结构。
3.分片模式:定义了片断以及全局关系与片断之间的映像。
这种映像是一对多的,即每个片断来自一个全局关系,而一个全局关系可分为多个片断。
4.分配模式:片断是全局关系的逻辑部分,一个片断在物理上可以分配到网络上的不同场地上,分配模式根据分配策略的选择定义片断的存储场地。
四,分布的透明性分布透明性,也称为分布的独立性,是指用户不必关心数据的逻辑分片,不必关心数据存放的物理位置等细节,也不必关心各个场地上数据库的数据模型。
(1)分片的透明性:用户无需知道关系是如何分片的。
(2)位置的透明性:用户不必知道数据存放的物理位置。
(3)局部数据库模型的透明性:这个透明性位于分配视图与局部概念视图之间,指用户或应用程序要了解分片及各个片断存储的场地,但不必了解局部场地使用了何种数据模型。
(4)(复制透明性:用户不必关系复制了什么数据对象,也不必关系副本的存放位置)分布式数据存储(复制和分片)对于一个要存储到数据库中的关系R,在分布式DBS中有两种方法:(1)复制:系统维护这个关系的几个副本,各个副本存储在不同的场地。
(2)分片:把关系划分为几个片断,每个片断存储在不同的站点上。
分片和复制可以组合,一个关系可以分成几个片,每个片有几个副本。
数据复制如果关系r被复制,则在两个以上关系中存在副本,极端情况下是每个场地都有一个副本,称为全复制(full replication)数据复制的优点(1)可用性。
当包含关系r的站点之一发生故障,系统仍可以运行。
(2)增加的并行性。
由于有多个副本,增加了查询操作的并行性。
(3)增加了更新的开销。
复制的缺点复制可以提高read操作的性能,但对数据更新的开销增大,一致性维护复杂。
如何保证两个站点没有对不同的数据项实用相同的名字?(1)使用中央名字服务器(name server)注册,确保名字不重复(2)使用在名字的前面加上站点的标识符以示却别。
但破坏了位置的透明性。
五,分布式数据库管理系统distributed database management system 分布式数据库管理系统的结构:(1)LDBMS。
局部场地上的数据库管理系统,其功能是建立和管理局部数据库,提供场地自治、执行局部应用及全局查询的子查询。
(2)GDBMS。
全局数据库管理系统,其功能是提供分布透明性,协调全局事务的执行,协调各局部DBMS以完成全局应用,保证数据库的全局一致性,执行并发控制,实现更新同步,提供全局恢复功能。
(3)全局数据字典。
存放全局概念模式、分片模式、分布模式的定义及各模式之间的映像的定义。
存放用户存取权限、数据库安全性,完整性约束条件。
(4)通信管理(CM)。
在分布数据库各场地之间传送消息和数据,完成通信功能。
对全局控制有几种方式:(1)全局控制集中的DBMS:全局控制成分GDBMS集中在一个场地上。
(2)全局控制分散的DBMS:全局控制成分GDBMS分散在各个场地上。
(3)全局控制部分分散的DBMS:控制成分GDBMS分散在某些场地上。
第三节分布式事务处理复习:事务的ACID特性(1)原子性atomicity:事务是数据库的逻辑工作单位,事物的操作要么都做,要么都不做。
(2)一致性consistency:事务执行的结果必须是使数据库从一个一致性状态转换为另一个一致性状态。
(3)隔离性isolation:数据库中一个事务的执行同其他事务的执行是隔离的,互不干扰。
(4)持续性durability:事务一旦提交,则对数据库中数据的改变就是永久的,以后的操作或故障不会对事务的操作产生影响。
局部事务local transaction:仅访问和更新一个局部数据库的事务。
全局事务global transaction:访问和更新多个局部数据库中数据的事务。
一,分布式事务的系统结构组成:事务管理器和事务协调器(1)事务管理器,transaction manager ,管理那些访问存储在一个局部站点中数据的事务的执行(即可以是局部事务,也可以是全局事务)。