数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

分布式数据库系统(DDBS)概述


发布日期:2021年01月28日
 
分布式数据库系统(DDBS)概述

什么是分布式数据库

分布式数据库系统是在集中式数据库系统的基础上发展来的是数据库技术与网络技术结合的产物

分布式数据库系统有两种一种是物理上分布的但逻辑上却是集中的这种分布式数据库只适宜用途比较单一的不大的单位或部门另一种分布式数据库系统在物理上和逻辑上都是分布的也就是所谓联邦式分布数据库系统由于组成联邦的各个子数据库系统是相对自治这种系统可以容纳多种不同用途的差异较大的数据库比较适宜于大范围内数据库的集成

分布式数据库系统(DDBS)包含分布式数据库管理系统(DDBMS)和分布式数据库(DDB)

在分布式数据库系统中一个应用程序可以对数据库进行透明操作数据库中的数据分别在不同的局部数据库中存储由不同的DBMS进行管理在不同的机器上运行由不同的操作系统支持被不同的通信网络连接在一起

一个分布式数据库在逻辑上是一个统一的整体即在用户面前为单个逻辑数据库在物理上则是分别存储在不同的物理节点上一个应用程序通过网络的连接可以访问分布在不同地理位置的数据库它的分布性表现在数据库中的数据不是存储在同一场地更确切地讲不存储在同一计算机的存储设备上 这就是与集中式数据库的区别从用户的角度看一个分布式数据库系统在逻辑上和集中式数据库系统一样用户可以在任何一个场地执行全局应用就好那些数据是存储在同一台计算机上有单个数据库管理系统(DBMS)管理一样用户并没有什么感觉不一样

分布式数据库中每一个数据库服务器合作地维护全局数据库的一致性

分布式数据库系统是一个客户/服务器体系结构

在系统中的每一台计算机称为结点如果一结点具有管理数据库软件该结点称为数据库服务器如果一个结点为请求服务器的信息的一应用该结点称为客户在ORACLE客户执行数据库应用可存取数据信息和与用户交互在服务器执行ORACLE软件处理对ORACLE数据库并发共享数据存取ORACLE允许上述两部分在同一台计算机上但当客户部分和服务器部分是由网连接的不同计算机上时更有效

分布处理是由多台处理机分担单个任务的处理在ORACLE数据库系统中分布处理的例子如

客户和服务器是位于网络连接的不同计算机上

单台计算机上有多个处理器不同处理器分别执行客户应用

参与分布式数据库的每一服务器是分别地独立地管理数据库好像每一数据库不是网络化的数据库每一个数据库独立地被管理称为场地自治性场地自治性有下列好处

◆系统的结点可反映公司的逻辑组织

◆由局部数据库管理员控制局部数据这样每一个数据库管理员责任域要小一些可更好管理

◆只要一个数据库和网络是可用那么全局数据库可部分可用不会因一个数据库的故障而停止全部操作或引起性能瓶颈

◆故障恢复通常在单个结点上进行

◆每个局部数据库存在一个数据字典

◆结点可独立地升级软件

可从分布式数据库的所有结点存取模式对象因此正像非分布的局部的DBMS必须提供一种机制可在局部数据库中引用一个对象分布式DBMS必须提供一种命名模式以致分布式数据库中一个对象可在应用中唯一标识和引用一般在层次结构的每一层实施唯一性分布式DBMS简单地扩充层次命名模型实施在网络上唯一数据库命名因此一个对象的全局对象名保证在分布式数据库内是唯一

ORACLE允许在SQL语句中使用全局对象名引用分布式数据库中的模式对象(表视图和过程)在ORACLE中一个模式对象的全局名由三部分组成包含对象的模式名对象名数据库名其形式如

SCOTTEMP@SALESDIVISIONACMECOM

一个远程查询为一查询是从一个或多个远程表中选择信息这些表驻留在同一个远程结点

一个分布式查询可从两个或多个结点检索数据一个分布式更新可修改两个或两个以上结点的数据

一个远程事务为一个事务包含一人或多个远程语句它所引用的全部是在同一个远程结点上一个分布式事务中一个事务包含一个或多个语句修改分布式数据库的两个或多个不同结点的数据

在分布式数据库中事务控制必须在网络上直辖市保证数据一致性两阶段提交机制保证参与分布式事务的全部数据库服务器是全部提交或全部回滚事务中的语句

ORACLE分布式数据库系统结构可由ORACLE数据库管理员为终端用户和应用提供位置透明性利用视图同义词过程可提供ORACLE分布式数据库系统中的位置透明性

ORACLE提供两种机制实现分布式数据库中表重复的透明性表快照提供异步的表重复;触发器实现同步的表的重复在两种情况下都实现了对表重复的透明性

在单场地或分布式数据库中所有事务都是用COMMIT或ROLLBACK语句中止

分布式数据库系统的分类

() 同构同质型DDBS各个场地都采用同一类型的数据模型(譬如都是关系型)并且是同一型号的DBMS

()同构异质型DDBS各个场地采用同一类型的数据模型但是DBMS的型号不同譬如DBORACLESYBASESQL Server等

()异构型DDBS各个场地的数据模型的型号不同甚至类型也不同随着计算机网络技术的发展异种机联网问题已经得到较好的解决此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据

分布式数据库系统主要特点

DDBS的基本特点

()物理分布性数据不是存储在一个场地上而是存储在计算机网络的多个场地上

逻辑整体性数据物理分布在各个场地但逻辑上是一个整体它们被所有用户(全局用户)共享并由一个DDBMS统一管理

()场地自治性各场地上的数据由本地的DBMS管理具有自治处理能力完成本场地的应用(局部应用)

