计算机三级数据库技术备考笔记(十三)
第十三章 大规模数据库架构
- 分布式数据库
- 分布式数据库系统概述
- 分布式数据库系统是物理上分散、逻辑上集中的数据库系统。系统中的数据分布在物理位置不同的计算机上(通常称为场地、站点或结点,本章均用场地来描述),由通信网络将这些场地连接起来,每个场地既有独立处理的能力,也可以和其他场地协同工作。
- 分布式数据库则是分布式数据库系统中各场地上数据库的逻辑集合
- 分布式数据库目标与数据分布策略
- 策略
- 数据分片:按照一定规则将某一个全局关系划分为不同的片段,这些片段中包含足够的信息可以使关系重构。分片是对关系的操作
- 水平分片是在关系中从行的角度(元组)依据一定条件划分为不同的片断,关系中的每一行必须至少属于一个片断,以便在需要时可以重构关系。
- 垂直分片是在关系中从列的角度(属性)依据一定条件分为不同的片断,各片断中应该包含关系的主码属性,以便通过连接方法恢复关系。
- 导出分片是导出水平分片,分片的依据不是本关系属性的条件,而是其他关系属性的条件
- 数据分配:在数据分片的基础上将这些片段分配存储在各个场地上,对分片结果的操作
- 集中式:所有数据片断都安排在一个场地上。便于控制,但数据过于集中,负载过重,易形成瓶预,可靠性较差:
- 分割式:所有全局数据有且只有一份,它们被分割成若干片断,每个片断被分配在一个特定场地上。对局部数据控制灵活,但对全局数据存取效率较低
- 全复制式:全局数据有多个副本,每个场地上都有一个完整的数据副本。可靠性高,响应速度快,但数据冗余量大,同步维护复杂
- 混合式:全局数据被分为若干个数据子集,每个子集被安排在一个或多个不同的场地上但是每个场地未必保存所有数据。这是一种介于分割式和全复制式之间的一种分布方式。灵活性较大,可依据不同情况扬长避短,取得较高效率
- 分布式数据库系统的体系结构
- 分布式数据库的参考模式结构
- 全局外模式:是全局应用的用户视图,即终端用户看到的逻辑上并未分布的表、视图等。
- 分片模式:描述每个数据片断以及全局关系到片断的映像,是分布式数据库系统中全局数据的逻辑划分视图。
- 局部概念模式:描述全局关系在场地上存储的物理片断的逻辑结构以及特征。
- 局部内模式:描述局部概念模式涉及的数据在本场地的物理存储。
- 分布透明性
- 分片透明性。分片透明性是最高级别的透明性,位于全局概念模式与分片模式之间分片透明性是指数据分片是用户无需考虑的,完全透明的,在编写程序时用户只需要对全局关系进行操作,这样简化了应用程序的维护,当数据分片有所改变时,应用程序不会受到影响。
- 位置透明性。位置透明性是指数据分片的分配位置对用户是透明的,用户编写程序时只需要考虑数据分片情况,不需要了解各分片在各个场地的分配情况。
- 局部数据模型透明性。局部数据模型透明性处于分配模式与局部概念模式之间,它使用户在编写应用程序时不但要了解全局数据的分片情况,还要了解各片断的副本复制情况及各片断和它们副本的场地位置分配情况,但是不需要了解各场地上数据库的数据模型
- 分布式数据库管理系统
- 概念:分布式数据库管理系统适用于支持分布式数据库的创建、运行、管理和维护的一种数据库管理软件,它能够对各个场地的软硬件资源进行管理,为用户提供数据接口。
- 组成
- 全局数据库管理系统GDBMS:是分布式数据库管理系统的核心,它为终端用户提供分布透明性,协调全局事务在各个场地的执行,为全局应用提供支持。
- 全局数据字典GDD:提供系统的各种描述、管理和控制信息,如为系统提供各级模式描述、存取权限定义、事务优先级,完性约束与相容性约束,数据的分割及其定义,副本数据及其所在场地存取路径、死锁检测、预防及故障恢复,以及与数据库运行质量有关的统计信息等。
- 局部数据库管理系统LDBMS:负责创建和管理局部数据库,提供场地自治能力,执行全局应用以及全局查询的子查询。
- 通信管理CM:负责在各个场地之间传送数据和消息,为各场地的协同工作提供可靠通信。
- 并行数据库
- 数据划分与并行算法
- 一维数据划分
- 轮转法(Round-Robin)。该策略顺序扫描整个关系,将元组依次划分到n个磁盘上,即元组r0分配到D0,r1分配到D1,…,rn-1分配到Dn-1 ,rn分配到Dn……,一般来讲,r,分配到D上。轮转法保证了元组在多个磁盘上平均分配,最多相差1。该策略最适合于扫描整个关系的应用。
- 散列划分(Hash Partitioning)。该策略使用一个值域为{0,1,2,…,n-1}的散列函数,选取关系中的一个或多个属性作为划分属性,根据这个划分属性进行散列,如果散列函数返回就把这个元组分配到磁盘D中。散列划分方法能够比轮转法更加适合于点查询。对于顺序扫描关系也是非常高效的。
- 范围划分(RangeParilioning)。该策略按照关系中某个属性的取值范围将数据文件划分为部分,分别存放到磁盘上。
- 云计算数据库架构
- 云数据库体系结构
- 目前主要的云计算平台有Amazon的AWS(Amazon Web Serviees)、Google的CAE(Google AppEngine)以及开放的云计算平台Hadoop。
- Google使用的云计算基础架构模式包括四个相互独立又紧密结合在一起的系统。它包括Google建立在集群之上的文件系统Google File System,分布式编程环境Map/Reduce,分布式的锁机制Chubby以及Google 开发的模型简化的大规模分布式数据库Big Table。其结构框架如图下所示:
- BigTable 是Google的云数据库,是一个分布式的结构化数据存储系统,它用于对海量数据进行处理、存储和查询。
- BigTable数据模型
- BigTable 表的索引是行关键字(Row Key)、列关键字(Column Key)和时间戳(Timeslamp),每个单元(Cell)由行关键字、列关键字和时间截共同定位,即(row,column,imestamp)cell contents。
- XML数据库(eXtensible Markup Language 可扩展标识语言)
- XML数据库概述
- XML数据库是一种支持对XML格式文档进行存储和查询等操作的数据库管理系统。在系统中,开发人员可以对数据库中的XML文档进行查询,导出和指定格式的序列化。
- 分类
- XMLEnabled Database(XEDB),即能处理XML的数据库。其特点是在原有的数据库系统上扩充对XML数据的处理功能,使之能适应XML数据存储和查询的需要。
- Native XML Database(NXD),即纯XML数据库。其特点是以自然的方式处理XML数据,以XML文档作为基本的逻辑存储单位,针对XML的数据存储和查询特点专门设计适用的数据模型和处理方法。
- Hybrid XML Database(HXD),即混合XML数据库。根据应用的需求,可以视其为XEDB或NXD数据库。
- 错题笔记
- 并行数据库系统的主要目的是通过高速通信介质连接多个可独立处理的单元以并行执行的方式完成对数据库系统的互联查询、内部查询及各种内部操作。分布式数据库系统的主要目的才是实现场地自治和数据全局透明共享。
- 轮转法:对关系顺序扫描,将第i个元组存储到标号为Dimod的磁盘上,该方式保证了元组在多个磁盘上均匀分布。
- 散列划分:选定一个值域为{0,1,…,n-1}的散列函数,对关系中的元组基于划分属性进行散列,如果散列函数返回i,则将其存储到第i个磁盘。
- 范围划分:根据表中某个属性取值区间划分成不同的子区间,然后根据表中的属性值属于的不司区间将表分成不同的子表。
- 多维划分:维是人们观察事物的角度,同样的数据从不同的维进行观察可能会得到不同的结果,如从各个分店的角度、各种商品的角度(商品ID)等,而每个维度又可按粒度的不同划分成多个层次,称为维度成员。
- 分布式数据库的分配方式包括集中式、分割式、全复制式、混合式。集中式指所有数据片段都安排在一个场地上;分割式指全局数据有且只有一份,它们被分割成若干片段,每个片段被分配在一个特定场地上;全复制式是在每个站点上,都有全局数据的复制样本,数据的冗余性最大;混合式是指部分站点上是全局数据的若干片段,部分站点上是全局数据的副本。
- 分布式数据库采用数据分片对数据进行管理,分片有以下三个原则:
- ① 完整性原则,即全局关系的所有数据项必须包含在某个片段中,否则将导致数据库不完整,造成某些片段数据丢失;
- ③不相交原则(对垂直分片的主键除外),对于一个全局关系,要保证数据不丢失,则必须要属于某个片段,即不允许不属于任何一个片段,也不允许一个全局关系的某些数据既属于该全局关系的某些片段又属于该全局关系的另一个片段(垂直关系中的码属性除外)。
- 关于并行数据库
- ①共享内存的优势是实现简单,缺点是由于共享内存,如果处理器数量过多,容易造成访问内存冲突。
- ②共享磁盘结构所有的处理机拥有独立的主存储器,通过互联网共享磁盘。这种结构可以克服共享内存结构,但是由于是通过互联网实现处理器之间的信息交换,会产出一定的通信代价。
- ③无共享结构每个处理机拥有独立的主存储器和磁盘,不共享任何资源。它被认为是支持并行数据库系统的最好并行结构,比较适用于银行、出纳、民航售票等0LTP类应用。
- ④分布式数据库系统的主要目的是实现场地自治和数据全局透明共享。
- 范围划分有利于范围查询及点查询;轮转法最适合于扫描整个关系的应用,在扫描时可以并行的从n个磁盘读取数据,负载均衡,充分发挥了并行性;散列划分适合于点查询。
- 无共享结构被认为是支持并行数据库系统的最好并行结构,它通过最小化共享资源来降低资源竞争的概率,具有极高的可扩展性,并可在复杂数据库查询处理和联机事务处理过程中达到近线性的加速比,因此,无共享结构比较适合0LTP之类的应用。
- XML数据库是一种支持对XML格式文档进行存储与查询等操作的数据库管理系统,在现阶段,XML数据处理主要依靠关系型数据库厂商在传统商业产品中扩充XML处理能力来实现;XML数据库能够对半结构化数据进行有效的存取与管理;XML Enabled DB(XEDB)在原有的数据库系统上扩充对XML数据的处理功能,使之能适应XML数据存储和查询的需要;XML数据库适合管理复杂数据结构的数据集,当数据本身具有层次特征时,由于XML数据格式能够清晰表达数据的层次特性,因此XML数据库便于对层次化的数据进行操作。
- 位置独立性、数据分片独立性和数据复制独立性是使分布式数据库具有分布式透明性的主要因素。
- 并行数据库仅仅依靠多处理器、共享硬件等手段无法实现真正意义上的并行处理,只有当数据分布合理,易于并行处理才能将并行数据库的性能最优化。合理的数据划分可以使查询处理时间最小化,并行处理性能最大化
- 云计算是一种商业计算模型,它通过集中所有的计算资源,采用硬件虚拟化技术,为云计算使用者提供强大的计算能力、存储空间和信息服务,获得与传统大型服务器相同或者更高的计算能力。
- 三级加锁协议也称为三级封锁协议,它保证正确地调度事务的并发操作,是事务对数据库对象加锁、解锁必须遵守的一种规则。在运用x锁和s锁对数据对象加锁时,还需要约定一些规则 ,例如何时申请x锁或S锁、持锁时间、何时释放等。
- 数据在网络中传输时,则是以整个关系(也可以是片段)传输,显然这是一种冗余的方法。在一个关系传输到另一场地后,并非每个数据都参与连接操作,因此,不参与连接的数据或无用的数据不必在网络中来回传输。采用半连接操作即可在网络中只传输参与连接的数据。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/542540.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!