一、什么是分布式数据库
分布式数据库系统(DDBS:Distributed Database System)是在集中式数据库系统的基础上发展来的。是数据库技术与网络技术结合的产物。
分布式数据库系统有两种:一种是物理上分布的,但逻辑上却是集中的。这种分布式数据库只适宜用途比较单一的、不大的单位或部门。另一种分布式数据库系统在物理上和逻辑上都是分布的,也就是所谓联邦式分布数据库系统。由于组成联邦的各个子数据库系统是相对“自治”的,这种系统可以容纳多种不同用途的、差异较大的数据库,比较适宜于大范围内数据库的集成。
分布式数据库系统(DDBS)包含分布式数据库管理系统(DDBMS)和分布式数据库(DDB)。
在分布式数据库系统中,一个应用程序可以对数据库进行透明操作,数据库中的数据分别在不同的局部数据库中存储、由不同的DBMS进行管理、在不同的机器上运行、由不同的操作系统支持、被不同的通信网络连接在一起。
一个分布式数据库在逻辑上是一个统一的整体:即在用户面前为单个逻辑数据库,在物理上则是分别存储在不同的物理节点上。一个应用程序通过网络的连接可以访问分布在不同地理位置的数据库。它的分布性表现在数据库中的数据不是存储在同一场地。更确切地讲,不存储在同一计算机的存储设备上。 这就是与集中式数据库的区别。从用户的角度看,一个分布式数据库系统在逻辑上和集中式数据库系统一样,用户可以在任何一个场地执行全局应用。就好那些数据是存储在同一台计算机上,有单个数据库管理系统(DBMS)管理一样,用户并没有什么感觉不一样。
分布式数据库中每一个数据库服务器合作地维护全局数据库的一致性。
分布式数据库系统是一个客户/服务器体系结构。
在系统中的每一台计算机称为结点。如果一结点具有管理数据库软件,该结点称为数据库服务器。如果一个结点为请求服务器的信息的一应用,该结点称为客户。在ORACLE客户,执行数据库应用,可存取数据信息和与用户交互。在服务器,执行ORACLE软件,处理对ORACLE数据库并发、共享数据存取。ORACLE允许上述两部分在同一台计算机上,但当客户部分和服务器部分是由网连接的不同计算机上时,更有效。
本文URL:http://www.bianceng.cn/database/Oracle/201410/45634.htm
分布处理是由多台处理机分担单个任务的处理。在ORACLE数据库系统中分布处理的例子如:
客户和服务器是位于网络连接的不同计算机上。
单台计算机上有多个处理器,不同处理器分别执行客户应用。
参与分布式数据库的每一服务器是分别地独立地管理数据库,好像每一数据库不是网络化的数据库。每一个数据库独立地被管理,称为场地自治性。场地自治性有下列好处:
◆系统的结点可反映公司的逻辑组织。
◆由局部数据库管理员控制局部数据,这样每一个数据库管理员责任域要小一些,可更好管理。
◆只要一个数据库和网络是可用,那么全局数据库可部分可用。不会因一个数据库的故障而停止全部操作或引起性能瓶颈。
◆故障恢复通常在单个结点上进行。
◆每个局部数据库存在一个数据字典。
◆结点可独立地升级软件。
可从分布式数据库的所有结点存取模式对象,因此正像非分布的局部的DBMS,必须提供一种机制,可在局部数据库中引用一个对象。分布式DBMS必须提供一种命名模式,以致分布式数据库中一个对象可在应用中唯一标识和引用。一般在层次结构的每一层实施唯一性。分布式DBMS简单地扩充层次命名模型,实施在网络上唯一数据库命名。因此一个对象的全局对象名保证在分布式数据库内是唯一。
ORACLE允许在SQL语句中使用全局对象名引用分布式数据库中的模式对象(表、视图和过程)。在ORACLE中,一个模式对象的全局名由三部分组成:包含对象的模式名、对象名、数据库名,其形式如:
SCOTT.EMP@SALES.DIVISION3.ACME.COM
一个远程查询为一查询,是从一个或多个远程表中选择信息,这些表驻留在同一个远程结点。
一个分布式查询可从两个或多个结点检索数据。一个分布式更新可修改两个或两个以上结点的数据。
一个远程事务为一个事务,包含一个或多个远程语句,它所引用的全部是在同一个远程结点上。一个分布式事务中一个事务,包含一个或多个语句修改分布式数据库的两个或多个不同结点的数据。
在分布式数据库中,事务控制必须在网络上直辖,保证数据一致性。两阶段提交机制保证参与分布式事务的全部数据库服务器是全部提交或全部回滚事务中的语句。
ORACLE分布式数据库系统结构可由ORACLE数据库管理员为终端用户和应用提供位置透明性,利用视图、同义词、过程可提供ORACLE分布式数据库系统中的位置透明性。
ORACLE提供两种机制实现分布式数据库中表重复的透明性:表快照提供异步的表重复;触发器实现同步的表的重复。在两种情况下,都实现了对表重复的透明性。
在单场地或分布式数据库中,所有事务都是用COMMIT或ROLLBACK语句中止。
二、分布式数据库系统的分类:
(1) 同构同质型DDBS:各个场地都采用同一类型的数据模型(譬如都是关系型),并且是同一型号的DBMS。
(2) 同构异质型DDBS:各个场地采用同一类型的数据模型,但是DBMS的型号不同,譬如DB2、ORACLE、SYBASE、SQL Server等。
(3) 异构型DDBS:各个场地的数据模型的型号不同,甚至类型也不同。随着计算机网络技术的发展,异种机联网问题已经得到较好的解决,此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据。