全国计算机等级考试三级数据库技术(十三)

第13章_大规模数据库架构

考点分析

◆在考试中一般情况下会出现在选择题。
◆常考知识点有:
1.掌握分布式数据库目标与数据分布策略
2.掌握分布式数据库的参考模式结构和分布透明性的级别
3.掌握并行数据库系统结构与并行算法
4.熟悉云数据库体系结构和XML数据库

13.1 分布式数据库

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

二、分布式数据库目标与数据分布策略
1.分布式数据库目标
1987年,C.J.Date提出了分布式数据库要达到的12个目标。如下图所示:
分布式数据库目标
2.数据分布策略
数据分布策略
(1)数据分片
描述:对某一个关系进行分片是将关系划分为多个片断,这些片断包含足够的信息可以使关系重构,有4种基本方法:
01.水平分片:在关系中从行的角度(元组)依据一定条件划分为不同的片断,关系中的每一行必须至少属于一个片断.以便在需要时可以重构关系。
02.重直分片:在关系中从列的角度(属性)依据一定条件分为不同的片断,各片断中应该包含关系的主码属性,以便通过连接方法恢复关系。
03.导出分片:是导出水平分片。分片的依据不是本关系属性的条件,而是其他关系属性的条件。
04.混合分片:是指以上3种方法的混合。
(2)数据分配
描述:是分布式数据库的特征。解决数据分配有以下几种方法:
01.集中式:所有数据片断都安排在一个场地上。该策略便于控制,但数据过于集中。负载过重,易形成瓶颈,可靠性较差。
02.分割式:所有全局数据有且只有一份。它们被分割成若干片断,每个片断被分配在一个特定场地上。该策略对局部数据控制灵活,但对全局数据存取效率较低。
03.全复制式:全局数据有多个副本每个场地上都有一个完墅的数据副本。该策略可靠性高,响应速度快,但数据冗余大,同步维护复杂。
04.混合式:全局数据被分为若干个数据子集,每个子集被安排在一个或多个不同的场地上 。但是每个场地未必保存所有数据。这是一种介于分割式和全复制式之间的一种分布方式。该策略灵活性较大.可根据不同情况扬长避短,取得较高效率。

三、分布式数据库系统的体系结构
1.分布式数据库的一种参考模式结构示意图如下所示:
分布式数据库的一种参考模式结构示意图
分布式数据库系统具体内容:
01.全局外模式:是全局应用的用户视图。即终端用户看到的逻辑上并未分布的表,视图等。
02.全局概念模式:描述全体数据的逻辑结构和特征。
03.分片模式:描述每个数据片断以及全局关系到片断的映像,是分布式数据库系统中全局数据的逻辑划分视图。
04.分配模式:描述各片断到物理存放场地的映像。
05.局部概念模式:描述全局关系在场地上存储的物理片断的逻辑结构以及特征。
06.局部内模式:描述局部概念模式涉及的数据在本场地的物理存储。

2.分布透明性
分布透明性有如下几种级别:
01.位置透明性是指数据分片的分配位置对用户是透明的,用户编写程序时只需要考虑数据分片情况,不需要了解各分片在各个场地的分配情况。
02.分片透明性最高级别的透明性。位于全局概念模式和分片模式之间。分片透明性只是
数据分片是用户无需考虑的,完全透明的,在编写程序时只需要对全部关系进行操作。
03.局部数据模型透明性处于分配模式与局部概念模式之间。用户编院时,需要了解全局数据分片情况,还要了解各片斯的副本复制情况及个片断和他们副本的场地位置分配情况。
3.分布式数据库管理系统
分布式数据库管理系统的结构如下所示:
分布式数据库管理系统的结构
四、分布式数据库的相关技术
1.分布式查询
在集中式数据库系统中,查询代价主要是由CPU代价和I/O代价来衡量的,在分布式数据库系统中。数据分布在多个不同的场地上,在查询处理中还要考虑站点间传输数据的通信代。分布式直询优化主要考虑以下策略:
分布式查询优化策略
2.分布式事务管理
分布式事务管理主要包括恢复控制和并发控制。在分布式数据库系统中一个全局事务的完成需要多个场地共同参与。为了保持事务的原子性,参与事务执行的所有场地或者全部提交,或者全部撤销。
01.恢复控制
A.分布式数据库系统的恢复控制采用最典型策略是基于两阶段的提交协议,该协议将场地的事务管理分为协调者和参与者。
B.通过协调者在第一段询问所有参与者事务是否可以提交,参与者做出应答:在第二阶段协调者根据参与者的回答决定事务是否提交。
C.协调者和参与者都在稳定的存储器中维护一份日志信息,当故障发生时,可以利用日志信息恢复操作。
D.缺点:两阶段协议在协调者发生故障时可能导致阻塞,三阶段协议提交可以避免阻塞问题。
02.并发控制
在大多数分布式系统中并发控制主要是基于封锁协议的。集中式数据库系统中的各种封锁协议都可以用于分布式系统,需要改变的是锁管理器处理复制数据的方式。

13.2 并行数据库

