分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。
分布式数据库系统是在集中式数据库系统的基础上发展起来的,是计算机技术和网络技术结合的产物。分布式数据库系统适合于单位分散的部门,允许各个部门将其常用的数据存储在本地,实施就地存放本地使用,从而提高响应速度,降低通信费用。分布式数据库系统与集中式数据库系统相比具有可扩展性,通过增加适当的数据冗余,提高系统的可靠性。在集中式数据库中,尽量减少冗余度是系统目标之一.其原因是,冗余数据浪费存储空间,而且容易造成各副本之间的不一致性.而为了保证数据的一致性,系统要付出一定的维护代价.减少冗余度的目标是用数据共享来达到的。而在分布式数据库中却希望增加冗余数据,在不同的场地存储同一数据的多个副本,其原因是:①.提高系统的可靠性、可用性当某一场地出现故障时,系统可以对另一场地上的相同副本进行操作,不会因一处故障而造成整个系统的瘫痪。②.提高系统性能系统可以根据距离选择离用户最近的数据副本进行操作,减少通信代价,改善整个系统的性能。

1.分布式数据库的特点从上面的定义可以看出分布式数据库系统有以下几个特点:
(1)数据的分布性。分布式数据库中的数据分布于网络中的各个结点,它既不同于传统的集中式数据库,也不同于通过计算机网络共享的集中式数据库系统。
(2)统一性。主要表现在数据在逻辑上的统一性和数据在管理上的统一性两个方面。分布式数据库系统通过网络技术把局部的、分散的数据库构成一个在逻辑上单一的数据库, 从而呈现在用户面前的就如同是一个统一的、集中式的数据库。这就是数据在逻辑上的统一性,因此,它不同于由网络互联的多个独立数据库。分布式数据库是由分布式数据库管理系统统一管理和维护的,这种管理上的统一性又使它不同于一般的分布式文件系统。
(3)透明性。用户在使用分布式数据库时,与使用集中式数据库一样,无须知道其所关心的数据存放在哪里,存储了几次。用户需要关心的仅仅是整个数据库的逻辑结构。
与集中式数据库相比,分布式数据库具有下列优点:
(1)坚固性好。由于分布式数据库系统是由多个位置上的多台计算机构成的,在个别结点或个别通信链路发生故障的情况下,它仍然可以降低级别继续工作,如果采用冗余技术, 还可以获得一定的容错能力。因此,系统的坚固性好,即系统的可靠性和可用性好。

(2)可扩充性好。可根据发展的需要增减结点,或对系统重新配置,这比用一个更大
的系统代替一个已有的集中式数据库要容易得多。
(3)可改善性能。在分布式数据库中可按就近分布,合理地冗余的原则来分布各结点上的数据,构造分布式数据库,使大部分数据可以就近访问,避免了集中式数据库中的瓶颈问题,减少了系统的响应时间,提高了系统的效率,而且也降低了通信费用。
(4)自治性好。数据可以分散管理,统一协调,即系统中各结点的数据操纵和相互作用是高度自治的,不存在主从控制,因此,分布式数据库较好地满足了一个单位中各部门希望拥有自己的数据,管理自己的数据,同时又想共享其他部门有关数据的要求。
虽然分布式数据库系统与集中式数据库相比有不少优点,但同时也需要解决一些集中式数据库所没有的问题。首先,异构数据库的集成问题是一项比较复杂的技术问题,目前还很难用一个通用的分布式数据库管理系统来解决这一问题。其次,如果数据库设计得不好,数据分布不合理,以致远距离访问过多,尤其是分布连接操作过多,不但不能改善性能,反而会使性能降低。
分布式数据库的目标
理想的分布式系统使用时应该精确得像一个非分布式系统。概括起来有以下 12 条具体规则和目标:
(1)局部结点自治性。网络中的每个结点是独立的数据库系统,它有自己的数据库, 运行它的局部 DBMS,执行局部应用,具有高度的自治性。
(2)不依赖中心结点。即每个结点具有全局字典管理、查询处理、并发控制和恢复控制等功能。
(3)能连续操作。该目标使中断分布式数据库服务情况减至最少,当一个新场地合并到现有的分布式系统或从分布式系统中撤离一个 场地不会导致任何不必要的服务中断;在分布式系统中可动态地建立和消除片段,而不中止任何组成部分的场地或数据库;应尽可能在不使整个系统停机的情况下对组成分布式系统的场地的 DBMS 进行升级。
(4)具有位置独立性(或称位置透明性)。用户不必知道数据的物理存储地,可工作可像数据全部存储在局部场地一样。一般位置独立性需要有分布式数据命名模式和字典子系统的支持。
(5)分片独立性(或称分片透明性)。分布式系统如果可将给定的关系分成若干块或片,可提高系统的处理性能。利用分片将数据存储在最频繁使用它的位置上,使大部分操作为局部操作,减少网络的信息流量。如果系统支持分片独立性,那么用户工作起来就像数据全然不是分片的一样。
(6)数据复制独立性。是指将给定的关系(或片段)可在物理级用许多不同存储副本或复制品在许多不同场地上存储。支持数据复制的系统应当支持复制独立性,用户工作可像它全然没有存储副本一样地工作。
(7)支持分布式查询处理。在分布式数据库系统中有三类查询:局部查询、远程查询和全局查询。局部查询和远程查询仅涉及单个结点的数据(本地的或远程的),查询优化采用的技术是集中式数据库的查询优化技术。全局查询涉及多个结点上的数据,其查询处理和优化要复杂得多。
(8)支持分布事务管理。事务管理有两个主要方面:恢复控制和并发控制。在分布式系统中,单个事务会涉及多个场地上的代码执行,会涉及多个场地上的更新,可以说每个事务是由多个“代理”组成的,每个代理代表在给定场地上的给定事务上执行的过程。在分布式系统中必须保证事务的代理集或者全部一致交付,或者全部一致回滚。
(9)具有硬件独立性。希望在不同硬件系统上运行同样的 DBMS。
(10)具有操作系统独立性。希望在不同的操作系统上运行 DBMS。
(11)具有网络独立性。如果系统能够支持多个不同的场地,每个场地有不同的硬件和不同的操作系统,则要求该系统能支持各种不同的通信网络。
(12)具有 DBMS 独立性。实现对异构型分布式系统的支持。理想的分布式系统应该提供 DBMS 独立性。
上述的全功能分布式数据库系统的准则和目标起源于:一个分布式数据库系统,对用户来说,应当看上去完全像一个非分布式系统。值得指出的是,现实系统出于对某些方面的特别考虑,对上述各方面做出了种种权衡和选择。

