暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

数据库技术-大规模数据库架构

青年之学 2021-08-04
503

正文共:6639字 4图

预计阅读时间:15分钟

欢迎您阅读此系列文章,文章参考自《全国计算机等级考试三级教程.数据库技术》。内容为书籍主要知识点以及常考点,阅读此系列文章可以帮助您快速、轻松考取相应证书!祝您阅读愉快,获取知识点文档地址:https://gitee.com/yjs0612/ncre 点击文章下方阅读原文即可跳转。

前言

在前面学习了DBAS生命周期模型各个阶段的主要技术,下面我们学习常见的几种大规模数据库架构
在NCRE数据库技术考试中,这部分一般会出现选择题,常考的知识点有掌握分布式数据库目标与数据分布策略、掌握分布式数据库的参考模式结构和分布透明性的级别、掌握并行数据库系统结构与并行算法熟悉云数据库体系结构和XML数据库。

目录

  • 分布式数据库

    • 分布式数据库系统概述
    • 分布式数据库目标与数据分布策略
    • 分布式数据库系统的体系结构
    • 分布式数据库的相关技术
  • 并行数据库

    • 并行数据库概述
    • 并行数据库系统结构
    • 数据划分与并行算法
  • 云计算数据库架构

    • 云计算概述
    • 云数据库体系结构
    • 云数据库与传统数据库比较
  • XML数据库

    • XML数据库概述
    • SQL Server 2008 与 XML

分布式数据库

在学习分布式数据库之前,首先要区分两个概念,即分布式数据库分布式数据库系统

分布式数据库系统概述

  • 分布式数据库系统

    物理上分散,逻辑上集中的数据库系统。系统中的数据分布在物理位置不同的计算机上,由通信网络将这些场地连接起来,每个场地既具有独立处理的能力,也可以和其他场地协同工作。

  • 分布式数据库

    分布式数据库系统中各场地上数据库的逻辑集合。

分布式数据库目标与数据分布策略

分布式数据库目标

1987年, C.J.Date提出了分布式数据库要达到的12个目标:

  • 本地自治
  • 非集中式管理
  • 高可用性
  • 位置独立性
  • 数据分片独立性
  • 数据复制独立性
  • 分布式查询处理
  • 分布式事务管理
  • 硬件独立性
  • 操作系统独立性
  • 网络独立性
  • 数据库管理系统独立性

本地自治、非集中式管理、高可用性是分布式数据库最基本的特征,位置独立性、数据分片独立性、数据复制独立性形成了分布式数据库系统中的分布透明性

数据分布策略

分布式数据库中数据分布策略可以从数据分片数据分配两个角度考虑,一般先数据分片再数据分配
数据分片按照一定规则将某一个全局关系划分为片断,数据分配则在数据分片的基础上将这些片断分配存储在各个场地上。
分片是对关系的操作,分配是对分片结果的操作。

数据分配策略
  • 数据分片
    对某一个关系进行分片是将关系划分为多个片断,这些片断包含足够的信息可以是关系重构,有4种基本方法:

    • 水平分片
      在关系中从的角度(元组)依据一定条件划分为不同的片断,关系中的每一行必须至少属于一个片断,以便在需要时可以重构关系。

    • 垂直分片
      在关系中从的角度(属性)依据一定条件分为不同的片断,各片断中应该包含关系的主码属性,以便通过连接方法恢复关系。

    • 导出分片
      是导出水平分片,分片的依据不是本关系属性的条件,而是其他关系属性的条件。

    • 混合分片
      是指以上3种方法的混合

  • 数据分配
    是分布式数据库的特征。解决数据分配有以下几种方法:

    • 集中式
      所有数据片断都安排在一个场地上。该策略便于控制,但数据过于集中,负载过重,易形成瓶项。可靠性较差。

    • 分割式
      所有全局数据有且只有一份。它们被分割成若干片断,每个片断被分配在一个特定场地上。该策略对局部数据控制灵活,但对全局数据存取效率较低。

    • 全复制式
      全局数据有多个副本。每个场地上都有一个完整的数据副本。该策略可靠性高。响应速度快。但数据冗余大,同步维护复杂。

    • 混合式
      全局数据被分为若干个数据子集,每个子集被安排在一个或多个不同的场地上,但是每个场地末必保存所有数据
      这是一种介于分割式和全复制式之间的一种分布方式。该策略灵活性较大,可依据不同情况扬长避短,取得较高效率。

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

