数据库原理与应用基础第17章分布式数据库与MySQL的复制、集群技术第17章分布式数据库与MySQL的复制、集群技术分布式数据库系统分布式数据存储MySQL复制技术MySQL集群技术知识点小结第17章分布式数据库与MySQL的复制、集群技术分布式数据库系统(DistributedDataBaseSystem,DDBS)是地理上分散而逻辑上集中的数据库系统,即通过计算机网络将地理上分散的各局域节点连接起来共同组成一个逻辑上统一的数据库系统。是数据库技术与网络技术相结合的产物。分布式数据库系统有两种:一种是物理上分布的,但逻辑上却是集中的。另一种分布式数据库系统在物理上和逻辑上都是分布的,也就是所谓联邦式分布数据库系统。第17章分布式数据库与MySQL的复制、集群技术分布式数据库系统分布式数据存储MySQL复制技术MySQL集群技术知识点小结分布式数据库系统集中式与分布式传统数据库系统作为一种主机/终端式系统,表现出明显的集中式数据库体系结构。集中式数据库基本特征是“单点”数据存取与“单点”数据处理。数据库管理系统、所有用户数据以及所有应用程序都安装和存储在同一个“中心”计算机系统当中。这个中心计算机通常是大型机,也称为主机。用户通过终端发出存取数据请求,由通信线路传输到主机。主机予以响应并加以相应处理,然后再通过通信线路将处理结果返回到用户终端。分布式数据库系统集中式数据库结构:存在问题:1.通信开销巨大。2.故障影响系统。3.灵活扩展不足。分布式数据库系统集中式与分布式分布计算先后经历了“处理分布”、“功能分布”和“数据分布”的演变过程。其中功能分布产生客户机/服务器结构应当遵循的基本的原则,而数据分布就导入了分布式数据库概念。分布计算的三层含义:1.处理分布:数据集中,处理分布2.功能分布3.数据分布:数据物理分布在不同节点上,但在逻辑上构成一个整体,是一个逻辑数据库。分布式数据库系统DDB基本概念分布式数据库(DistributedDatabase,DDB)作为数据库技术与计算机网络技术相结合的产物。在本质上是一种虚拟的数据库,整个系统由一些松散耦合的站点构成,系统中的数据都物理地存储在不同地理站点的不同数据库(站点)中,而系统中每个站点上运行的数据库系统之间实现着真正意义下的相互对立性。分布式数据库系统DDBS基本概念分布式数据库系统(DistributedDatabaseSystems,DDBS)是由一组地理上分布在网络不同节点而在逻辑上属于同一系统的数据库子系统组成,这些数据库子系统分散在计算机网络不同计算实体之中,网络中每个节点都具有独立处理数据的能力,即是站点自治的。既可以执行局部应用,同时也可以通过网络通信系统执行全局应用。分布式数据库系统分布式数据库的基本特征:1.物理分布性2.逻辑整体性3.站点自治性4.站点协作三个站点分布式数据库系统示意图分布式数据库系统DDB模式结构1.六层模式结构1)全局外模式结构2)基于分布的模式结构3)局部数据库模式结构2.五级映射与分布透明分布式数据库系统分布式数据库的分层模式结构分布式数据库系统六层模式结构1)全局外模式结构全局外部级(全局外模式)是全局应用的用户视图,可以看作是全局模式的—个子集。一个分布式数据库可以有多个全局外模式。2)基于分布的模式结构该层是基于分布式数据库基本要求而构建的,其中包括三个结构层面。分布式数据库系统(1)全局概念级(全局模式)类似于集中式数据库的模式,它定义分布式数据库中全体数据的逻辑结构,是整个分布式数据库所有全局关系的描述。全局模式提供了分布式系统中数据的物理独立性,而全局外模式提供了数据的逻辑独立性。(2)分片级(分片模式)(FragmentationSchema)描述了数据在逻辑上是怎样进行划分的。每一个全局关系可以划分为若干互不相交的片(Fragment),片是全局关系的逻辑划分,在物理上位于网络的若干节点上。全局关系和片之间的映射在分片模式中定义,这种映射通常是一对多的。一个全局关系可以对应多个片,而一个片只能来自于一个全局关系。(3)分布级(分布模式)(AllocationSchema)定义了片的存储节点,即定义了一个片位于哪一个节点或哪些节点。分布式数据库系统3)局部数据库模式结构(1)局部概念级(局部模式)全局关系被逻辑划分成为一个或多个逻辑分片,每个逻辑分片被放置在一个或多个站点,称为逻辑分片在某站点的物理映像或分片。分配在同一站点的同一全局模式的若干片段(物理片段)构成该全局模式在该站点的一个物理映像。一个站点局部模式是该站点所有全局模式在该处物理映像的集合。全局模式与站点独立,局部模式与站点相关。(2)局部内部级(局部内模式)是DDB中关于物理数据库的描述,与集中式数据库内模式相似,但描述内容不仅包含局部本站点数据存储,也包含全局数据在本站点存储描述。分布式数据库系统五级映射与分布透明在DDB体系结构中,六层模式之间存在着五级映射,它们分别为:映射1:全局外模式层到全局模式层之间的映射。映射2:局部模式层到分片层之间的映射。映射3:分片层到分配层之间的映射。映射4:分配层到局部模式层之间的映射。映射5:局部概念层到局部内模式层之间的映射。分布式数据库系统这里映射l和映射5类似于集中式数据库中体现逻辑独立性与物理独立性的相应“两级映射”。而映射2、映射3和映射4是DDB中所特有的。在DDB中,人们为了突出其基本特点,通常数据独立性主要是指数据的“分布透明性”。映射2、映射3和映射4体现的相应独立性分别称为数据的“分片透明性”、“位置透明性”和“模型透明性”,三者就组成了数据的“分布透明性”。分布透明性实际上属于物理独立性范畴。分布式数据库系统DDB中映射和相应数据独立性分布式数据库系统1)分片透明性分片透明性(FragmentationTransparency)是最高层面的分布透明性,由位于全局概念层和分片层之间的映射2实现。当DDB具有分片透明性时,应用程序只需要对全局关系操作,不必考虑数据分片及其存储站点。当分片模式改变时,只需改变映射2即可,不会影响全局模式和应用程序,从而完成分片透明性。分布式数据库系统2)位置透明性位置透明性(LocationTransparency)由位于分片层和分配层的映射3实现。当DDB不具有分片透明性但具有位置透明性时,编写程序需要指明数据片段名称,但不必指明片段存储站点。当存储站点发生改变时,只需改变分片模式到分配模式之间映射3,而不会影响分片模式、全局模式和应用程序。分布式数据库系统3)局部数据模型透明性局部数据模型透明性(LocalDataTransparency)也称为局部映像透明性或模型透明性,由位于分配模式和局部模式之间的映射4实现。当DDB不具有分片透明性和位置透明性,但具有模型透明性时,用户编写的程序需要指明数据片段名称和片段存储站点,但不必指明站点使用的是何种数据模型,而模型转换和查询语言转换都由映射4完成。分布式数据库系统DDB的分层、映射模式结构为DDB提供了一种通用的概念结构,这种框架具有较好的数据管理优势,其主要表现在下述几个方面:(1)数据分片与数据分配分离,形成了“数据分布独立性”的状态。(2)数据冗余的显式控制,数据在不同站点分配情况在分配模式中易于理解和把握,便于系统管理。(3)局部DBMS独立性,也就是通常所说“局部映射透明性”,这就允许人们在不考虑局部DBMS专用数据模型情况下,研究DDB管理相关问题。分布式数据库管理系统分布式数据库管理系统(DistributedDatabaseManagementSystem,DDBMS)是一组负责管理分布式环境下逻辑集成数据存取、一致性和完备性的软件系统。由于数据上的分布DDBMS在管理机制上还必须具有计算机网络通信协议的分布管理特性。分布式数据库管理系统1.DDBMS基本功能(1)接受用户请求,并判定将其发送到何处,或必须访问哪些计算实体才能满足要求。(2)访问网络数据字典,了解如何请求和使用其中的信息。(3)如果目标数据存储与系统的多台计算机上,对其进行必需的分布式处理。(4)在用户、局部DBMS和其他计算实体的DBMS之间进行协调,发挥接口功能。(5)在异构分布式处理器环境中提供数据和进行移植的支持,其中异构是指各个站点的软件、硬件之间存在着差别。分布式数据库管理系统2.DDBMS组成模块DDBMS由本地DBMS模块、数据连接模块、全局系统目录模块和分布式DBMS模块四个基本模块组成。1)本地DBMS模块本地DBMS模块(L-DBMS),是一个标准的DBMS,负责管理本站点数据库中数据,具有自身的系统目录表,其中存储的是本站点上数据的总体信息。在同构系统中,每个站点的L-DBMS实现相同,而在异构系统中则不相同。分布式数据库管理系统2)数据连接模块数据连接模块(DataCommunication,DC)作为一种可以让所有站点与其他站点相互连接的软件,包含了站点及其连接方面的信息。3)全局系统目录模块全局系统目录模块(GlobalSystemCatalog,GSC)除了具有集中式数据库的数数据目录(数据字典)内容之外,还包含数据分布信息,例如,分片、复制和分配模式,其本身可以像关系一样被分片和复制分配到各个站点。一个全复制的GSC允许站点自治(SiteAutonomy),但如果某个站点的GSC改动,其他站点的GSC也需要相应变动。分布式数据库管理系统4)分布式DBMS模块分布式DBMS模块(D-DBMS)是整个系统的控制中心,主要负责执行全局事务,协调各个局部DBMS以完成全局应用,保证数据库的全局一致性。分布式数据库管理系统同构系统与异构系统分布式数据库可以根据各个站点的数据库管理系统是否相同划分为同构(Homogeneous)系统和异构(Heterogeneous)系统。1)同构系统同构系统中所有站点都使用相同的数据库管理系统,相互之间彼此熟悉,合作处理客户需求。在同构系统中,各个站点都无法独自更改模式或数据库管理系统。为了,保证涉及多个站点的事务顺利执行,数据库管理系统还需要和其他站点合作以交换事务信息。同构系统又可以分为两种类型:分布式数据库管理系统(1)同构异质系统各站点采用同一数据模型和同一型号DBMS。(2)同构异质系统各站点采用同一数据模型,但采用不同型号DBMS。2)异构系统异构系统中不同站点有不同模式和数据库管理系统,各个站点之间可能彼此并不熟悉,在事务处理过程中,它们仅仅提供有限功能。模式差别是查询处理中难以解决的问题,而软件的差别则成为全局应用的主要障碍。分布式数据库系统DDBS基本概念分布式数据系统(DistributedDatabaseSystem,DDBS)由DDB和DDBMS组成,其要点是系统中的数据物理上分布存放在通过计算机网络连接的不同站点计算机中,这些数据在逻辑上是一个整体,由系统统一管理并被全体用户共享,每一个站点都有自治即独立处理能力以完成局部应用,而每一站点也参与至少一种全局应用,并且通过网络通信子系统执行全局应用。集中式数据库系统由计算机系统(硬件和操作系统及应用软件系统)、数据库、数据库管理系统和用户(一般用户与数据库管理人员)组成。分布式数据库系统分布式数据库系统在此基础上结合自身特点进行了扩充。1)数据库分为局部数据库(LDB)和全局数据库(GDB)。2)数据库管理系统分为局部数据库管理系统(LDBMS)和全局数据库管理系统(GDBMS)。3)用户分为局部用户和全局用户。4)数据库管理人员分为局部数据库管理人员(LDBA)和全局数据库管理人员(GDBA)。分布式数据库系统2.DDBS基本性质1)数据分布透明性质2)集中与自治相结合控制机制3)适度数据冗余性质4)事务管理分布性质分布式数据库系统2.DDBS基本性质1)数据分布透明性质在DDBS中,数据独立性包括数据的逻辑独立性、数据的物理独立性和数据的分布透明性,因而具有更广泛含义。数据分布透明性要