《分布式数据库研究现状及发展趋势》由会员分享,可在线阅读,更多相关《分布式数据库研究现状及发展趋势(8页珍藏版)》请在金锄头文库上搜索。
1、山西大学研究生学位课程论文山西大学研究生学位课程论文(2014 - 2015 学年 第 2 学期)学院(中心、所): 计算机与信息技术学院 专 业 名 称: 计算机应用技术 课课 程程 名名 称称: 分布式数据库技术 论 文 题 目:分布式数据库研究现状及发展趋势授课 教师(职称): 曹峰() 研研 究究 生生 姓姓 名名: 刘杰飞 年 级: 2014 级 学 号: 201422403003 成 绩: 评 阅 日 期: 山西大学研究生学院2015 年 6 月 17 日分布式数据库研究现状及发展趋势摘要 随着大数据、云时代的到来,数据库应用需求的拓展和计算机硬件环境的变化,特别是计算机网络与数字
2、通信技术的飞速发展,卫星通信、蜂窝通信、计算机局域网、广域网和激增的 Intranet 及 Internet 得到了广泛应用,使分布式数据库系统应运而生。为了符合当今信息系统的应用需求和企业组织的管理思想和管理模式。分布式数据库提供了解决整个信息资产被分裂所成的信息孤岛,为孤岛联系在一起提供桥梁。本文主要介绍分布式数据库的研究现状,存在的一些问题以及未来的发展趋势。关键词 分布式数据库;发展趋势;现状及问题1.引言随着信息技术的飞速发展,社会经济结构、生产方式和消费结构已经发生了重大变化,这些变化深刻地影响着人民生活的方方面面。尤其是近十年来人们对计算机的依赖性越来越强,同时也对计算机提出了更
3、高的要求。随着数据库在各个行业中的不断发展,各行业也对数据库提出了更高的要求,数据量也急剧增加,同时有关大数据分析的讨论正在愈演愈烈。甚至出现了爆炸性增长的趋势,一方面是由于移动互联网和移动智能终端的普及发展,数据信息正以每年 40%的速度增长,造成数据量庞大;同时,数据种类呈多样性,文本、图片、视频等结构化和非结构化数据共存;另一方面也要求实时交互性强;最重要的是大数据蕴含了巨大的商业价值。相应的对于管理这些数据的复杂度也随之增加。同时各行业部门或企业所使用的软硬件之间的差异,这给开发企业管理数据库管理软件带来了巨大的工作量,如果能够有效解决这个问题,即使用同一模块管理操作不同的数据表格,对
4、不同的数据表格进行查询、插入、删除、修改等操作,也即对企业简单的应用实现即插即用的功能,那么就能大大地减少软件开发的维护和更新费用,缩短软件的开发周期。分布式数据库系统的开发,降低了企业开发的成本,提高了软件使用的回报率。当今社会已进入了信息时代,人们将越来越多的信息存储在网络中的计算机上。如何更有效地存储、管理、共享和提取信息,越来越引起人们的关注。集中式数据库已经不能满足人们的需求,因此分布式数据库系统应运而生,并且得到迅速发展。分布式数据库系统的出现,有效地利用企业现有资源和网络资源。分布式数据库系统是一个面向地理上分布而在管理上需要不同程度集中的处理系统,主要解决在计算机网络上如何进行
5、数据的分布和处理。由于分布式数据库有许多突出的优点,因此,分布式数据库系统可以广泛地应用于大企业,多种行业及军事国防等领域,这对建立集约型社会,加快社会主义现代化建设,将具有重要的现实意义。2.分布式数据库技术发展历史及现状2.1 分布式数据库概述分布式数据库系统 就是由分布于多个计算机结点上的若干个数据库组成,每个子数据库系统都是一个独立的数据库系统,它们都拥有各自的数据库、中央处理机、终端,以及各自的局部数据库管理系统,分布式数据库在使用上可视为一个完整的数据库 ,而实际上它是分布在地理分散的各个结点上。当然,分布在各个结点上的子数据库在逻辑上是相关的。简单的说,分布式数据库系统是物理上分
6、散而逻辑上集中的数据库系统。使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)连接起来,共同组成一个统一的数据库系统。分布式数据库是一个建立在计算机通信机制上的网络化系统,由于数据分布存储在不同的站点上,一个事务所涉及的数据可能分布在多个不同的站点上,这种分布执行的事务,系统既要有以一个优化的分布查询策略又要保证事务执行的原则性、可串行性以及解决分布式事务管理和安全问题等等。虽然面临如此大的挑战,但是相比于集中式数据库,分布式数据库的优点主要体现以下一些方面:(1)现实世界中数据库往往是分布存在于各个物理点的,比如银行的若干支行,公司的子公司,对
7、于每个站点上的数据库来说通常只要描述本地的数据,局部数据库的数据源和大多数用户一般驻留在本地,这就符合分布式的模型。(2)分布式数据库增加了可靠性和可用性,这是分布式数据库技术的最吸引人的优点,可靠性是说系统在特定时刻能达到的能力,可用性是说在一定时间间隔内系统能继续工作的能力,当数据和 DBMS 软件分布在几个不同的站点上时,当有几个站点出现故障,仅仅是出故障的站点上数据库系统和软件不能正常工作,而其他站点的数据库系统不受影响仍然能继续工作,这就可以很好的改善系统的可用性和可靠性。如果数据和软件能冗余地存放在多个站点,其改善的效果会更好,但此时会造成数据冗余,对系统造成大的负荷,同时维护成本
8、也同时增加。同时还可以获得一定的容错能力,而在传统的集中式数据库系统中,单个站点的故障会导致整个系统的瘫痪。(3)分布式数据库还提供局部自治的数据共享,各个站点的用户总是希望拥有自己的数据并且管理自己的数据,同时又想共享其他场地上的有关数据,在分布式数据库系统中各个局部数据库均有一定的自治权,这种基于局部自治的数据共享较好的满足了用户的需求。(4)分布式数据库还改善了系统整体的性能,当一个大型数据库分布在多个站点上时,在每个站点上就是较小的数据库,由于规模较小,在单个站点上的局部查询和事务处理会有较好的性能。对于事务执行而言,可以调用多个场地上的数据,在不同场地上并行处理以减少相应时间,同时大
9、部分数据可以就地访问,减少了通信开销,避免了集中式数据库的瓶颈问题。(5)在分布式数据库中,用户可以根据自己的需要增减节点,或对系统进行重新配置,灵活性好。可以逐步扩展处理能力和系统的规模,而不影响现有系统的结构和系统的正常运行,有时候这也是系统扩展的唯一途径。(6)另外还有其他优点比如数据分布透明性、集中与自治相结合的控制机制,局部DBMS 可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部 DBMS 的工作,执行全局控制管理功能。事物管理的分布性,也就是一个全局事物的执行可分解为在若干个站点上子事物的执行。同时提高系统效率,降低通信费用,拥有较大的灵活性和可
10、伸缩性,在经济性和保护投资方面也有很大优势。2.2 分布式数据库发展历史世界第一个分布式数据库是由美国计算机公司(CCA)于 1976 年至 1978 年设计,并于1979 年在 DEC-10 和 DEC-20 计算机上实现的 SSD-1。80 年代,分布式数据库技术进入成长阶段,90 年代分布式数据库技术开始进入商品化应用阶段。德国斯图加特大学研制的POREL 系统、美国 IBM 研制的 System R、美国加州大学伯克利分校研制的分布式INGRES、荷兰阿姆斯特丹大学研制的扩展 INGRES、法国研制的 SIRIUS-DELTA 还有国内的上海科技大学与华东师范大学合作实现的 C-POR
11、EL、武汉大学研制的 WDDBS 和 WOODDBS、东北大学研制的 DMU/FO 系统都是分布式数据库系统的杰出代表。目前也提出了一些比较好的新型分布式数据库处理架构,如下图其架构包括分布式数据库引擎和分布式数据存储节点两个部分。分布式数据库引擎是系统核心,其负责 SQL 解析、优化、路由 、分发、合并等操作,同时将底层的众多存储节点管理起来;分布式存储节点使用关系型数据库,主要负责数据存储、处理及同步。在实际应用中可灵活构建不同规模的数据库集群,通过将业务数据分片到不同的数据库存储节点中,极大地降低了普通数据库面对海量数据时的压力;通过将用户的 SQL 请求分发到各节点上执行,充分利用各节
12、点的计算资源,从而使 PC服务器集群达到小型机、中大型机的性能。:3.分布式数据库技术基本原理方法3.1 分布式数据库系统结构一个真正意义上的分布式数据库系统应该看起来完全像一个非分布式系统,其系统结 构图和体系机构图如下:图 2 分布式数据库系统结构图 图 3 分布式数据库体系结构图集中式数据库系统除了计算机系统本身的硬件和软件(包括操作系统、语言及语言编 译程序、其他应用程序),主要成分有:数据库(DB),数据库管理系统(DBMS)和数据 库管理员(DBA)。 分布式数据库是分布式数据库系统中各站点上数据库的逻辑集合。它对集中式操作系 统进行了扩充。与集中式数据库一样,分布式数据库也是由两
13、部分组成:一部分是关于应 用所需要的数据的集合,称为应用数据库,它是分布式数据库的主体。另一部分是关于数 据库中数据结构的定义,以及全局数据的分片、分布的描述、称为描述数据库,也称数据 字典、数据目录或元数据。3.2 分布式数据库数据分片与分布 从分布式数据库的定义中,我们知道,所谓的分布式简单的说,就是把一个整体分成 多个独立的个体,所以对于分布式数据库系统来讲,就是把一个大片数据分成多个独立的 小数据存放在网络中的各个主机上,我们把这个过程就称为数据分片。在分布式数据库系 统中 , 对数据的分片有以下几种方法: (1)水平分片 所谓水平分片就是按一定的条件把全局关系的所有元组划分成若干不相
14、交的子集 , 每个子集为关系的一个片段,简单地说,就是按关键字的特征来划分全局数据库。 (2)垂直分片 所谓垂直分片就是把一个全局关系的属性集分成若干子集,并在这些子集上作投影运 算,每个投影称为垂直分片。在对数据库分片时,最好应避免出现过多的重复字段,但这 种重复又是必要的,因为它们能够表达记特征,使局部数据库之间的记录能一一对应,这 样的字段要求其值相对固,不要随意改动。 (3)混合分片 在分布式数据库应用中,仅仅进行单一的水平分片或垂直分片往往是不够的,在数据 库设计的时候,一般都同时用到这两种方法,这就是混合分片的方法。所谓混合分片,简 单地说就是以上两种方法的混合。可以先水平分片再垂
15、直分片,或先垂直分片再水平分片, 或其他形式,但他们的结果可能是不相同的。 在对数据分片的过程中,并不是简单的水平,垂直分成多份就可以了,在分数据时必 须有符合一定的要求和规则。比如:(1)完整性要求 必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于 它的任何一个片段 。 (2)可重构要求 必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并 操作重构全局关系;对于垂直分片可用联接操作重构全局关系。即“化整为零”的数据, 还要能够再“化零为整”。 (3)不重复要求 要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。数据分布是分布式数据库的又一特征,是指分布式数据库中的数据不是存储在一个站 点的存储设备上,而是根据需要将数据划分成逻辑片段,按某种策略将这些片段分散在各 个站点上。数据分布的策略主要有以下几种方法: (1)集中式:所有数据片段都安排在同一个场地上 。 (2)分割式:所有数据只有一份,它被分割成若干逻辑片段,每个逻辑片段被指派在一个 特定的场地上。 (3)全复制式:数据在每个场地重复存储。也就是每个场地上都有一个完整的数据副本 。 (4)混合式:这是一种介乎于分割式和全复制式之间的分配方式。4.分布式数据库技术主要面临的挑战分布式数据库技术是一