分布式数据库的参考模式结构

参考模式结构
  • 全局外模式
    是全局应用的用户视图,即终端用户看到的逻辑上并未分布的表、视图等。

  • 全局概念模式
    描述全体数据的逻辑结构和特征。

  • 分片模式
    描述每个数据片断以及全局关系到片断的映像,是分布式数据库系统中全局数据的逻辑划分视图。

  • 分配模式
    描述各片断到物理存放场地的映像。

  • 局部概念模式
    描述全局关系在场地上存储的物理片断的逻辑结构以及特征。

  • 局部内模式
    描述局部概念模式涉及的数据在本场地的物理存储。

分布透明性

分布透明性有如下几种级别:

  • 分片透明性
    分片透明性是最高级别的透明性,位于全局概念模式与分片模式之间

    分片透明性是指数据分片是用户无需考虑的,完全透明的在编写程序时只要对全部关系进行操作。

  • 位置透明性
    位置透明性是指数据分片的分配位置对用户是透明的,用户骗写程序时只需要考虑数据分片情况, 不需要了解各分片在各个场地的分配情况。

  • 局部数据模型透明性
    处于分配模式与局部概念模式之间。用户编程时,需要了解全局数据分片情况,还要了解各片断的副本复制情况及个片断和他们副本的场地位置分配情况。

分布式数据库管理系统

分布式数据管理系统结构图
  • GDBMS全局数据库管理系统
    是分布式数据库管理系统的核心。它为终端用户提供分布透明性,协调全局事务在各个场地时执行,为全局应用提供支持。

  • GDD全局数据字典
    提供系统的各种描述、管理和控制信息,如为系统提供各级模式描述、存取权限定义。事务优先级。完整性约束与相容性约束等。

  • LDBMS局部数据库管理系统
    负责创建和管理局部数据库,提供场地自治能力,执行全局应用以及全局查询的子查询。

  • CM通信管理
    负责在各个场地之间传送数据和消息,为各场地的协同工作提供可靠通信。

分布式数据库的相关技术

分布式查询

在集中式数据库系统中,查询代价主要是由CPU代价和I/O代价来衡量的,在分布式数据库系统中,数据分布在多个不同的场地上,在查询处理中还要考虑站点间传输数据的通信代价。分布式直询优化主要考虑以下策略:

  • ①操作执行的顺序

  • ②操作的执行算法(主要是连接操作和并操作)。

    在分布式数据库的查询中,导致数据传输量大的主要原因是数据间的连接操作和并操作。
    优化策略分为:基于半连接的优化策略和基于连接的优化策略。

  • ③不同场地间数据流动的顺序。

分布式事务管理

分布式事务管理主要包括恢复控制并发控制,在分布式数据库系统中一个全局事务的完成需要多个场地共同参与,为了保持事务的原子性,参与事务执行的所有场地或者全部提交,或者全部撤销。

  • 恢复控制
    分布式数据库系统的恢复控制采用最典型策略是基于两阶段的提交协议,协议将场地的事务管理分为协调者和参与者。
    通过协调者在第一阶段询问所有参与者事务是否可以提交,参与者做出应答;在第二阶段协调者根据参与者的回答决定事务是否提交。
    协调者和参与者都在稳定的存储器中维护一份日志信息,当故障发生时。可以利用日志信息恢复操作。
    缺点:两阶段协议在协调者发生故障时可能导致阻塞。三阶段协议提交可以避免阻塞问题。

  • 并发控制
    在大多数分布式系统中并发控制主要是基于封锁协议的。
    集中式数据库系统中的各种封锁协议都可以用于分布式系统,需要改变的是锁管理器处理复制数据的方式。

