网学网数据库编辑为广大网友搜集整理了: 物流信息系统的分布式数据库设计 绩等信息,祝愿广大网友取得需要的信息,参考学习。
摘 要:结合物流信息系统的研究,提出了系统分布式数据库的结构,并详细叙述了分布式数据库的设计内容、设计原则和设计步骤,分析并讨论了数据存储机制的选择。
关键词:分布式;透明性;数据共享;全局模式;数据库设计
1 概 述分布式数据库技术是分布式技术与数据库技术的结合,对它的研究已有多年的历史。从概念上讲,分布式数据库是指物理上分散在计算机网络的各个结点上,而逻辑上属于同一个系统的数据集合,它具有数据的分布性和数据库间的协调性两大特点,强调结点的自治性而不强调系统的集中控制,且系统应保持数据的分布透明性,从而使应用程序编写时可完全不考虑数据的分布情况。在分布式数据库系统中除了数据独立性以外的一个重要的概念就是分布透明性。分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分布的细节,也不必关心重复副本(冗余数据)一致性问题,以及局部场地上数据库支持哪种数据模型。用户在编写程序时好像数据没有被分布一样,因此把数据进行转移不会影响程序的正确性。
为了保证数据库的安全性和完整性,对数据的共享有2个层面:一是局部共享,即在局部数据库中存储局部场地上各种用户的共享数据。这些数据是本场地用户经常用到的。二是全局共享,即在分布式数据库的各个场地也存储供其他场地用户共享的数据。相应的控制机构也有2个层面,即集中和自治。各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调局部DBMS的工作,执行全局应用。不同的系统,集中和自治的程度不尽相同。有些系统高度自治,而不要集中控制;有些系统则集中控制程度较高,场地自治功能较弱。与集中式数据库系统不同,数据冗余在分布式系统中也被看作是所需要的特性,这个特性可以保证在需要的结点复制数据时,提高局部的应用性,当某结点发生故障时,可以操作其他结点复制数据,增加系统的有效性。
2 分布式数据库系统结构设计2.1 系统模式结构分布式数据库系统的模式结构如图1所示。它由2个部分组成:集中式数据库的模式结构代表各局部场地上局部数据库系统的基本结构;分布式数据库系统为增加的模式级别。分布式数据库系统模式结构图图1中,全局外模式是全局应用的用户视图,是全局概念模式的子集;全局概念模式定义了分布式数据库中数据的整体逻辑结构,数据就如同根本没有分布一样,全局概念模式中所用的数据模型应该易于向其他层次的模式映像,通常采用关系模型,它包括了一组全局关系的定义。
根据分布模式提供的信息,一个全局查询可以分解为多个子查询,每一个子查询要访问的数据属于同一场地的局部数据库,由分布模式到各局部数据库的映像,把存储在局部场地的全局关系或全局关系的片段映像为各局部概念模式采用的局部场地的DBMS所支持的数据模型。
2.2 D-DBMS结构分布式数据库管理系统D-DBMS(Distribut-ed Database Management System)是建立管理和维护分布式数据库的一组软件,其D-DBMS的结构如图2所示。分布式数据库管理系统的结构图中,LDBMS(Local Database ManagementSystem)是局部场地上的数据库管理系统,其功能是建立和管理局部数据库,提供场地自治能力,执行局部应用及全局查询的子查询;GDBMS(Global Database Management System)是全局数据库管理系统,主要功能是提供分布透明性,协调全局事务的执行,协调各局部DBMS以完成全局应用,保证数据库的全局一致性,执行并发控制,实现更新同步,提供全局恢复功能;全局数据字典存放全局概念模式,分片模式,分布模式的定义以及各模式之间映像的定义,存放有关用户存取权限的定义,以保证全局用户的合法权限和数据库的安全性,存放数据完整性约束条件定义,其功能与集中式数据库的数据字典类似;通信管理CM(Communication Management)用于在分布数据库各场地之间传送消息和数据,完成通信功能。
2.3 系统E-R图在确立数据库结构形式后,结合湖北省的各个物流企业现有的运营机制和体系,设计出本系统的数据库的概念模型。由于篇幅原因,这里只给出系统E-R图如图3所示。
3 分布式数据库的设计3.1 设计内容分布式数据库设计的内容一般包括:全局模式设计、片段设计、片段的分配设计、局部(本地)映射模式设计。
全局模式设计如同集中式数据库的概念模式设计。片段设计确定全局关系的水平、垂直和混合片段。在分布式数据库全局上统一起关键作用。片段是分配的基本单元,是数据分布的基础,其目的是根据全局的关系确定非重叠的片段。也就是把全局关系的元组分成元组的子集(水平分片),属性分成属性子集(垂直分片),或两者混合进行(混合分片)。片段的分配设计决定如何将片段映射到物理映象,它影响数据库的物理分布。片段的分配方法有2种:非冗余分配和冗余分配。非冗余分配是一个片段只放在一个节点上。冗余分配是将一个片段分配到2个以上的节点上,因此,每一个节点的冗余度是变化的。冗余分配对节点应该考虑最佳拷贝问题和更新时数据一致性的问题。局部(本地)映射模式设计,相当于集中式数据库的物理数据库设计。
3.2 设计原则从全局应用的角度出发,在进行应用系统的39第28卷第8期谈 冉,等:物流信息系统的分布式数据库设计数据库设计时,应将所涉及的数据库构成分布式数据库系统,实现全局数据的完整性和一致性,各个部门(系统的功能模块)处理本场点的数据,总数据库则存放所有业务数据,并对数据进行完整性和一致性的检查,在不同场地存储同一数据的多个副本,能提高系统的可靠性和可用性以及局部应用的效率,减少通信代价,而且,分布式数据库系统可以在对当前应用系统影响最小的情况下进行扩充。
一般来说,为了实现分布式数据库的特点,最大限度地体现它的优势,在进行分布式数据库的设计时,遵循以下设计原则:结点自治,不依赖于控制结点;操作连续,计划的活动不得要求中止;位置独立,分片独立;复制独立;分布式查询、优化分布式数据库的查询;分布式事务管理;硬件独立,网络独立;操作系统独立,数据库独立。这是奠定分布式数据库的基础。
3.3 设计的基本步骤首先确定数据的物理位置。在分布式数据库环境中,对于每个数据表都要确定其最佳的存放位置,从而使数据库的分布更加合理。其次再确定数据库及其对象。对每个独立场点都要建立一个数据库,不同的应用,同一场点也可以建立多个数据库。每个数据库中还要根据实际需求建立有关的数据库对象。最后确定数据存取机制。分布式数据库的一个重要特点是数据访问的透明性。在分布式数据库设计时要确定如何访问和存取其他数据库的数据,如何实现不同数据库中数据表的链接等规则。
4 数据存储机制的选择4.1 数据存储方式本系统采用分布式数据库结构。由于数据的分布存放,将对数据的处理、管理与维护带来困难。当用户需要经常访问远程数据时,系统效率会明显地受到网络通信的制约。因此,采用何种数据存储机制将是分布式数据库设计以及影响其运行速度和效率的关键要素。在分布式数据库系统中,可以通过复制、分片和复制加分片这3种方式存储数据,因为各物流企业现有数据库之间存在一定的数据冗余,又存在着差异,因此本系统采用复制+分片的方式进行数据存储。
4.2 数据分片在分布式数据库系统中,将关系进行分片,这有利于按用户需求组织数据。目前的分片方式有水平分片、垂直分片、导出分片、混合分片等4种。可以根据不同的数据关系采用不同的分片方式,分片设计示意图如图4所示。
(1)在总公司与分公司和公司与各个部门的数据关系中,由于部门业务的数据是公司业务数据的子集,本系统采用水平分片、导出分片的方式,通过运算实现关系的重构。
(2)在总数据库的数据关系中,数据是按照其业务流程来划分的,这里采用垂直分片的方式。
4.3 数据同步方式数据同步方式则是根据数据库系统需求使用事务复制和合并复制这2种方式。复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。根据业务流程垂直分片,各个部门(功能模块)只存放本部门的数据,数据管理和分析功能是由总公司的数据库服务器来实现的,各个部门只需将更新的数据发送到总公司的数据库即可,因此,本系统采用事务复制进行业务数据的同步,并在分发数据库中记录同步状态的信息。
5 结束语虽然分布式结构的数据库系统是计算机网络发展的必然产物,它适应了地理上分散的公司、团体和组织对于数据库应用的需求,但是数据的分布存放,也给数据的处理、管理与维护带来困难。当用户需要经常访问远程数据时,系统效率会明显地受到网络通信的制约。因此,采用何种数据存储机制,将是分布式数据库设计以及影响其运行速度和效率的关键要素。随着流通业务的大规模发展,流通产业和生产系统的高度化发展使得物流活动有了飞跃性发展。现代物流不仅仅是一种管理商品运输和保管的事务性活动,它需要适应全球制造业的发展和社会生产的极度复杂化的要求。以湖北省交通厅下属物流企业为例,在所属物流企业中,每个公司都有若干个子公司或相互关联的部门,虽然在业务上它们独立处理各自的数据,但彼此之间数据的交换和处理日趋频繁,异地库信息和车辆跟踪的数据库等都存在大量的数据交流和处理。在速度和效益第一的今天,如何快速、准确地处理大量繁杂的数据并提供决策支持,是目前需要研究和解决的问题之一。
参考文献:
[1] 郑振楣,于 戈,郭 敏.分布式数据库[M].北京:科学出版社,1999.
[2] 谈 冉,何建安,薛胜军.交通物流信息平台的O-LAP系统[J].武汉理工大学学报:交通科学与工程版,2006,30(1):158-161.
[3] 李昭原.数据库技术新进展[M].北京:清华大学出版社,1997.
[4] KROENEKE D.数据库处理——基础、设计与实现[M].施伯乐,顾 宁,刘国华,等,译.北京:电子工业出版社,2001.
[5] 谈 冉,薛胜军.智能管理物流信息平台的研究[J].武汉理工大学学报:信息与管理工程版,2005.