()场地之间协作性各场地虽然具有高度的自治性但是又相互协作构成一个整体

DDBS的其他特点

()数据独立性

()集中与自治相结合的控制机制

()适当增加数据冗余度

()事务管理的分布性

分布式数据库系统的优点

()更适合分布式的管理与控制

分布式数据库系统的结构更适合具有地理分布特性的组织或机构使用允许分布在不同区域不同级别的各个部门对其自身的数据实行局部控制例如实现全局数据在本地录入查询维护这时由于计算机资源靠近用户可以降低通信代价提高响应速度而涉及其他场地数据库中的数据只是少量的从而可以大大减少网络上的信息传输量;同时局部数据的安全性也可以做得更好

()具有灵活的体系结构

集中式数据库系统强调的是集中式控制物理数据库是存放在一个场地上的由一个DBMS集中管理多个用户只可以通过近程或远程终端在多用户操作系统支持下运行该DBMS来共享集中是数据库中的数据而分布式数据库系统的场地局部DBMS的自治性使得大部分的局部事务管理和控制都能就地解决只有在涉及其他场地的数据时才需要通过网络作为全局事务来管理分布式DBMS可以设计成具有不同程度的自治性从具有充分的场地自治到几乎是完全集中式的控制

()系统经济可靠性高可用性好

与一个大型计算机支持一个大型的集中式数据库在加一些进程和远程终端相比由超级微型计算机或超级小型计算机支持的分布式数据库系统往往具有更高的性价比和实施灵活性分布式系统比集中式系统具有更高的可靠性和更好的可用性如由于数据分布在多个场地并有许多复制数据在个别场地或个别通信链路发生故障时不致于导致整个系统的崩溃而且系统的局部故障不会引起全局失控

()在一定条件下响应速度加快

如果存取的数据在本地数据库中那么就可以由用户所在的计算机来执行速度就快

()可扩展性好易于集成现有系统也易于扩充

对于一个企业或组织可以采用分布式数据库技术在以建立的若干数据库的基础上开发全局应用对原有的局部数据库系统作某些改动形成一个分布式系统这比重建一个大型数据库系统要简单既省时间又省财力物力也可以通过增加场地数的办法迅速扩充已有的分布式数据库系统

分布式数据库系统的劣势

()通信开销较大故障率高

例如在网络通信传输速度不高时系统的响应速度慢与通信相关的因素往往导致系统故障同时系统本身的复杂性也容易导致较高的故障率当故障发生后系统恢复也比较复杂可靠性有待提高

()数据的存取结构复杂

一般来说在分布时数据库中存取数据比在集中时数据库中存取数据更复杂开销更大

()数据的安全性和保密性较难控制

在具有高度场地自治的分布时数据库中不同场地的局部数据库管理员可以采用不同的安全措施但是无法保证全局数据都是安全的安全性问题式分布式系统固有的问题因为分布式系统式通过通信网络来实现分布控制的而通信网络本身却在保护数据的安全性和保密性方面存在弱点数据很容易被窃取

分布式数据库的设计场地划分及数据在不同场地的分配比较复杂数据的划分及分配对系统的性能响应速度及可用性等具有极大的影响不同场地的通信速度与局部数据库系统的存取部件的存取速度相比是非常慢的通信系统有较高的延迟在CPU上处理通信信息的代价很高分布式数据库系统中要注意解决分布式数据库的设计查询处理和优化事务管理及并发控制和目录管理等问题

分布式数据库系统数据分片

类型

水平分片

按一定的条件把全局关系的所有元组划分成若干不相交的子集每个子集为关系的一个片段

垂直分片

把一个全局关系的属性集分成若干子集并在这些子集上作投影运算每个投影称为垂直分片

导出分片

又称为导出水平分片即水平分片的条件不是本关系属性的条件而是其他关系属性的条件

混合分片

以上三种方法的混合可以先水平分片再垂直分片或先垂直分片再水平分片或其他形式但他们的结果是不相同的

条件

()完备性条件

必须把全局关系的所有数据映射到片段中决不允许有属于全局关系的数据却不属于它的任何一个片段

()可重构条件

必须保证能够由同一个全局关系的各个片段来重建该全局关系对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系

()不相交条件

要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)

分布式数据库系统数据分配方式

()集中式所有数据片段都安排在同一个场地上

()分割式

所有数据只有一份它被分割成若干逻辑片段每个逻辑片段被指派在一个特定的场地上

()全复制式数据在每个场地重复存储也就是每个场地上都有一个完整的数据副本

()混合式这是一种介乎于分割式和全复制式之间的分配方式

分布式数据库系统体系结构

数据分片和数据分配概念的分离形成了数据分布独立型概念

数据冗余的显式控制数据在各个场地的分配情况在分配模式中一目了然便于系统管理

局部DBMS的独立性这个特征也称为局部映射透明性此特征允许我们在不考虑局部DBMS专用数据模型的情况下研究DDB管理的有关问题

分布式数据库管理系统

接受用户请求并判定把它送到哪里或必须访问哪些计算机才能满足该要求

访问网络数据字典了解如何请求和使用其中的信息

如果目标数据存储于系统的多个计算机上就必须进行分布式处理

通信接口功能在用户局部DBMS和其他计算机的DBMS之间进行协调

在一个异构型分布式处理环境中还需提供数据和进程移植的支持这里的异构型是指各个场地的硬件软件之间存在着差别

分布式数据库管理系统

上一篇:ORACLESTREAMS存储过程中的一些参数

下一篇:SQL 调试指南 - 数据库执行计划(图)