两阶段加锁协议可以保证事务调度的可并行性

并行数据库

并行数据库概述

数据库系统发展的关键问题:提高数据库系统吞吐率和减少事务啊应时间,数据库应用的发展对数据库的性能和可用性提出了更高的要求。
在软件和硬件需求的推动下,推出了并行数据库,以多处理器并行处理提高速度,使用多个处理器构造的廉价并行计算机比传统的大型计算机有更好的性能。

并行数据库系统结构

并行数据库有多种体系结构,主要可分为以下4种。

  • 共享内存结构
    所有的处理机通过互联网共享一个 公共的主存储器

    这种并行结构与单机系统的差别只是在于以多个处理器代替单个处理器,并行执行事务,通过共享内存传送消息和数据,实现对一个或多个磁盘的访问。
    优势:实现简单,最为经济的解决方案。
    缺点:若处理器数量过多,容易造成访问内存冲突。
    所以处理器数量必须限制在32或64个之内,在一定程度上限制了并行能力的扩展。

  • 共享磁盘结构
    所有的处理机拥有独立的主存储器通过互联网共享磁盘

    优势:共享磁盘结构相比共享内存结构具有更大的优势,每个处理器有独立内存,访问内存不再会产生冲突。从一定程度上克服了内存发生故障时系统崩溃的问题,提高系统可用性。
    缺点:该结构是通过互联网实现各个处理器之间的信息和数据交换,会产生一定的通信代价。

  • 无共享结构
    每个处理机拥有独立的主存储器和磁盘,不共享任何资源。

    优势:该结构被认为是支持并行数据库系统的最好并行结构,通过最小化共享资源来降低资源竞争的概率,具有极高的可扩展性,比较适用于如银行出纳、民航售票等OLTP之类的应用
    缺点:通信的代价和非本地磁盘访问的代价高。

  • 层次结构
    该结构综合了共享内存、共享磁盘和无共享结构的特点,从全局角度考虑可以分为两层,顶层是由若干节点组成的无共享结构,底层是共享内存或共享磁盘结构。

    优势:这种结构的灵活性很大,可以根据用户不同的需求配置成不同结构的系统。
    缺点:集成了以上三种结构的优缺点。

数据划分与并行算法

合理的数据划分可以使查询处理时间最小化,并行处理性能最大化

数据划分方法

一维数据划分

  • 轮转法

    • 该策略顺序归描整个关系
    • 轮转法保证了元组在多个磁盘上平均分配,最多相差1。
    • 该策略适合于扫描整个关系的应用,在扫描时可以并行地从n个磁盘读取数据。负载均衡。充分发挥了并行性。
    • 缺点:该策略不适合点查询和范围查询,无法准备定位元组在那一个磁盘上,查询效率低。
  • 散列划分

    • 该策略使用一个值域为{0,1,2,3,...,n-1}的散列函数,选取关系中的一个或多个属性作为划分属性。根据这个划分属性进行散列。
    • 根据散列函数返回值确定分配的磁盘。
    • 该策略适合点查询,对于顺序扫描关系也是非常高的。
    • 缺点:若散列函数选择不合理。可能会引起数据划分的不均衡,因此散列函数选择是该策略的关键点。
  • 范围划分

    • 该策略按照关系中某个属性的取值范围将数据文件划分为n部分,分别存放在磁盘上。如属性的取值范围为0~ 10的元组分配到磁盘0。属性的取值范围为10~ 50的元组分配到磁盘1 ,依次类推,按照范围将所有元组分配到n个磁盘上。
    • 该策略适合范围查询和点查询。
    • 缺点:可能会引起数据分布不均匀。导致并行处理能力下降。

多维数据划分

多维数据划分主要有以下几种划分方法:

  • MAGIC多维划分法
  • CMD多维划分法
  • BERD多维划分法

并行算法

