分布式数据库是用计算机网络将物理上分散的多个数据库单元连接起来组成的一个逻辑上统一的数据库。每个被连接起来的数据库单元称为站点或结点。这种组织数据库的方法克服了物理中心数据库组织的弱点,主要用于网络系统,特别适合于网络管理信息系统。
分布式数据库系统(DDBS)是数据库技术和网络技术两者相互渗透和有机结合的结果。涉及数据库基本理论和网络通信理论。分布式数据库由一组数据组成,这些数据在物理上分布在计算机网络的不同节点上,逻辑上是属于同一个系统。这些节点由通讯网络联接在一起,每个节点都是一个独立的数据库系统,它们都拥有各自的数据库、中央处理机、终端,以及各自的局部数据库管理系统。因此分布式数据库系统可以看作是一系列集中式数据库系统的联合。它们在逻辑上属于同一系统,但在物理结构上是分布式的。
DDBS已成为信息处理学科的重要领域,正在迅速发展,原因基于以下几点:①它可以解决组织机构分散而数据需要相互联系的问题。②如果一个组织机构需要增加新的相对自主的组织单位来扩充机构,则分布式数据库系统可以在对当前机构影响最小的情况下进行扩充。③均衡负载的需要。数据的分解采用使局部应用达到,这使得各处理机之间的相互干扰降到。负载在各处理机之间分担,可以避免临界瓶颈。④当现有机构中已存在几个数据库系统,而且实现全局应用的必要性增加时,就可以由这些数据库自下而上构成分布式数据库系统。⑤相等规模的分布式数据库系统在出现故障的几率上不会比集中式数据库系统低,但由于其故障的影响仅限于局部数据应用,因此就整个系统来讲它的可靠性是比较高的。
比较成熟的数据库系统出现于20世纪六十年代末和七十年代。以IMS为代表的层次型数据库系统于1968年问世。
20世纪七十年代初,美国CODASYL的数据库任务组的提出了有名的网络数据库模型DBTG。
E. F. Codd于20世纪七十年代中期提出了关系数据库。
七十年代,计算机科学技术的发展与飞速发展的现代通信技术相结合,导致了计算机网络的出现。这个时期,世界上先后建成了许多规模巨大的、全国性的广域计算机网络对经济、国防、情报、科学技术和社会生活产生了深刻的影响。随着微型计算机的广泛应用,又自然地提出了这样的新问题,为了加强和扩大微型计算机处理数据的功能,要求将许多分布在不同地点上的微型计算机互连起来,共同工作。这样,进入了分布式数据库时代。
1、在DDBS里不强调集中控制概念,它具有一个以全局数据库管理员为基础的分层控制结构,但是每个局部数据库管理员都具有高度的自主权。
2、在DDBS中数据独立性概念也同样重要,然而增加了一个新的概念,就是分布式透明性。所谓分布式透明性就是在编写程序时好象数据没有被分布一样,因此把数据进行转移不会影响程序的正确性。但程序的执行速度会有所降低。
3、与集中式数据库系统不同,数据冗余在DDBS中被看作是所需要的特性,原因在于:首先,如果在需要的节点复制数据,则可以提高局部的应用性。其次,当某节点发生故障时,可以操作其它节点上的复制数据,因此这可以增加系统的有效性。当然,在DDBS中对冗余度的评价是很复杂的。
DDBS的优点有①具有灵活的体系结构;②适应分布式的管理和控制机构;③经济性能优越;④系统的可靠性高、可用性好;⑤局部应用的响应速度快;⑥可扩展性好,易于集成现有系统。
DDBS的缺点是①系统开销较大,主要花在通信部分;②复杂的存取结构(如辅助索引、文件的链接技术),在集中式DBS中是有效存取数据的重要技术,但在分布式系统中不一定有效;③数据的安全性和保密性较难处理。
分布式数据库管理系统D-DBMS(Distributed Database Management System)是建立管理和维护分布式数据库的一组软件,其DDBMS的结构如图1所示。
图1中,LDBMS(Local Database Management System)是局部场地上的数据库管理系统,其功能是建立和管理局部数据库,提供场地自治能力,执行局部应用及全局查询的子查询;GDBMS(Global Database Management System)是全局数据库管理系统,主要功能是提供分布透明性,协调全局事务的执行,协调各局部DBMS以完成全局应用,保证数据库的全局一致性,执行并发控制,实现更新同步,提供全局恢复功能;全局数据字典存放全局概念模式,分片模式,分布模式的定义以及各模式之间映像的定义,存放有关用户存取权限的定义,以保证全局用户的合法权限和数据库的安全性,存放数据完整性约束条件定义,其功能与集中式数据库的数据字典类似;通信管理CM (Communication Management)用于在分布数据库各场地之间传送消息和数据,完成通信功能。
一、数据库安全性的两个部分
1、数据库数据的安全:它应能确保在数据库系统运行时数据存储媒体被破坏以及当数据库用户误操作时。数据库数据信息不至于丢失
2、数据库系统不被非法用户侵入:它应尽可能地堵住潜在的各种漏洞,防止非法用户利用它们侵入数据库系统。对于数据安全问题,数据库管理员可以备份和恢复数据库的资料。
二、安全性策略
1、系统安全性策略:数据库帐户是访问数据库信息的途径,因此,应该很好地维护管理数据库帐户的安全性,按照数据库系统的大小和管理数据库帐户所需的工作量,数据库安全性管理者只是数据库管理员,或者是拥有这些权限的一组用户。数据库用户可以通过操作系统,网络服务,或数据库进行身份确认,通过主机操作系统进行用户身份认证的优点有,用户能更快更方便地联入数据库。
2、数据的安全性策略:数据的安全性考虑应基于数据的重要性,如果数据不是很重要,那么数据的安全性策略可以稍稍放松一些。然而,如果数据很重要,那么应该有一谨慎的安全性策略,用它来维护对数据对象访问的有效控制
3、用户安全性策略:密码的安全性,如果用户是通过数据库进行用户身份的确认,那么建议使用密码加密的方式与数据库进行连接。
1. 局部自治:在给定节点上的所有操作都是由所在节点控制的。
本地数据的所有权和管理权在本地,由本地全权负责。
2. 不依赖于中心节点:所有的节点平等对待,不依赖中心“主”节点提供集中的查询处理、集中的事务管理,或集中的名字服务等。
3. 不间断的处理:高可靠性,高可用性
4. 位置独立性:用户不需要了解数据实际存储的位置,就如同数据都存储在他所在的本地节点一样地对数据进行操作。
5. 分片独立性:用户应该可以从逻辑的观点出发进行操作,就如同数据实际上并没有分片一样。
6. 副本独立性:用户可以从逻辑的高度对数据进行操作,就如同根本没有副本的存在一样。
7. 分布式查询处理
8. 分布式事务管理
9. 硬件独立性
10. 操作系统独立性
11. 网络独立性
12. DBMS独立性