计算机网络最重要的应用之一,就是允许把数据库分布到不同区域的网络主机之中。在许多情况下,数据是自然分布的,例如每个工厂都要保存与其人员、库存、订货和产量有关的数据。存取的大多数数据是局部数据,但有时也需要一个或若干个其它存储点的数据。为了操作和处理数据方便,通常都把数据集中存放,这就是集中式数据库。但有些应用却要求把数据库分布开来,例如,为提高可靠性,往往要求在两个或更多的地方保存重要的数据;某些处于非常情况地区(如地震区)的银行,要求在远方的城市保存帐目数据库的副本;在军事应用上,若允许数据库暂时失败,则要求有冗余的备份数据库等。虽然保持完全一致的数据库拷贝是复杂和昂贵的,但有时也必须这样做。
建立分布式数据库的另一个原因是容量问题。通常一台计算机可连接的磁盘驱动器是有限的,在集中式系统中,有时甚至连一个磁盘驱动器也不能增加。另外,CPU的处理能力总是有限的,如将过多的磁盘驱动器连接到一个CPU上,则其产生的中断负荷(Interrupt Load)可能使该CPU饱和,所以,为满足数据库的容量要求,需采用多机系统。此外,小系统的集合要比大系统易于扩充。
分布式数据库通过对数据进行集中控制,可取得数据库的各种好处(即它在逻辑上是整体的),同时在数据处理方面又不必集中(即在物理上是分散的)。这种分散与集中的统一就需要各个分散的点之间有相互联系的途径和手段,这正是计算机网络所提供的功能 也是计算机网络所提供的资源共享(设备共享和数据共享)的重要内容。
图7.2.1 复制式数据库
数据库可以分布的内容有文件和文件的目录(字典)两种,它们可以彼此无关地分布。数据库存取过程一般分两步,首先查找文件目录,找到被寻文件的存放位置(地址),然后按地址进行存取。集中式数据库是将文件和字典同时放在一台主计算机中,而分布式数据库则可以根据分散方式分为以下两类:
(1)复制式数据库(www.xing528.com)
复制式数据库又可分为全部复制式和部分复制式两种。若各主计算机都具有数据库的全部文件和字典的完全拷贝,则数据库是完全复式的,如图7.2.1(a)所示;若各主计算机只保存本地常用的数据,但网中有一台主计算机保存全部文件和字典的完全拷贝,则数据库是部分复制式的,如图7.2.1(b)所示。
(2)分区式数据库
图7.2.2 分区式数据库
概念上(逻辑上)的数据库被分成若干部分,并分散在许多台主计算机上,没有一台主计算机包含全部数据库,如图7.2.2所示。通常每台主机只保存本地常用的数据。
因为用户常用的数据大多可从本地的主计算机上存取,故采用分布式数据库方法可以减少计算机网络的响应时间和周转时间,减少通信子网的通信业务量。随着硬件特别是大容量磁盘存储器价格的迅速下降,分布式数据库的应用会日趋合理。从长远看,数据共享将是计算机网络未来最有意义的功能。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。