.
第二章 分布式数据库理论
2.1分布式数据库理论
2.1.1分布式数据库系统的有关概念
分布式数据库系统使用计算机网络将地理位置分散而在管理和控制又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)联结起来,共同组成一个统一的数据库系统。因此,分布式数据库系统可以看成是:计算机网络与数据库系统的有机结合。在分布式数据库系统中,被计算机网络联结的每个逻辑单位,称为站点(site)或节点(Node)。所谓地理位置上分散是指各个站点分散在不同的地方,大可为不同的国家,小可为同一建筑中的不同位置。所谓逻辑上集中是指各个站点之间不是互不相关的,它们是一个逻辑整体,并由一个统一的数据库管理系统进行管理这个数据库管理系统称为分布式数据库管理系(Distributed
DatabaseManagement System,简称DDBMS)。一个用户如果只访问他注册的那个站点上的数据称为本地(或局部)用户或本地应用;如果访问涉及两个或两个以上的站点中的数据,称为全局用户或全局应用。
分布式数据库系统中有全局数据库(GDB)和局部数据库(LDB)的概念。全局数据库由全局数据库管理系统进行管理,所谓全局是从整个系统角度出发研究问题。局部数据库由局部数据库管理系统(LDBMS)进行管理,所谓局部是从各个站点的角度出发研究问题。
2.1.2分布式数据库系统的特点
1. 物理分布性:分布式数据库系统中的数据不是存储在一个站点上,而是分散存储在
由计算机网络联结起来的多个站点上。
2. 逻辑整体性:分布式数据库系统中的数据物理上是分散在各个站点中的,
但这些分散的数据逻辑上却是一个整体,它们被分布式数据库系统的所有用户 (全局用户)共享,并由一个分布式数据库管理系统统一管理。
3. 站点自治性:站点自治性也称场地自治性,各站点上的数据由本地DBMS(database
Management System:数据库管理系统)管理,具有自治处理能力,完成本站点的应用(局部应用)。 4. 数据独立性:分布式数据库系统中,数据独立性不但指数据的逻辑独立性与物理独
立性,还包括数据分布独立性亦称分布透明性。分布透明性使用户不必关心数据的
可编辑文本
.
逻辑分片,不必关心数据是否被复制及复制副本的个数(冗余数据),也不必关心数据物理及其片段位置的分布细节,同时也不关心局部场地上数据库支持哪种数据模型。
5. 集中与自治相结合的控制机制:在分布式数据库系统中,数据的共享有两个层次:
一是局部共享,即同一站点上的用户可共享本站点上局部数据库中的数据,以完成局部应用;二是全局共享,即分布式数据库系统上的用户都可共享在分布式数据库系统的各个站点上存储的数据,以完成全局应用。因而,分布式数据库系统常常采用集中和自治相结合的控制机制。各局部的DBMS可以分散地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局管理功能。
6. 适当增加数据冗余性:在集中式数据库系统中,尽量减少冗余是系统的目标之一。
其原因是,冗余数据不仅浪费存储空间,而且容易造成各数据副本之间的不一致性,为了保证数据的一致性,系统要付出一定的维护代价。而在分布式数据库系统中却通过冗余数据提高系统的可靠性、可用性和改善系统性能,因为当某一个站点出现故障时,系统可以对另一站点上的相同副本进行操作,不会因某一处故障而造成整个系统的瘫痪。另外,系统可以选择用户最近的数据副本进行操作,减少通信代价,改善整个系统的性能。
7. 事务管理的分布性:数据的分布性必然造成事务执行和管理的分布性。
2.1.3分布式数据库数据分片
数据分片(Data Fragmentation)也称数据分割,是分布式数据库的特征之一。在一个分布式数据库中,全局数据库是各个站点上局部数据库的逻辑整体,而各个局部数据库中的数据是由全局数据库的某种逻辑分割而来。这样减少网络通信量,从而提高效率。
数据分片有三种基本方法,分别如下:
1>水平分片:按特定条件把全局关系的所有元组分成若干个互不相交的子集,每一个子集为全局关系的一个逻辑片断,简称为片段。它们通过对全局关系施加选择运算得到,并可通过对这些片段的合并操作来恢复该全局关系。
2>垂直分片:将全局关系(表或视图)的属性集(字段集)中的若干属性作投影运算,即得到全局关系的一个垂直分片。要求全局关系的每一个属性至少映射到一个垂直片段中,且每一个垂直分段都包含该全局关系的键。这样可以通过对这些片段执行连接操作来恢复该全局关系。
3>混合分片:水平分片和垂直分片的混合。无论哪种分片方法都必须满足数据完备性的要求,即必须遵守以下几条准则:完备性:全局关系的所有数据都要分配到相应的分片中,否则会丢失数据。不相交性:在各水平分片的关系子集中不能出现相同元组。可重构性:由全局关系分割得到的分片能通过关系运算还原成全局关系。
2.1.4分布式数据库数据分布
数据分布(Data Distribution)是指分布式数据库中的数据不是存储在一个站点的计算机存储设备上,而是根据需要将数据划分成逻辑片段,按某种策略将这些片段分散地存储在各个站点上。数据分布的策略有:
l>分割式:所有数据只有一个备份,它被分割成若干个逻辑片段,每个逻辑片段被指派在某个特定的站点上。这种分布策略可充分利用各个站点上的存储设备,数据的存储量大。
可编辑文本
.
在存放数据的各个站点上可自治的检索和修改数据,发挥系统的并发操作能力。同时,由于数据是分布在多个站点上,当某部分站点出现故障时,系统仍能运行,提高了系统的可靠性。对于全局查询和修改,所需的时间会长一些,因为数据不在同一场地上,需要进行通讯。
2>复制式:全局数据有多个副本,每个站点上都有一个完整的数据副本。采用这种策略的系统可靠性高,响应速度快,数据库的恢复比较容易,可从任意场地得到数据副本。但是要保持各个站点上数据的同步修改,将要付出高昂的代价。另外,整个系统的冗余很大,系统的数据容量也只是一个站点上数据库的容量。
3>混合式:全部数据被分为若干个子集,每个子集安置在不同的站点上,但任意站点都没有保存全部的数据,根据数据的重要性决定各个子集的副本的多少,这种分布策略,兼顾分割式和复制式的做法,也获得了二者的优点,它灵活性好,能提高系统的效率,但同时也包括T-者的复杂性。
2.1.5数据分布设计策略
数据分布的方式有许多种,一般来说,可按整个数据库是集中存放在一个场地还是分割开来散布到多个场地以及是否有数据副本存在等情况,可组合成四种数据分布方式,它们是:
l>集中式。即整个数据库存放在一个场地上,且没有数据副本存在。严格说来,这不能算作是分布式数据库,因为数据库集中存放在一个场地上,其它场地都从该场地获得数据。存放数据库的那个场地相当于一个数据库服务器,其它场地相当于该数据库服务器的远程终端,它们对数据库的访问是通过远程登录访问来实现的。因此这种方案属于客户/服务器结构的集中式数据库。集中式最主要的优点是简单,容易实现,所有的存取操作都在单一场地进行,这样数据一致性维护和并发控制都比较容易实现。但这种策略有很多缺点,首先数据库的可能大小受限于中心场地的硬盘空间可用性的大小。其次,所有操作都在中心场地执行,其它场地都要通过网络访问中心场地,因此都有通信代价与时间延迟,系统的并行处理也受限于中心场地的处理能力与速度,进而中心场地就会成为“瓶颈”,这就进一步限制了系统的反应速度,而且中心场地也容易崩溃,系统的有效性与可用性不高。例如,如通信系统失效,则数据库对任何远程场地都无效:而当中心场地出现故障时,则整个数据库系统失效。
2>重复式。即有多个数据库副本存在,每个场地上都有一个完全的数据副本存在。这种方式的可用性、健壮性及效率相当高。这种可靠性高不仅体现在当一个或多个场地发生故障时数据库仍能有效运转,而且还表现在很容易恢复一个破坏了的数据库副本,这只需简单的从另一个正常场地完全拷贝一个数据库即可。由于每个场地都有一个完全的数据库副本,用户的请求大都可以在本场地完成,这有助于提高响应速度,减少通信代价,使通信分布比较均匀。在只有读操作时,由于不需要维护数据一致性,因此不需要场地间的同步通信,系统的可用性是很高的。但是系统需要花费相当大的开销去维护数据库的一致性和运行并发控制。由于一致性和并法控制的复杂性,这种策略不适合单请求并行处理,但在各个场地,不同请求可以异步的处理。如何保持数据的一致性,依系统的不同而差别很大,而且所承受的开销取决于所提供的数据的一致性的级别。当网络的一部分由于某种原因而失效时,需要限制修改操作的执行以维护数据的一致性。因为,若允许两个修改操作在不能实现同步的情况各自在不同的场地进行,则当系统恢复正常以后,可能出现数据的不一致性。另外,如同集中式策略一样,数据库的大小受限于每个场地上硬盘空间可用性的大小。一般来说,这种策略比较适合于要求可靠性高、数据库小、修改频率低的场合。
3>分割式。全局逻辑数据库被分割成许多片段,并且被分配到各个场地上,但这些片段只有一个拷贝。在对数据进行分割时,需要尽量按应用的要求进行分割,一般来说,应以减少表间的联系为目的。同样进行数据分割时,也应尽量将某一个场地经常存取的数据存放在相应的场地,这样可以减少网络开销。分割式策略与集中式策略相比有几个明显的优点。
可编辑文本
.
一是数据库的大小只受限于网络上作为整个可用的硬盘空间的大小,而不受限于某一场地的可用硬盘空间的大小。其二是检索与更新均指向各自所要求的所在场地,而非指向一个中心场地,数据库存取的局部性比例较大,所以通信代价较低。但另一方面,可能有一个请求需要存取多个场地甚至全部场地的数据,这时由于需要访问相关场地上的片段,这时网络开销可能比集中式更高,但若设计时分割标准合适且配合妥当的分布原则,则出现这种情况应该是不多见的。若分布式数据库管理系统支持并行处理,则可进行并行处理,故响应速度比集中式要快。通信负载较均匀地分布于整个网络,所以任何场地都对通信瓶颈口不敏感。数据库的有效性与可靠性也比集中式要高,因为若部分或全部通信失效,或者一个或几个场地发生故障,不会导致整个系统完全失效,至少数据库部分可用。这种方案的性能、有效性和可靠性与数据库访问的局部性相关,若一个存取操作几乎在一个场地进行,则说数据库访问 的局部性高,否则就低。而数据库访问的局部性跟设计时数据分布有关。如果设计时分片,可能造成每一个请求都要存取多个场地,则其性能、有效性和可靠性会比集中式更低,因为多个场地出故障的概率要比单独某一个场地出故障的概率要大,这样只要有一个场地出故障,这个请求就不能执行。一般说来,分割策略比较适合各场地硬盘空间有限、可靠性要求较高、或应用的数据存取有一定的“分割性”,即能实现高的存取局部化程度的情况。
4>组合式。它是分割与重复的组合,每一场地可以有数据库的任何一部分。这种策略兼有分割与重复式的一些特点。它的主要的优点是灵活。分割与分布的策略及各片段重复的个数需要在各因素之间权衡,局部辅存与整体辅存之间、可靠性与可用性、提高效率的方法及通信代价、同步与控制代价等要综合折中权衡。例如,重复可以提高存取的局部性,从而降低通信量,提高可靠性与可用性;同时可以使并行处理可能性高,故可缩短响应时间。分割时,,可使常用的关键性数据重复分布于所需的场地,不常用的数据可只存储一次,这样可降低存储量。这种方式要着力解决的问题是通信与数据一致性维护,同时通信瓶颈仍然可能存在。这种方式最灵活,同时实现起来也是最复杂的,因为影响系统性能、可靠性、存取需求等的各种因素是彼此相关的,很难将其分割开来考虑。此外,分布式数据库管理系统所支持的各种机构,数据库的使用方式等也是施加影响的因素。总之,采用这种方式必须全面考虑各种因素,并进行权衡。
可编辑文本
.
第三章 系统总体设计
本系统是为了实现学生信息化管理而编写的。其中包括了学生信息日常工作中的各项操作。本系统的项目名称为:学生信息管理系统V1.0
3.1系统功能设计
主要功能模块:
1 学生信息处理 实现对学生信息的录入、修改、添加、删除 2 信息浏览处理 实现对学生基本信息的浏览查看 3 数据查询处理 实现对学生信息的查询 4 数据汇总处理 实现对学生信息的分类汇总 5 数据备份处理 实现对学生信息的备份和导出
3.2系统结构设计
登录窗口 win11 主窗口 win1 数据编辑 数据浏览 数据查询 数据汇总 数据备份 帮助系统help
可编辑文本