1.分布式数据库系统与并行数据库系统的区别
分布式数据库系统与并行数据库系统具有很多相似点:它们都是通过网络连接各个数据 处理结点的,整个网络中的所有结点构成一个逻辑上统一的整体,用户可以对各个结点上的 数据进行透明存取等。但分布式数据库系统与并行数据库系统之间还是存在着显著的区别的, 主要表现在以下几个方面:
(1)应用目标不同。并行数据库系统的目标是充分发挥并行计算机的优势,利用系统中的各个处理机结点并行地完成数据库任务,提高数据库的整体性能。分布式数据库系统主要目的在于实现各个场地自治和数据的全局透明共享,而不要求利用网络中的各个结点来提高系统的整体性能。
(2)实现方式不同。由于应用目标各不相同,在具体实现方法上,并行数据库与分布式数据库之间也有着较大的区别。在并行数据库中,为了充分发挥各个结点的处理能力,各结点间采用高速通信网络互联,结点间数据传输代价相对较低。当负载不均衡时,可以将工作负载过大的结点上的任务通过高速通信网络送给空闲结点处理,从而实现负载平衡。在分布式数据库系统中,各结点(场地)间一般通过局域网或广域网互联,网络带宽比较低,各场地之间的通信开销较大,因此在查询处理时一般应尽量减少结点间的数据传输量。
(3)各结点的地位不同。在并行数据库中,各结点之间不存在全局应用和局部应用的概念。各个结点协同作用,共同处理,而不可能有局部应用。
在分布式数据库系统中,各结点除了能通过网络协同完成全局事务外,还有自己结点场地的自治性。也就是说,分布式数据库系统的每个场地又是一个独立的数据库系统,除了拥有自己的硬件系统(CPU、内存和磁盘等)外,还拥有自己的数据库和自己的客户,可运行自己的 DBMS,执行局部应用,具有高度的自治性。这是并行数据库与分布式数据库之间最主要的区别。
DDBMS 的结构

DDBMS 由 4 部分组成:
(1)LDBMS(局部 DBMS)。局部场地上的数据库管理系统的功能是建立和管理局部数据库,提供场地自治能力、执行局部应用及全局查询的子查询。
(2)GDBMS(全局 DBMS)。全局数据库管理系统的主要功能是提供分布透明性,协调全局事务的执行,协调各局部 DBMS 以完成全局应用,保证数据库的全局一致性,执行并发控制,实现更新同步,提供全局恢复功能。
(3)全局数据字典。存放全局概念模式、分片模式、分布模式的定义及各模式之间映像的定义;存放有关用户存取权限的定义,以保证全局用户的合法权限和数据库的安全性; 存放数据完整性约束条件的定义,其功能与集中式数据库的数据字典类似。
(4)CM(Communication Management,通信管理)。在分布数据库各场地之间传送消息和数据,完成通信功能。