排序和连接是数据库系统中开销较大的运算,下而是这两种运算的并行算法介绍。

并行排序

如果关系是按照范围划分的方法分配到各个磁盘之上,且排序属性为划分属性。则可以直接将各个划分中的数据串接起来,可以得到排好序的关系。若关系是以其他方式划分的,则可以用下列方法进行排序:

  • 重新按排序属性进行范围划分,然后分别对每一个划分进行排序,最后将结果直接合并。
  • 采用并行外排序归井算法,即每个处理器首先对本地数据进行排序,然后。系统对每个处理器上已排序的数据进行台并,得到最终排好序的关系。
并行连接

并行连接分为划分连接分片-复制连接两种,具体内容如下:

  • 划分连接

    对于等值连接和自然连接,可以将输入的两个关系划分到多个处理器中,然后在每个处理器上进行本地连接。

  • 分片-复制连接

    划分连接不适用于普通的e链接,分片-复制连接可以解决具有不同连接属性的元组也可以匹配。

其他的关系操作
  • 选择

    可以通过选择操作在所有处理器上并行执行。

  • 消余重复

    可以嵌入到排序过程汇总,结合并行算法来实现消除重复的并行化。

  • 投影

    不进行消除重复的投影可以在元组从磁盘渎入时并行的进行;如果要消余重复行,则可以采用上述消除重复的方法,消余重复同时进行投影。

  • 聚集

    聚集函数的并行化计算可以采取“先分后合”的方法。

云计算数据库架构

云计算概述

云计算是分布式计算、并行计算和网格计算的发展 ,或者说是这些计算机科学概念的商业实现。

云计算是一种商业计算模型,它通过集中所有的计算资源,采用硬件虚拟化技术,为云计算使用者提供强大的计算能力、存储和带宽等资源,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。获得与传统大型服务器相同或者更高的计算能力。云计算包括以下软硬件设施:

  • 软件即服务( SaaS )

    互联网上的应用服务一直被称作软件即服务(SaaS),它是一 种软件分配模式。

  • 平台即服务( Paas )

    指通过网络提供操作 系统和相关服务,而无需下载或安装。

  • 基础设施即服务( laaS )

    指将用于支持运作的设备对外提供服务,这些设备包括存储、硬件、服务器和网络组件。

云计算提供商的数据中心的软硬件设置就是所谓的云,具体内容如下:

  • 公共云

    用即付的方式提供给公众,出售的是效用算以及各种服务。

  • 私有云

    不对公众开放的企业或组织内部数据中心的资源

  • 混合云

从硬件上看,云计算在三方面突破了传统:

①云计算能为应用系统提供似乎无限的计算资源,云计算终端用户无需再为计算机准备计划或预算
②SaaS的服务供应商可以根据需要逐步追加硬件资源,而不需要预先给出承诺。
③云计算具有为其用户提供短期使用资源的灵活性。当不再需要这些资源的时侯可以方便的释放这些资源。

云数据库体系结构

BigTable数据模型

  • BigTable是Google的云数据库,是一个分布式的结构化数据存储系统,用于对海量数据进行处理、存储和查询。它的数据一般分布在不同地域内的大量集群服务器上。
  • BigTable表的索引是行关键字(Row Key)、列关键字( Column Key )和时间戳( Timestamp ),每个单元( Cell )由行关键字、列关键字和时间戳共同定位,即( row , column,timestamp ) cell contents.
  • 用户在表格中存储的数据,每一行都有且仅有一个可排序的主键和任意多的列。
  • 在BigTable中,不仅可以随意地增减行的数量,同在一定的约束条件下 ,还可以对列的数量进行扩展,而且在每个单元还引入一个时间标签,可以存储多个不同时间版本的不同数据。

