




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分布式数据库系统(全文)胡经国本文作者的话本文是根据有关文献和资料编写的《漫话云计算》系列文稿之一。以此作为云计算学习笔录,供云计算业外读者进一步学习和研究参考。希望能够得到大家的指教和喜欢!下面是正文分布式数据库系统概述分布式数据库系统概述1、概述一分布式数据库(DistributedDatabase,DDB)是指数据分散存储在计算机网络中的各台计算机上的数据库。分布式数据库系统(DistributedDatabaseSystem,DDBS)通常使用较小的计算机系统,每台计算机可单独放在一个地方;每台计算机中都可能有DBMS(数据库管理系统)的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库;位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的、逻辑上集中、物理上分布的大型数据库系统。2、概述二分布式数据库,是指利用高速计算机网络,将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想,是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量。近年来,随着数据量的高速增长,分布式数据库技术也得到了快速的发展。传统的关系型数据库开始从集中式模型向分布式架构发展。基于关系型的分布式数据库,在保留传统数据库的数据模型和基本特征前提下,从集中式存储走向分布式存储,从集中式计算走向分布式计算。另一方面,随着数据量越来越大,关系型数据库开始暴露出一些难以克服的缺点。以NoSQL为代表的、具有高可扩展性、高并发性等优势的非关系型数据库快速发展;一时间市场上出现了大量的key-value(键一值)存储系统、文档型数据库等NoSQL数据库产品。NoSQL类型数据库正日渐成为大数据时代下分布式数据库领域的主力。这种按分布式组织数据库的方法克服了物理中心数据库组织的弱点。首先,降低了数据传送代价。因为,大多数对数据库的访问操作都是针对局部数据库的,而不是针对其他位置的数据库访问。其次,系统的可靠性提高了很多。因为,当网络出现故障时,仍然允许对局部数据库的操作,而且一个位置的故障不影响其他位置的处理工作。只有当访问出现故障位置的数据时,在某种程度上才受影响。第三,便于系统的扩充。增加一个新的局部数据库,或在某个位置扩充一台适当的小型计算机,都很容易实现。然而,有些功能要付出更高的代价。例如,为了调配在几个位置上的活动,事务管理的性能比在中心数据库时花费更高,而且甚至抵消许多其他的优点。二、分布式软件系统分布式软件系统(DistributedSoftwareSystems,DSS),是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括:分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。⑴、分布式操作系统分布式操作系统(DistributedOperatingSystem,DOS),负责管理分布式处理系统资源和控制分布式程序运行。它和集中式操作系统的区别,在于资源管理、进程通信和系统结构等方面。⑵、分布式程序设计语言分布式程序设计语言(DistributedProgrammingLanguage,DPL),用于编写运行于分布式计算机系统上的分布式程序。一个分布式程序,由若干个可以独立执行的程序模块组成;它们分布于一个分布式处理系统的多台计算机上被同时执行。它与集中式的程序设计语言相比,有以下三个特点:分布性、通信性和稳健性。⑶、分布式文件系统分布式文件系统(DistributedFileSystem,DFS),具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。⑷、分布式数据库系统分布式数据库系统(DistributedDatabaseSystem,DDBS),由分布于多个计算机结点上的若干个数据库组成。它提供有效的存取手段来操纵这些结点上的子数据库。分布式数据库在使用上可视为一个完整的数据库,而实际上它是分布在地理上分散的各个结点上的。当然,分布在各个结点上的子数据库在逻辑上是相关的。Hadoop的分布式文件系统HDFS,作为开源的分布式平台,为目前流行的很多分布式数据库提供了支持,譬如HBase等。Yonghong的分布式文件系统ZFS,为分布式数据集市Z-DataMart提供了底层平台。链接:Hadoop与HDFS和MapReduceHadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解该分布式系统基础架构的底层细节的情况下,开发分布式程序;充分利用集群的威力,进行高速运算和存储。Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem,HDFS)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streamingaccess,流媒体访问)文件系统中的数据。Hadoop的架构最核心的设计就是:HDFS和MapReduce。HDFS为海量数据提供了存储,而MapReduce则为海量数据提供了计算。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(归约)”,和它们的主要思想,都是从函数式编程语言里借来的;还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。三、 分布式数据库系统主要特点在大数据时代,面对海量数据量的井喷式增长和不断增长的用户需求,分布式数据库系统必须具有如下特征,才能应对不断增长的海量数据。1、 高可扩展性分布式数据库系统必须具有高可扩展性,能够动态地增添存储节点以实现存储容量的线性扩展。2、 高并发性分布式数据库系统必须及时响应大规模用户的读/写请求,能对海量数据进行随机读/写。3、 高可用性分布式数据库系统必须提供容错机制,能够实现对数据的冗余备份,保证数据和服务的高度可靠性。四、 分布式数据库系统优点在大数据时代,面对日益增长的海量数据,传统的集中式数据库系统的弊端日益显现,分布式数据库系统相对传统的集中式数据库系统具有如下优点:1、更高的数据访问速度分布式数据库系统为了保证数据的高可靠性,往往采用备份的策略实现容错机制。所以,在读取数据的时候,客户端可以并发地从多个备份服务器同时读取,从而提高了数据访问速度。2、更强的可扩展性分布式数据库系统可以通过增添存储节点来实现存储容量的线性扩展,而集中式数据库系统的可扩展性十分有限。3、更高的并发访问量分布式数据库系统由于采用多台主机组成存储集群,所以相对集中式数据库系统,它可以提供更高的用户并发访问量。五、分布式数据库系统功能结构分布式数据库管理系统(DBMS)软件结构包括AP模块、CM模块和DP模块。以下对各模块功能进行简要描述:1、 AP模块功能包括用户接口、查询处理、全局事务管理及全局字典管理和全局恢复管理。⑴、用户接口检查用户身份,接受用户命令,如SQL命令。⑵、全局查询处理将用户命令翻译成数据库命令;生成全局查询的分布执行计划;收集局部执行结果并返回给用户。⑶、全局事务管理调度、协调和监视AP模块和DP模块之间的分布执行;保证复制数据的一致性;保证全局事务的原子性。2、 DP模块功能包括局部查询处理、局部事务管理及局部字典管理和局部恢复管理。⑴、局部查询处理实现全局命令到局部命令的转换。⑵、局部事务管理执行局部数据操作;返回局部执行结果;保证子事务执行的正确性。六、分布式数据库系统模式结构根据中国制定的《分布式数据库系统标准》,分布式数据库系统被抽象为四层的模式结构。这种模式结构得到了国内外同行的支持和认同。分布式数据库系统4层模式结构划分为:全局外层、全局概念层、局部概念层和局部内层;在各层间还有相应的层间映射,层与层(模式与模式)之间是映射关系。这种四层模式结构适用于同构型分布式数据库系统,也适用于异构型分布式数据库系统。1、 全局模式ES(全局外层)全局模式定义全局用户试图,是分布式数据库的全局用户对分布式数据库最高层抽象。全局用户使用视图时,不必关心数据的分片和具体的物理分配细节。2、 全局概念模式GCS(全局概念层)全局概念模式定义全局概念视图,是分布式数据库的整体抽象,包含了全局数据特性和逻辑结构。像集中式数据库中的概念模式一样,是对数据库全体的描述。全局概念模式再经过分片模式和分配模式,映射到局部模式。⑴、分片模式分片模式是描述全局数据的逻辑化分视图,即全局数据逻辑结构根据某种条件的划分,将全局数据逻辑结构划分为局部数据逻辑结构,每个逻辑划分为一个分片。在关系数据库中,一个关系的一个子关系称为该关系的一个分片。⑵、分配模式分配模式是描述局部数据逻辑的局部物理结构,即划分后的分片的物理分配试图。3、局部概念模式LCS(局部概念层)局部概念模式定义局部概念视图,是全局概念模式的子集。全局概念模式经逻辑划分后,被分配到各个局部场地上。局部概念模式用于描述局部场地上的局部数据逻辑结构。当全局数据模型与局部数据模型不同时,还涉及数据模型转换等内容。4、局部内模式LIS(局部内层)局部内模式定义局部物理视图,是对物理数据库的描述。它类似于集中数据库的内层。综上所述,分布式数据库的四层结构及模式,定义描述了分布式数据库是一组用网络连接的局部数据库的逻辑集合。它将数据库分为全局数据库和局部数据库。全局数据库到局部数据库,由映射(1:N)模式描述。全局数据库是虚拟的,由全局概念层描述。局部数据库是全局数据库的内层,由局部概念层和局部内层描述。全局用户只关心全局外层定义的数据库用户视图,其内部数据模型的转换、场地分配细节等由系统自动实现。分布式数据库划分为全局外层、全局概念层、局部概念层和局部内层。分布式数据库可以描述为虚拟的全局数据库和局部场地数据库的逻辑集合。全局数据库到局部数据库,由分片模式和分配模式映射描述。分布式数据库系统,借助通信网络完成地理上分布存储的数据的逻辑集中管理。该系统提供给用户的是全局外层视图,就好像集中式数据库一样。全局外层用户的应用请求,分布成局部请求及局部操作,从完成到结果提交及整个全局事务提交,由该系统自动完成。七、数据分片类型与分片条件1、分片类型⑴、水平分片按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。⑵、垂直分片把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。⑶、导出分片又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。⑷、混合分片以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但它们的结果是不相同的。2、分片条件⑴、完备性条件必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的某一个片段。⑵、可重构条件必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。⑶、不相交条件要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。八、数据分配方式1、集中式所有数据片段都安排在同一个场地上。2、分割式所有数据只有一份,它被分割成若干逻辑片段,每个逻辑片段被指派在一个特定的场地上。3、全复制式数据在每个场地重复存储。也就是每个场地上都有一个完整的数据副本。4、混合式这是一种介乎于分割式和全复制式之间的分配方式。目前,分布式数据库分配的设计,越来越多地采用寻找最优解的算法,比如遗传算法、退火机制等。九、分布式数据库系统分类分布式数据库系统的分类很多。为了全面系统地对分布式数据库系统进行分类,采用分布式数据库的三种特性(分布性、异构性、自治性)组成三维空间图来描述分布式数据库的类型。1、分布性分布性是指系统的各组成单元是否位于同一场地上。分布式数据库系统是物理上分散、逻辑上统一的系统,即具有分布性。而集中式数据库系统集中在一个场地上,则不具有分布性。2、异构性异构性是指系统的各组成单元是否相同,不同为异构,相同为同构。异构性主要有:⑴、数据异构性数据异构性是指数据在格式上、语法和语义上存在差异。⑵、数据库系统异构性数据库系统异构性是指各个场地上的局部数据库系统是否相同。例如,均采用Oracle数据库系统的同构数据库系统。或某些场地采用Sybase数据库系统,某些场地采用Informix数据库系统的异构戏剧库系统。⑶、平台异构性平台异构性是指计算机系统是否相同。例如,均为微机系统组成的平台同构系统,或由VAX或ALPHA系统组成的平台异构系统。3、自治性自治性是指每个场地的独立自主能力。自治性通常由设计自治性、通信自治性和执行自治性三个方面来描述。根据自治性,数据库系统可分为集中式系统、联邦式系统(FederatedDB)和多库系统(MultiDB)。⑴、集中式系统集中式系统即为传统的数据库系统。⑵、联邦式系统实现需要交互的所有数据库对之间的一对一连接。⑶、多库系统多库系统是指若干相关数据库的集合。各个数据库可以存在同一个场地,也可以分布于多个场地。对多数据库系统进行管理的软件称为多数据库管理系统。多数据库管理系统是对一组自治的数据库进行管理,并提供透明的访问。十、数据字典信息的组织1、 数据字典简介数据字典(Datadictionary)是一种用户可以访问的、记录数据库和应用程序元数据的目录。主动数据字典,是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典,是指修改时必须手工更新其内容的数据字典。数据字典是指对数据的数据项、数据结构、数据流(数据流是数据结构在系统内传输的路径)、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。数据字典组成:数据项、数据结构、数据流、数据存储、处理过程。数据字典是数据库的重要组成部分。它存放有数据库所用的有关信息,对用户来说是一组只读的表。2、 数据字典信息的组织在数据库系统中,采用数据字典存储数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安全管理员安全培训考试试题可打印
- 2025新版车间安全培训考试试题及完整答案(必刷)
- 2025管理人员安全培训考试试题及参考答案(精练)
- 2025合同纠纷解决的关键要素
- 2025购销合同转让协议范本
- 2025私营企业员工的人事合同范本
- 2025房产买卖合同书
- 2025年电子线圈设备项目建议书
- 2025标准版汽车销售合同协议书
- 2025建筑公司标准版劳动合同
- 大型活动策划与管理第八章 大型活动风险管理
- Q∕GDW 12165-2021 高海拔地区运维检修装备配置规范
- 现代风险导向审计在天衡会计师事务所的应用研究
- JGJ107-2016钢筋机械连接技术规程
- 妇科医生进修汇报课件
- 动态分析与设计实验报告总结
- 2024年江苏省泰州市海陵区中考一模数学试卷
- 从汽车检测看低空飞行器检测发展趋势
- DB32T 4740-2024 耕地和林地损害程度鉴定规范
- 五一节假日安全生产培训
- 中考英语二轮复习课件:中考解题技巧-读写综合
评论
0/150
提交评论