要使数据库系统能够正常运行,必须制订运行策略。
1.正常运行策略
分布式数据库系统(Distributed Database System, DDBS):是面向地理上分散,而管理上又需要不同程度集中管理的需求而提出的一种数据管理信息系统。
分布式数据库系统首先是由多个不同节点或场地的数据库系统通过网络连接而成的,每个节点都有各自的数据库管理系统(Local Database Management System, LDBMS),同时还有全局数据库管理系统(GlobalDatabase Management System, GDBMS)。图14-1中的局部用户是针对某一个节点而言的,局部用户只关心他所访问的节点上的数据,而全局用户则可能需要访问多个节点上的数据。每个节点的LDBMS完成对局部用户的应用请求,GDBMS则为全局用户提供服务。我们还可以看出,全局用户可以从任意一个节点访问分布式数据库系统中的数据。
在一个计算机网络中,每个节点都装有数据库系统,节点数据虽然达到共享,但如果没有统一的管理,对于用户来说,使用数据库数据时必须指明数据库所在场地的位置,无法实现场地透明性,就达不到分布式数据库的目标。如果只在计算机网络中某一场地设置数据库系统,其他场地不设数据库系统,而是有多个终端(远程)用户,显然又达不到数据分散存储的目标。所以分布式数据库至少应该有场地透明性和分散存储两个特点。
另外,因为分布式数据库系统作为一个整体,应该保证数据的一致性,这就意味着分布式数据库系统中的各个局部数据库之间应该具有逻辑相关性。根据上面的这些特点,我们给出分布式数据库的定义。
满足下面条件的数据库系统被称为完全分布式数据库系统:
(1)分布性:即数据存储在多个不同的节点上。
(2)逻辑相关性:即数据库系统内的数据在逻辑上具有相互关联的特性。
(3)场地透明性:即使用分布式数据库中的数据时不需指明数据所在的位置。
(4)场地自治性:即每一个单独的节点能够执行局部的应用请求。
分布式数据库系统的分布性可以让我们区分单一的集中式数据库与分布式数据库。而根据逻辑相关性,我们就可以将分布式数据库与一组局部数据库或存储在计算机网络中不同节点的文件系统区分开来。场地透明性和场地自治性则可以将分布式数据库和多机处理系统或并行系统区分开来。
2.分布式数据库的特点
分布式数据库系统,是传统集中式数据库系统的发展,因此它具有集中式数据库系统的特点。同时,由于它的分布性而又使这些特点具有新的含义。传统的数据库系统针对文件系统的弱点,采用了集中控制以实现数据共享,这是其最主要的特色。对于分布式数据库系统来说,由于数据的分散性,分布式数据库系统具有分散与集中的统一的特性。下面给出了分布式数据库的几个主要的特点。
特点 | 说明 | |
1 | 数据的集中控制性 | 分布式数据库系统是在传统数据库系统基础上的新发展,也具有集中控制的特性。 分布式数据库分层控制结构:全局数据库管理员和局部数据库管理员 全局数据库管理员:负责管理所有数据库 局部数据库管理员:只负责各自节点的局部数据库 在有些情况下,局部数据库管理员可以有更高的自主性,甚至完成节点间的协调工作,从而不再需要全局数据库管理员 |
2 | 数据独立性 | 指数据的组成对应用程序来说是透明的。应用程序只需要考虑数据的逻辑结构,而不用考虑数据的物理存放,因而数据在物理组织上的改变不会影响应用程序。 分布式数据库的数据独立性:除了具有传统意义上数据独立性的含义,还有分布式透明 虽然应用程序所面对的是分散存放的数据,但就像使用集中式数据库一样,不必考虑数据库的分布特性。 |
3 | 数据冗余可控性 | 将数据组织在数据库中可以方便地实现数据的共享,因此要尽量减少数据冗余,这不仅使存储代价降低,还可提高查询效率,便于数据一致性维护。但不可能达到绝对的无冗余数据。 对于分布式数据库来说,由于数据存储的分散性,各场地在网络上需要传输数据,与集中式数据库相比,查询中就增加了传输代价。因此,分布式数据库中的数据一般存储在经常使用的场地上,但两个或两个以上的场地应用对同一数据有存取要求也是时常发生的,而且当传输代价高于存储代价时,可以将同一数据存储在两个(甚至更多)场地上,以节省传输的开销。 数据有多个副本,也可以提高系统的可用性,即当系统中某个节点发生故障时,因为数据有其他副本在非故障场地上,对其他所有场地来说,数据仍然是可用的,从而保证数据的完备性。由于这种冗余度是在系统控制之下的,所以给系统造成的不利的影响是可控制的。另外,由于可用副本的存在也相应地提高了场地自治性的性能。 |
4 | 场地自治性 | 在分布式数据库系统中,多个场地的局部数据库在逻辑上集成为一个整体,这个整体被称为全局数据库,并为分布式数据库系统的所有用户使用,这种应用称为分布式数据库的全局应用,其用户为全局用户;同时,分布式数据库系统还允许用户只使用本地的局部数据库,这种应用为局部应用,其用户为局部用户,甚至局部用户所使用的数据可以不参与到全局数据库中去。这种局部应用独立于全局应用的特性就是局部数据库的自治性。 由于自治性,对每个场地来说就有两种数据,一种是参与全局数据库的局部数据,而另一种则是不参与全局数据库的数据。 |
5 | 存取的有效性 | 分布式数据库系统中的全局查询被分解成等效的子查询,即全局查询的执行计划分解成多个子查询执行计划加以执行,它是根据系统的全局优化策略产生的,而子查询计划又是在各场地上分布执行的。因而,分布式数据库系统中查询优化有两个级别:全局优化和局部优化。 全局优化主要决定在多个副本中选取合适的场地副本,使得场地间的数据传输量传输次数最少,从而使系统通信开销少。而局部优化就和传统的集中式数据库中的优化是一致的了。 |