数据库系统(三)
- 数据库模式与范式
- 数据库设计
- 备份与恢复
- 分布式数据库系统
- 分布式数据库的概念
- 特点
- 分类
- 目标
- 分布式数据库的架构
- 分布式数据库系统与并行数据库系统
- 数据仓库
- 数据挖掘
- NoSQL
- 大数据
数据库模式与范式
数据库设计
备份与恢复
分布式数据库系统
分布式数据库的概念
分布式数据库(Distributed DataBase ,DDB)是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力,成为场地自治,它可以执行局部应用,同时,每个结点也能通过网络通信子系统执行全局应用。
负责分布式数据库的建立、查询、更新、复制、管理和维护的软件,称为分布式数据库管理系统(Distributed DataBase Management System ,DDBMS),该系统保证分布式数据库中数据的物理分布对用户的透明性。
一个计算机网络组成的计算机系统,在配置了分布式数据库管理系统,并在其上建立了分布式数据库和相应的应用程序后,就称其为分布式数据库系统(Distributed DataBase System ,DDBS)。分布式数据库管理系统是分布式数据库系统的核心。
ps: 数据库 是一个数据集合,侧重数据;数据库管理系统是一个数据库软件,如MySQL,侧重数据软件;数据系统是整合管理系统和数据库和应用软件的完整系统,侧重数据应用软件。
特点
分布式数据库系统DDBS的特点如下:
- 数据的分布性
- 统一性
- 透明性
与集中式数据库相比,分布式数据库具有下列优点:
- 坚固性好。即系统的可靠性和可用性好
- 可扩充性好。
- 可改善性能。在分布式数据库中可按就近分布,合理地冗余的原则来分布各结点上数据,构造分布式数据库,使大部分数据可以就近访问,避免集中式数据库中的瓶颈问题,减少系统的响应时间,提高系统的效率,而且降低通信费用。
- 自治性好。系统中各结点的数据操作和相互作用是高度自治的,不存在主从控制。
虽然分布式数据库系统与集中式数据库相比有不少优点,但同时也需要解决一些集中式数据库所没有的问题:
- 异构数据库的集成问题是一项比较复杂的技术问题,目前还很难用一个通用的分布式数据库管理系统来解决这个问题;
- 数据库如果设计得不好,数据分布不合理,以致远距离访问过多,尤其是分布连接操作过多,不但不能改善性能,反而会使性能降低。
分类
- 按DDBMS软件同构度来分 :当所有服务器软件和所有客户软件均用相同的软件时称为同构型分布式数据库,反之则称为异构型分布式数据库。
- 按局部自治度来分:当对DDBMS的存取必须通过客户软件,则系统称为无局部自治;当局部事务允许对服务器软件进行直接存取,则系统称为有一定的局部自治.
- 按分布透明度来分,分布透明度的另一个概念时模式集成度:若用户可以对集成模式操作不需要涉及任何片段、重复、分布等信息时,则这类DDBMS称为有高度分布透明(或高度模式集成);若用户必须知道所有关于片段、分配、重复等信息时,则这类DDBMS没有分布透明,没后模式集成度。
客户软件是一种以客户为中心的企业办公软件。
目标
有12条具体规则和目标:
- 局部结点自治性
- 不依赖中心结点,即每个结点具有全局字典管理、查询处理、并发控制和恢复控制等功能。
- 能连续操作。即新场地新增和分离,都不需要中止现有的,可以动态操作。
- 具有位置独立性(或称位置透明性)。即用户不必知道数据的物理存储地,就像集中分布一样处理。
- 分片独立性(或称分片透明性)。分布式系统如果可将给定关系分成若干块或片,可提高系统的处理性能,利用分片将数据存储在最频繁使用它的位置上,使大部分操作为局部操作,减少网络的信息流量。
- 数据复制独立性。即将给定的关系,可在物理级用许多不同存储副本或复制品在许多不同场地上存储。
- 支持分布式查询处理。
- 支持分布事务管理。即在分布式系统中必须保证事务的代理集全部一致交付,或者全部一致回滚。
- 具有硬件独立性。即希望在不同硬件系统上运行同样的DBMS。
- 具有操作系统独立性。即希望在不同操作系统上运行DBMS。
- 具有网络独立性。即能支持各种不同的通信网络。
- 具有DBMS独立性。实现对异构型分布式系统的支持。
分布式数据库的架构
分布式数据库系统的模式结构有6个层次:
- 全局外模式:是全局应用的用户视图,是全局概念模式的子集。
- 全局概念模式:定义分布式数据库中数据的整体逻辑结构。
- 分片模式:每个全局关系可以划分为若干不相交的部分,每部分就是一个片段,即“数据分片”。
- 分布模式:由数据分片得到的片段依旧是DDB的全局数据,是全局关系的逻辑部分,每个分段在物理上可以分配到网络的一个或多个不同结点上,分布模式定义片段的存放结点。分布模式的映像类型确定了分布式数据库是冗余还是非冗余的,若映像是一对多的,即一个片段分配到多个结点上存放,则是冗余的分布数据库,否则是不冗余的分布数据库。
ps:分片模式和分步模式均是全局的,分布式数据库系统中增加的这些模式和相应的映像使分布式数据库系统具有了分布透明性。
- 局部概念模式:一个全局关系经逻辑划分成一个或多个逻辑片段,每个逻辑片段被分配在一个或多个场地上,称为该逻辑片段在某场地上的物理映像或物理片段 。分配在同一场地上的同一全局概念模式的若干片段(物理片段)构成了该全局概念在该场地上的一个物理映像。一个场地上的局部概念模式就是该场地上所有全局概念在该场地上物理映像的集合。因此,全局概念模式与场地独立,而局部概念模式与场地相关。
- 局部内模式:是DDB中关于物理数据库的描述,类似集中式DB中的内模式,但其描述内容不仅包含局部本场地的数据的存储描述,还包括全局数据在本场地的存储描述。
这种分层的模式结构为理解DDB提供了一种通用的概念结构,有三个显著的特征:
- 数据分片和数据分配概念的分离,形成了“数据分布独立型”概念;
- 数据冗余的显示控制。数据在各个场地的分配情况在分配模式中一目了然,便于系统管理;
- 局部DBMS的独立性。这个特征也称为“局部映射透明性”,允许在不考虑局部DBMS专用数据模型的情况下研究DDB管理的有关问题。
分布式数据库系统与并行数据库系统
两者有很多相似点:都是通过网络连接各个数据处理结点的,整个网络中的所有结点构成一个逻辑上统一的整体,用户可以对各个结点上的数据进行透明存取等。
区别主要在以下几方面:
- 应用目标不同。并行数据库系统的目标是充分发挥并行计算机的优势,利用系统中的各个处理机结点并行地完成数据库任务,提高数据库的整体性能。分布式数据库系统主要目的在于实现各个场地自治和数据的全局透明共享,而不要求利用网络中的各个结点来提高系统的整体性能。
- 实现方式不同。在并行数据库中,为了充分发挥各个结点的处理能力,各结点间采用高速通信网络互联,结点间数据传输代价相对较低。当负载不均衡时,可以将工作负载过大的结点上的任务通过高速通信网络送给空闲结点处理,从而实现负载平衡。在分布式数据库系统中,各节点(场地)间一般通过局域网或广域网互联,网络带宽比较低,各场地间的通信开销大,因此在查询处理时一般应该尽量减少结点间的数据传输量。
- 各结点地位不同。在并行数据库中,各结点间不存在全局应用和局部应用的概念,各个结点协同合作,共同处理,而不可能有局部应用。在分布式数据库中,各结点除了能通过网络协同完成全局事务外,还有自己结点场地的自治性,即每个场地又是一个独立的数据库系统,除了拥有自己的硬件系统(CPU、内存和磁盘等)外,还拥有自己的数据库和自己的客户,可运行自己的DBMS,执行局部应用,具有高度的自治性。这是并行数据库与分布式数据库之间最主要的区别。