BigTable数据模型特点:

  • 表中的行关键字可以是任意的字符串。BigTable通过行关键字的字典稳字来组织数据。表中的每个行都可以动态分区,每个分区叫做一个"Tabletr”, Tablet是数据分布和负载均衡调整的最小单位。

  • 列族是由列关键字组成的集合。是访问控制的基本单位。在同一列族下,通常存放属于同一类型的数据。在同一张表中,列族不能过多。在列族层面上分别进行着访问控制,磁盘和内存的使用统计。

  • 数据项所包含的不同版本的数据的时间标识。

BigTable的体系结构

一个BigTable集群存储了很多表,每个表包含了一个Tablet的集合,而每个Tablet包含了某个范围内行的所有相关数据。初始状态下,一个表只有一个Tablet. 随表中数据的增长,它被自动分割成多个Tablet。

云数据库与传统数据库比较

云数据库与现有的RDBMS存在较大差别,虽然都是关系数据模型,但通常的云数据库就是系列的二维表格,操作方式也是基于简化版本的类SQL或访问对象。云数据库的使用使我们不必购买托管服务器、自己安装和维护数据库,也不关心服务器地理位置及其他信息,只需存取所要的信息。但云数据库也存在以下缺点。

  • 数据安全问题
  • 对因特网的依赖
  • 对云的管理问题

XML数据库

XML数据库概述

XML (可扩展标识语言) : 一般用于标记电子文件,使其具有结构性,可以用来标记数据定义数据类型,是种允许用户对自己的标记语言进行定义的源语言。其语法与HTML类似,都是用标签来描述数据。其特点如下:

  • XML是标准通用标记语言( SGML )的子集,非常适台Web传输。
  • XML提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
  • XML数据库是一种支持对XML格式文档进行存储和查询等操作的数据库管理系统。

XML数据库是种支持对XML格式文档进行存储和查询等操作的数据库管理系统,是XML文档及其部件的集合,并通过一个具有能力管理和控制这个文档集合本身及其所表示信息的系统来维护。XML数据库不仅是结构化数据和半结构化数据的存储库,持久的XML数据管理包括数据库的很多特性,如独立性、集成性、访问权限、视图、完备性、冗余性、一致性和数据恢复。

XML数据库的3种类型

  • Hybrid XML Database (HXD),即混合XML数据库

  • XML Enabled Database( XEDB),即能处理XML的数据库

  • Native XIML Database( NXD),即纯XML数据库

与传统数据库相比,XML数据库具有以下优势:

  • XML数据库能够对半结构化数据进行有效的存取和管理。
  • 提供对标签和路径的操作。
  • 当数据本身具有层次特征时, XML数据恪式能够青晰表达数据的层次特征,XML数据库便于对层次化的数据进行操作。

SQL Server 2008 与 XML

SQLServer中的XML语句

在关系数据库中, SELECT语句返回的查询结果是一个标准的行集(由字段与记录组成的数据表格式的数据集)。如果希望将查询结果以XML形式返回,那么可以在SELECT语句中加入FOR XML子句,将返回结果变为XML格式。另外,在SQL Server 2008中还提供了一个OPENXML的函数用于处理XML数据流。

SQL Server中的XML数据类型

在SQL Server 2008中,可以使用XML数据类型,也可以将XML文档或片段存储在SQL Server数据库中。在创建数据表时,可以定义XML类型的字段,声明XML数据类型字段的方法与声明其他数据类型字段的方法一样的。

为了提高XML数据查询时的速度,需在XML类型字段上建立索引.

操作XML

  • 用于查询XML实例中XML结点的Query方法。
  • 用于描述XML实例中获取结点获元素值的Value方法。
  • 用于在XML实例中插入、修改和删除结点的Modify方法。
  • 用于判断查询是否返回空结果的Exist方法。

习题

  1. 典型的分布式数据库管理系统应该包括____ 、____ 、____、 ____四部分
  2. 在云计算中,当云以即用即付的方式提供给公众的时候,称其为____.

参考资料及声明

  • 全国计算机等级考试三级教程.数据库技术 2019.12.


  掌握更多知识,请扫码关注我~这里有大学的各种高校服务
点击下方“在看”,给我鼓励
文章转载自青年之学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论