起源
分布式数据库管理系统的研究始于20世纪70年代中期。美国计算机公司研制第一个分布式数据库系统的原型系统SDD-1。这一系统是1976-1978年进行设计,1979年在DEC-10和DEC-20计算机上实现的。它概括了分布式数据库的几乎全部理论和实现技术,是分布式数据库发展中的一个典范。目前已经有了一些同构分布与异构分布的分布式数据库系统的原型。
我国对分布式数据库管理系统的研究是80年代初开始的,虽然起步比较晚,但起点高。目前己经研制的原型系统在性能和功能上都已达到当今世界水平。其中有武汉大学数据库组研制的WDDBS系统、东南大学计算机系开发的SUNDDB系统、人民大学数据与知识工程研究所研制的DOS/SELS、东北大学研制的DMU/FO等系统。经过近20年的发展,分布式数据库理论已经成熟,其技术问题也基本解决。90年代己有部分产品进入市场,但由于系统复杂性对于完全透明的分布式数据库还难于达到,所以造成分布式数据库系统未进入实用化。
分布式数据库管理系统符合当今信息系统应用的需求,符合当今企业组织的管理思想和管理方式。尤其是那些地域上分散而管理上又相对集中的大集团、大机关、大企业,如全球性的或全国性的公司、银行、连锁店、保险业、各类交通运输业,以及全国性人、财、资源、环境管理机构和军事国防部门等。在这些组织中,往往既要有各部门的局部控制和分散管理,同时也要有整个组织的全局控制和高层次的协同管理。因此,分布式数据库系统具有潜在的大市场。2
组成分布式数据库管理系统有本地数据库管理系统、数据连接、全局系统目录和分布式数据库管理系统4个组件。
1.本地数据库管理系统组件
数据库管理系统组件是‘个标准的数据库管理系统,负责管理本结点数据库中的数据。它有自己的系统日录表,其中存储的是本结点上数据的总体信息。
2.数据连接组件
数据连接组件是一个能让所有结点和其他结点相连接的软件,它包含了结点及其连接的信息。
3.全局系统目录组件
全局系统目录表除了集中式数据库的数据目录(数掘字典)内容外,还包含了数据分布的信息,如分片、复制和分布模式。它本身可以像关系一样被分片和复制分配到各个结点。
4.分布式数据库管理系统组件
分布式数据库管理系统组件是整个系统的控制中心,它主要负责执行全局事务,协调局部的数据库管理系统以完成全局应用,保证数据库的全局一致性。3
功能分布式数据库管理系统基本功能表现在下述五个方面。
(1)接受用户请求,并判定将其发送到何处,或必须访问哪些计算实体才能满足要求。
(2)访问网络数据字典,了解如何请求和使用其中的信息。
(3)如果目标数据存储在系统的多台计算机上,对其进行必需的分布式处理。
(4)在用户、局部DBMS和其他计算实体的DBMS之间进行协调,发挥接口功能。
(5)在异构分布式处理器环境中提供数据和进行移植的支持,其中异构是指各个站点的硬件、软件之间存在着差别。1
优点1、数据存放在最需要的地方。在分布式数据库系统中,数据存放到事件需要的地方。
2、快速访问数据。终端用户有时仅在公司数据存储的一个地方工作。
3、快速处理数据。分布式系统在不同地方处理数据并且传送到系统中去。
4、快速增长。在不影响其他节点操作情况下,新节点能够加到网络上去。
5、提高通信。因为局域网络很小并且更贴近客户,所以局域网络在客户和公司员工之间通信很好。
6、减少操作代价。增加工作站到网络上比去更新主机系统成本更少。完成操作更便宜并且在低成本的PC上比在主机上更快。
7、用户友好的界面。PC和工作站通常配备了一个易于使用的图形用户界面(GUI)。GUI减少了培训并且可以为终端用户使用。
8、减少单点故障危险。当一个计算机出错时,其他工作站可以弥补这个故障。数据总是分布在多个地方。
9、处理器的独立性。终端用户可以访问数据的任一可用副本,并且在数据位置上,任何一个处理器都可以处理终端用户的请求。4
缺点1、管理和控制的复杂性。应用层必须找到数据的位置,并且必须能够把不同地点的数据整合在一起。由于数据的异常,数据库管理员也必须能够协调数据库的活动,以便防止数据库的退化。
2、技术的困难性。数据的完整性,事务的管理、并发控制、安全性、备份、恢复、查询优化、访问路径的选择等都必须寻址并且解决。
3、安全性。当数据位于多个站点时,安全性就可能降低。不同地方的不同人共享数据管理责任。
4、缺乏标准。在数据库层中,没有标准的通信协议(尽管TCP/IP在网络层上是一个公认的标准,但是在应用层上却没有标准)。例如,在DDBMS环境中,不同的数据库厂商采用不同的技术(而且这些技术往往是不相容的)来管理分布的数据和处理。
5、增加了存储和基本设施的要求。数据的多个副本需要存放在不同的地方,因此需要另外的磁盘存储空间。
6、增加培训成本。在分布式模型中的培训成本比集中式模型成本高,有时甚至减少操作性,增加硬件的费用。
7、代价。分布式数据库需要操作基本设施(物理位置、环境、人才、软件、证件等)。4
体系结构1、根据GDBMS分布的节点数划分DDBMS的各种体系结构根据DDBMS分布在一个节点还是在多个节点,DDBMS的体系结构可分为全局控制集中的DDBMS、全局控制分散的D—DBMS、全局控制部分分散的DDBMS。
(1)全局控制集中的DDBMS
这种结构的特点是全局控制成分GDBMS集中在某一结点上,由该结点完成全局事务的协调和局部数据库转换等一切控制功能。全局数据字典只有一个,也存放在该结点上,它是GDBMS指性控制的主要依据。
这种结构的优点是控制简单,容易实现更新一致性,但由于控制集中在某一特定的节点上,不仅容易形成瓶颈,而且系统比较脆弱,一旦该结点出故障,整个系统就将瘫痪。
(2)全局控制分散的DDBMS
这种结构的特点是全局控制成分GDBMS分散在网络的每一个结点上,全局数据字典也在每个结点上存放一份。每个结点都能完成全局事务的协调和局部数据库转换的控制功能,每个结点既是全局事务的参与者又是全局事务的协调者。一般称这类结构为完全分布的DDBMS.
这种结构的优点是结点独立,自治性强,单个结点退出或进入系统均不会影响整个系统的运行,但是全局控制的协调机制和一致性的维护都比较复杂。
(3)全局控制部分分散的DDBMS
这种结构是根据应用的需要将GDBMS和全局数据字典分散在某些结点上,是介于前两种情况的体系结构。
2、根据局部数据库的数据库管理系统是否相同划分D-DBMS的各种体系结构
根据局部数据库的DBMS是否相同,DDBMS的体系结构又可分为同构型DDBMS、异构型DDBMS。
同构型DDBMS每个节点的局部数据库具有相同的数据库管理系统,即使操作系统和计算机硬件不同。在设计和研制DDBMS时,若并不存在已运行的局部数据库,则采用同构型的结构比较方便。
异构型DDBMS的各节点的局部数据库具有不同的数据库管理系统。在设计和研制DDBMS时,若已存在局部数据库,而这些数据库可能采用不同的数据模型(层次、网状或关系),或者虽然数据模型相同但它们是不同厂商的数据库管理系统(如Informix、Sybase、DB2和Oracle),这就必须开发异构型的D—DBMS。5