一、并行数据概述
1.数据库系统发展的关键问题:提高故据库系统吞吐率和成少事务响应时间,数据库应用的发展对数据库的性能和可用性提出了更高的要求。
2.在软件和硬件需求的推动下,推出了并行数据库,以多处理器并行处理提高速度,使用多个处理器构造的廉价并行计算机比传统的大型计算机有更好的性能。
二、并行数据库系统结构
1.并行数据库有多种体系结构,主要可分为以下4种:
(1)共享内存结构
(2)共享磁盘结构
(3)无共享结构
(4)层次结构
2.共享内存结构
描述:所有的处理机通过互联网共享一个公共的主存储器,如图所示(P表示处理机,M表示内存,D表示磁盘):
共享内存结构

这种并行结构与单机系统的差别只是在于以多个处理器代替单个处理器。并行执行事务,通过共享内存传送消息和数据,实现对一个或多个磁盘的访问。
优势:实现简单,最为经济的解决方案
缺点:若处理器数量过多,容易造成访问内存冲突。所以处理器数量必须限制在32或64个之内,在一定程度上限制了并行能力的扩展。
3.共享磁盘结构
描述:所有的处理机拥有独立的主存储器,通过互联网共享磁盘,如图所示(P表示处理机,M表示内存,D表示磁盘)。
共享磁盘
优势:共享磁盘结构相比共享内存结构具有更大的优势,每个处理器有独立内存,访问内存不再会产生冲突。从一定程度上克服了内存发生故障时系统崩溃的问题,提高系统可用性。
缺点:该结构是通过互联网实现各个处理器之间的信息和数据交换,会产生一定的通信代价。
4.无共享结构
描述:每个处理机拥有独立的主存储器和磁盘,不共享任何资源。
无共享结构
优势:该结构被认为是支持并行数据库系统的最好并行结构,通过最小化共享资源来降低资源竞争的概率。具有极高的可扩展性。比较适用于如银行出纳、民航售票等OLTP之类的应用。
缺点:通信的代价和非本地酷盘访问的代价高。
5.层次结构
描述:该结构综合了共享内存、共享磁盘、和无共享结构的特点,从全局角度考虑可以分为两层,顶层是由若干节点组成的无共享结构,底层是共享内存或共享磁盘结构。如下图所示:
层次结构
优势:这种结构的灵活性很大,可以根据用户不同的需求配置成不同结构的系统
缺点:集成了以上三种结构的优缺点。
三、数据划分与并行计算
1.合理的数据划分可以使查询处理时间最小化,并行处理性能最大化。
数据划分方法
(1)一维数据划分
一维数据划分_1
一维数据划分_2
(2)多维数据划分
多维数据划分方法:
A.MAGIC多维划分方法
B.CMD多维划分方法
C.RERD多维划分法
划分方法:将关系R的属性分为主划分属性和辅助划分属性。主划分属性只有一个,设为A。首先按其进行范围划分,然后对每个次划分属性B,构造一个具有3个属性的辅助关系
RB,RB中的元组与R中的元组一对应。其中TID为记录的元组标识的,ProdD为其实际存储结点。将RB按属性Bi进行范围划分至各结点。
2.并行算法
(1)排序和连接是数据库系统中开销较大的运算,下面是这两种运算的并行算法介绍:
并行算法介绍

(2)并行排序
描述:如果关系是按照范围划分的方法分配到各个磁盘之上,且排序属性为划分属性,则可以接将各个划分中的数据串接起来,可以得到排好序的关系。若关系是以其他方式划分的,则可以用下列方法进行排序:
并行排序方法:
01。重新按排序属性进行范围划分,然后分别对每一个划分进行排序,最后将结果直接合并。
02.采用并行外排序归并算法,即每个处理器首先对本地数据进行排序,然后,系统对每个处理器上已排序的数据进行合并,得到最终排好序的关系。
(3)并行连接
描述:并行连接分为划分连接和分片-复制连接两种。具体内容如下:
划分连接:对于等值连接和自然连接,可以将输入的两个关系划分到多个处理器中,然后在每个处理器上进行本地连接。
分片-复制连接:划分连接不适用于普通的e连接。分片-复制连接可以解决具有不同连接属性的,元组也可以匹配。
(4)其他的关系操作
01.选择:可以通过选择操作在所有处理器上并行执行。
02.消除重复:可以嵌入到排序过程汇总,结合并行算法来实现消除重复的并行化。
03.投影:不进行消除重复的投影可以在元组从磁盘读入时并行的进行;如果要消除重复行,则可以采用上述消除重复的方法,消除重复同时进行投影。
04.集聚:集聚函数的并行化计算可以采取“先分后合”的方法,对于聚集函数SUM、MIN、MAX,各节点先并行计算部分结果,然后再对各部分结果按同一聚集函数计算一次即可。

13.3 云计算数据库架构

