大家好,欢迎来到IT知识分享网。
一.分布式数据库的概念
分布式数据库系统是相对于集中式数据库系统而言的,是将数据库技术与网络技术相结合的产物。分布式数据库(Distributed DataBase,DDB)比较确切的定义是:分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力,成为场地自治,它可以执行局部应用,同时,每个结点也能通过网络通信子系统执行全局应用。负责分布式数据库的建立、查询、更新、复制、管理和维护的软件,称为分布式数据库管理系统(Distributed DataBase Management System, DDBMS)。分布式数据库管理系统保证分布式数据库中数据的物理分布对用户的透明性。一个计算机网络组成的计算机系统,在配置了分布式数据库管理系统,并在其上建立了分布式数据库和相应的应用程序后,就称其为分布式数据库系统(Distributed DataBase System,DDBS)。分布式数据库管理系统是分布式数据库系统的核心。
分布式数据库的特点:
- 分布性。分布式数据库中的数据分布于网络中的各个节点,它既不同于传统的集中式数据库,也不同于通过计算机网络共享的集中式数据库系统。
- 统一性。主要表现在数据在逻辑上的统一性和数据在管理上的统一性两个方面。分布式数据库系统通过网络技术把局部的、分散的数据库构成一个在逻辑上单一的数据库,从而呈现在用户面前的就如同是一个统一的、集中式的数据库。这就是数据在逻辑上的统一性,因此,它不同于由网络互联的多个独立数据库。分布式数据库是由分布式数据库管理系统统一管理和维护的,这种管理上的统一性又使它不同于一般的分布式文件系统。
- 透明性。用户在使用分布式数据库时,与使用集中式数据库一样,无须知道其所关心的数据存放在哪里,存储了几次。用户需要关心的仅仅是整个数据库的逻辑结构。
优点:
- 坚固性好。由于分布式数据库系统是由多个位置上的多台计算机构成,在个别节点或个别通信链路发生故障的情况下,它仍然可以降低级别继续工作,如果采用冗余技术,还可以获得一定的容错能力。因此,系统的坚固性好,即系统的可靠性和可用性好。
- 可扩充性好。可根据发展的需要增减节点,或对系统重新配置,这比用一个更大的系统代替一个已有的集中式数据库要容易得多。
- 可改善性能。在分布式数据库中可按就近分布,合理冗余的原则来分布各节点上的数据,构造分布式数据库,使大部分数据可以就近访问,避免了集中式数据库中的瓶颈问题,减少了系统的响应时间,提高了系统的效率,而且也降低了通信费用。
- 自治性好。数据可以分散管理,统一协调,即系统中各节点的数据操纵和相互作用是高度自治的,不存在主从控制,因此,分布式数据库较好地满足了一个单位中各部门希望拥有自己的数据,管理自己的数据,同时又想共享其他部门有关数据的要求。
缺点:
- 异构数据库的集成问题是一项比较复杂的技术问题,目前还很难用一个通用的分布式数据库管理系统来解决这一问题。
- 如果数据库设计得不好,数据分布不合理,以致远距离访问过多,尤其是分布连接操作过多,不但不能改善性能,反而会使性能降低。
二.分布式数据库的分类
分布式数据库及其分布式数据库管理系统,根据许多因素有不同的分类方法,总的原则是分布式数据库及 DDBMS 必须是其数据和软件必定分布在用计算机网络连接的多个场地上。从应用需要或本身的特征方面考虑可将它从以下几个方面来划分:
- 按 DDBMS 软件同构度来分。当所有服务器软件(或每个 LDBMS)和所有客户软件均用相同的软件时称为同构型分布式数据库;反之,则称为异构型分布式数据库。
- 按局部自治度来分。当对 DDBMS 的存取必须通过客户软件,则系统称为无局部自治;当局部事务允许对服务器软件进行直接存取,则系统称为有一定的局部自治。自治的两个分别是无局部自治和联邦型 DDBMS 或称多数据库系统。多数据库系统本质上是集中式与分布式的混合体:对一个局部用户而言,它是自治的,那么是一个集中式 DBS;对一个全局用户而言,则是一个分布式 DBS,但这个 DDBS 没有全局概念模式,只有一个由各局部数据库提供给全局允许共享的有关模式的集成。
- 按分布透明度来分。分布透明度的另一个概念是模式集成度。若用户可以对集成模式操作不需要涉及任何片段、重复、分布等信息时,则这类 DDBMS 称为有高度分布透明(或高度模式集成);若用户必须知道所有关于片段、分配、重复等信息时,则这类 DDBMS没有分布透明,没有模式集成度。当系统不提供分布透明,用户查询时必须指定特定的场地、特定的片段等信息,当然 DDBMS 可以部分分布透明(介于两者之间)。
三.分布式数据库的目标
理想的分布式系统使用时应该精确得像一个非分布式系统。概括起来有以下几点:
- 局部节点自治性。网络中的每个节点是独立的数据库系统,它有自己的数据库,运行它的局部 DBMS,执行局部应用,具有高度的自治性。
- 不依赖中心节点。即每个节点具有全局字典管理、查询处理、并发控制和恢复控制等功能。
- 能连续操作。该目标使中断分布式数据库服务情况减至最少,当一个新场地合并到现有的分布式系统或从分布式系统中撤离一个 场地不会导致任何不必要的服务中断;在分布式系统中可动态地建立和消除片段,而不中止任何组成部分的场地或数据库;应尽可能在不使整个系统停机的情况下对组成分布式系统的场地的 DBMS 进行升级。
- 具有位置独立性(或称位置透明性)。用户不必知道数据的物理存储位置,工作像数据全部存储在局部场地一样。一般位置独立性需要有分布式数据命名模式和字典子系统的支持。
- 分片独立性(或称分片透明性)。分布式系统如果可将给定的关系分成若干块或片,可提高系统的处理性能。利用分片将数据存储在最频繁使用它的位置上,使大部分操作为局部操作,减少网络的信息传输。如果系统支持分片独立性,那么用户工作起来就像数据不是分片的一样。
- 数据复制具有独立性。是指将给定的关系(或片段)可在物理级用许多不同存储副本在许多不同场地上存储。支持数据复制的系统应当支持复制独立性,用户工作像没有存储副本一样。
- 支持分布式查询处理。在分布式数据库系统中有三类查询:局部查询、远程查询和全局查询。局部查询和远程查询仅涉及单个节点的数据(本地的或远程的),查询优化采用的技术是集中式数据库的查询优化技术。全局查询涉及多个节点上的数据,其查询处理和优化要复杂得多。
- 支持分布事务管理。事务管理有两个主要方面:恢复控制和并发控制。在分布式系统中,单个事务会涉及多个场地上的代码执行,会涉及多个场地上的更新,可以说每个事务是由多个“代理”组成的,每个代理代表在给定场地上的给定事务上执行的过程。在分布式系统中必须保证事务的代理集全部一致交付,或者全部一致回滚。
- 具有硬件独立性。在不同硬件系统上运行同样的 DBMS。
- 具有操作系统独立性。在不同的操作系统上运行 DBMS。
- 具有网络独立性。如果系统能够支持多个不同的场地,每个场地有不同的硬件和不同的操作系统,则要求该系统能支持各种不同的通信网络。
- 具有 DBMS 独立性。实现对异构型分布式系统的支持。理想的分布式系统应该提供 DBMS 独立性。
上述的全功能分布式数据库系统的准则和目标起源于:一个分布式数据库系统,对用户来说,应当看上去完全像一个非分布式系统。值得指出的是,现实系统出于对某些方面的特别考虑,对上述各方面做出了种种权衡和选择。
四.分布式数据库的架构
分布式数据库系统的模式结构有六个层次,实际的系统并非都具有这种结构。在这种结构中各级模式的层次清晰,可以概括和说明任何分布式数据库系统的概念和结构。
上半部分是分布式数据库系统增加的模式级别。
下半部分是集中式数据库的模式结构,代表了各局部场地上局部数据库系统的基本结构;
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/79149.html