分布式数据库特点及其设计方法
2016-01-0491336部队河北秦皇岛066326
祁 迪(91336部队,河北 秦皇岛 066326)
分布式数据库特点及其设计方法
祁迪
(91336部队,河北秦皇岛066326)
摘 要:分布式数据库系统的诞生为现代化企业的数据存储提供了新的思路。本文阐述了分布式数据库的概念、架构及其典型特征,在此基础上讨论了分布式数据库的设计方法。
关键词:分布式;数据库;设计
0 引言
随着社会经济的发展,许多大企业、大集团等在许多区域甚至全球设立分支机构,对于这样的企业或单位,数据按实际需要已在网络上分布存储,当采用集中式数据库存储时,其他地点对数据进行访问会产生大量的网络传输,网络会变得非常拥挤,进而产生延迟、错误等问题。分布式数据库系统正是在计算机、网络等相关技术的不断发展和实际应用需求日益强烈等因素推动下产生的,它是数据库系统和计算机网络相结合的产物,网络可以将各地分散的数据连接起来,从而实现对数据的“分散管理,集中控制”,达到不同层次的数据共享。
1 分布式数据库系统的概念
分布式数据库系统是通过网络将物理上分散的数据库连接起来,并使用分布式数据库管理系统对其进行集中管理和控制。这些物理上分散的数据库可能相隔甚远,但在逻辑上却是一个统一的整体,并统一由一个分布式数据库管理系统进行管理。
2 分布式数据库系统架构
与集中式数据库不同,分布式数据库系统中与网络联结的每一个数据库系统称为一个站点,每个站点都是独立的完整的数据库应用系统,由数据库、数据库管理系统和用户构成。每个站点拥有的数据库称为局部数据库,所有站点的数据库共同构成逻辑上统一的数据库,称为全局数据库,局部数据库由局部数据库管理系统进行管理,全局数据库由全局数据库管理系统进行管理。只访问本地站点的用户称为局部用户,访问两个或两个以上站点数据的用户称为全局用户。
3 分布式数据库系统的典型特征
通过了解分布式数据库系统的概念与架构,可以看出分布式数据库系统应该具有以下特征:
(1)物理上分布但逻辑上整体。分布式数据库系统中的数据不是存储在一个站点上的,而是分散地存储在由计算机网络连接起来的若干个站点上,只是这种分散存储对用户来说是感觉不到的。这些分布存储的数据在逻辑上构成一个整体,并由一个统一的分布式数据库管理系统管理,且被所有的用户共享。正是因为逻辑的统一性,才使得数据的物理分布对用户来说是透明的。
(2)站点自治与集中控制相结合。站点自治是指各站点上的数据均由本地的DBMS管理,并完成基于本地的应用。这一层次的数据共享发生在站点内,即该站点的所有用户均可访问本站点的数据库,称为局部数据共享。另一方面,系统中的所有数据库均授受一个统一的全局数据库管理系统的管理。全局用户可以通过全局数据库管理系统访问其他站点上存储的数据,完成全局应用。
(3)数据分片和分布的透明性。数据分片和分布的透明性是分布式数据库系统中实现数据独立性的基本要求。数据分片与分布的独立性是指数据库中各表的逻辑分片及在各站点上的分布对于用户来说是透明的,用户不必知道自己访问的数据是从哪个具体站点中得来的,会认为自己访问的是一个数据库。
(4)系统中保留适当的数据冗余。数据库设计需要减少冗余以降低维护数据完整性的代价,但在分布式数据库管理系统中提倡冗余存储,以保证系统的可靠性。当把数据片段存储在多个站点上时,当一个站点发生故障时,其余站点仍能继续支持数据访问操作。当然,数据冗余带来的问题是副本的一致性问题,因此需要制定合理的冗余策略及相应的一致性保证机制。
(5)事务管理的分布性。数据的分布性形成事务管理的分布性。如果一个查询涉及的数据可能在多个站点中,此时该查询事务将会分解成在多个站点执行的子查询事务。如果一个更新操作多个站点,则更新事务也会分解成在多个站点执行的子事务。当事务需要分解成在多个站点执行的子事务时,则事务的原子性、一致性、持久性和隔离性就会面临新的问题。如何对事务进行分布管理便成了必须着力解决的问题,否则无法保证系统的可用性。
4 分布式数据库系统设计
4.1设计目标
(1)尽量保证应用的本地性。对于分布式数据库系统,各站点之间的通信次数及数据传输量对访问效率的影响很大,因此访问数据尽量在本地获取,如果本地站点没有,则尽量在离其最近的通信状态最好的站点获取,从而减少站点间的通信次数和数据传输量。在设计数据库时,要将数据分配在与其密切相关的应用站点上或者靠近这些站点,使应用最大程度地本地化。
(2)适当的数据冗余。数据冗余保证系统的可用性和可靠性的同时,也是保证应用本地性的重要途径。但数据冗余太多,会使维护各站点同步更新的开销增加,因此分布式数据库系统在设计时需要对数据冗余把握有度。
(3)站点负载平衡。负载平衡即将工作负荷合理地分布在网络中的各个站点上,不让某些站点过于疲惫,也不让其他一些站点过于闲置,从而充分发挥每个站点的计算能力,提高应用执行和数据传输的并行程度,增强系统的整体性能。因此,如何最合理地利用各个节点的运算存储资源是平衡负载的关键。
(4)存储能力。在分布式数据库系统中,各站点的存储能力并不相同,有的站点存储容量大,有的站点存储能力有限,所以必须考虑各站点可用存储空间的条件,合理分配有限的空间资源。
4.2构建方法
根据是否基于各站点已有的数据库系统,分布式数据库系统的构建方法有两种:组合法和重构法。
(1)组合法。组合法是利用现有的计算机网络和独立存在于各站点的原有数据库系统,构建一个分布式协调管理系统,并将这些独立的数据库系统集成在一起,形成逻辑上统一的分布式数据库系统。组合法是基于各站点已有的数据库系统进行的一种自底向上的创建方法。此方法需要对原有的网络系统进行剖析,对各站点上原有的数据库系统进行剖析,还要对数据的一致性、完整性及可靠性进行剖析,并且一般针对的是异构型数据系统,即它们的DBMS或数据模型不同,需要解决数据模型的转换问题以及各DBMS的互联问题。
(2)重构法。重构法是从无到有建立分布式数据库系统的方法。该方法与集中式数据库系统的建立过程极为相似,均从对用户的需求分析开始,设计数据库的全局概念模式、分布模式、局部概念模式等,一步一步完成分步式数据库系统的设计和创建。重构法采用自顶向下的建立方法,按统一的思想考虑分布式数据库系统中的各种问题,从而能够较好地解决分布式数据库系统的完整性、一致性和可靠性。重构法具有建设周期长、花费的人力物力大的特点,这种方法建立的分布式数据库系统一般是同构同质型或同构异质型,同构同质型是数据库的数据模型和DBMS都相同,同构异质型是数据库的数据模型相同而DBMS不全相同。
4.3设计方法
根据分布式数据库系统的构建方法,相对应的分布式数据库系统的设计方法有两种:自顶向下的设计和自底向上的设计。
自顶向下的设计是设计者通过理解用户的应用需求实现数据库从逻辑到物理的转变过程。在此过程中,数据库设计者经历概念模型的设计、逻辑模型的设计、物理设计等,并逐步将数据从现实中抽取出来,进行从高级格式到低级格式直到与计算机系统相关的格式描述。
自底向上的方法则是设计者通过理解各站点原有的数据库系统的规格说明,产生一个全局的数据规格说明,从而设计出系统的全局概念模型。
以上两种方法并不是孤立的,在一个分布式数据库设计过程中,设计者一般会结合两种方法进行数据库的设计,首先从总体上进行自顶向下的分析设计,然后自底向上进行考察,以确定设计中是否存在不合理的地方,从而进行修改,如此反复进行,最终得到一个完美的解决方案。
5 结束语
分布式数据库系统近年来一直是人们关注的热点问题,如何通过网络建立起既能自治又能共享、具有高可靠性、能相互协作处理访问的数据库系统,是下一步需要思考与解决的问题。随着研究的深入,分布式数据库技术一定会越来越完善,在实际应用中发挥更大的作用。
参考文献:
[1]邵佩英.分布式数据库系统及其应用[M].北京:科学出版社,2000:7-8.
[2]肖凌,刘继红,姚建初.分布式数据库系统的研究与应用[J].计算机工程2001,27(01):33-35.
[3]李文虎.分布式数据库系统的设计浅析[J].科技资讯,2009(34).
[4]杜金莲.高级数据库技术[M].北京:清华大学出版社,2013:272-274.
[5]吕玲玲.数据库技术的发展现状与趋势[J].信息与电脑,2011(08):118-120.
作者简介:祁迪(1991-),男,陕西泾阳人,本科,助理工程师,研究方向:数据库设计以及软件开发分布式数据库特点及其设计方法。
DOI :10.16640/j.cnki.37-1222/t.2016.01.137