一、云计算概述
1.描述:云计算是分布式计算、并行计算和网格计算的发展,或者说是这些计算机科学概念的商业实现。
2.概念:云计算是一种商业计模型,它通过集中所有的计算贺源,采用硬件虚拟化技术,为云计算使用者提供强大的计算能力、存储和带宽等资源,它将计算任务分布在大量计算机构成的资原池上,使各种应用系统能够根据需要获取计算力,存储空间和信息服务。获得与传统大型服务器相同或者更高的计算能力。云计算包括以下软硬件设施:
(1)软件即服务( SaaS):互联网上的应用服务一直被称作软件即服务(Saas).它是一种软件分配模式。
(2)平台即服务( Paas ):指通过网格提供操作系统和相关服务。而无须下载或安装。
(3)基础设施即服务(laas):指将用于支持运作的设备对外提供服务,这些设备包括存储,硬件、服务器和网络组件。
3.云计算提供商的数据中心
云计算提供商的数据中心的软硬件设置就是所谓的云,具体内容如下:
云
4.云计算的突破
从硬件上看,云计算在三方面突破了传统,如下所示:
(1)云计算能为应用系统提供似乎无限的计算资源,云计算将端用户无需再为计算力准备计划或预算
(2))SaaS服务供应商可以根据需要逐步追加硬件资源,而不需要预先给出承诺。
(3)云计算具有为其用户提供短期使用资源的灵活性。当不再需要这些资源的时候用户可以方便地释放这些资源。

二、云计算体系结构简介
1.云环境下,计算的主要对象仍是数据,“云+数据库”的结合产生了云数据库,Google的云数据库架构如图所示:
Google的云服务框架

  1. BigTable数据模型
    (1)描述: BigTable是Google的云数据库,是一个分布式的结构化数据存储系统,用于对海量数据进行处理存储和直询。
    (2)BigTable表的索引是行关键字(Row Key).列关键字( Column Key )和时间戳( Timestamp)。
    (3)每个单元( Cell )由行关键字、列关键字和时间戳共同定位.
    (4)在BigTable中,不仅可以随意地增减行的数量,同在一定的约束条件下,还可以对列的数量进行扩展,而且在每个单元还引入一个时间标签,可以存储多个不同时间版本的不同数据。
    (5)数据模型的特点
    01.表中的行关键字可以是任意的字符串。
    BigTable通过行关键字的字典顺序来组织数据。表中的每个行都可以动态分区。每个分区叫做一个“Tablet”,Tablet是数据分布和负载均衡调整的最小单位。
    02.列族是由列关键字组成的集合,是访问控制的基本单位。
    在同一列族下,通常存放属于同一类型的数据。在同一张表中。列族不能过多。在列族层正上分别进行着访问控制、磁盘和内存的使用统计,
    03.数据项所包含的不同版本的数据的时间标识。
    通过时间戳可以实现对不同版本的数据的索引. BigTable可以设置时间戳的值.用来表示相应数据的准确时间。可以精确到毫秒:用户程序也可以给时间戳进行赋值,以表示数据的版本信息.
    数据项中。系统按照时间戳顺序对数据进行排序。即最新的教据排在最前面。
    (6)BigTable的体系结构
    一个BigTable集群存储了很多表,每个表包含了一个Tablet的集合,而每个Tablet包含了某个范围内行的所有相关数据。初始状态下,一个表只有一个Tablet。随表中数据的增长,它被自动分割成多个Tablet。BigTable结构图如图所示:
    BigTable结构图

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

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

13.4 XML数据库

一、XML语言的概述
XML (可扩展标识语言) : 一般用于标记电子文件,使其具有结构性,可以用来标记数据定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.其语法与HTML类似。都是用标签来描述数据。其特点如下:
01.XML是标准通用标记语言(SGML)的子集.非常适台Web传输。
02.XML提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
03.XML数据库是一种支持对XML格式文档进行存储和查询等操作的数据库管理系统。
04
二、XML数据的概述
1.XML数据库是一种支持对XML格式文档进行存储和查询等操作的数据管理系统.是XML文档及其部件的集合,并通过一个具有能力管理和控制这个文档集合本身及其所表示信息的系统来维护。
2.XML数据库不仅是结构化数据和半结构化数据的存储库,持久的XML数据理包括数据的很多特性,如下所示:
独立性、集成性、访问权限、视图、完备性、冗余性、一致性、数据恢复
3.XML数据库的3种类型
XML数据库的3种类型

4.与传统数据库相比, XML数据库具有以下优势:
01.XML数据库能够对半结构化数据进行有效的存取和管理。
02.提供对标签和路径的操作。
03.当数据本身具有层次特征时。XML数据格式能够清晰表达数的层次特征, XML数据库便于对层次化的数据进行操作。

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

3.SQL Server 中的XML语句的例题
在这里插入图片描述

4.SQL Server 中的XML数据类型
在这里插入图片描述

5.XML索引类型
在这里插入图片描述

6.操作XML
04
考点4 : XML数据库
4.操作XML
SQL Server 2008中支持使用XQuery语言来查询XML数据类型,其常用的方法主要包括:
01.用于查询XML实例中XML结点的Query方法。
02.用于描述XML实例中获取结点获元素值的Value方法。
03用于判断查询是否返回空结果的Exist方法。
04用于在XML实例中插入、修改和删除结点的Modify方法

猜你喜欢

转载自blog.csdn.net/weixin_47288291/article/details/123586166