计算机三级数据库技术备考笔记(十三)

第十三章 大规模数据库架构

  • 分布式数据库
    • 分布式数据库系统概述
      • 分布式数据库系统是物理上分散、逻辑上集中的数据库系统。系统中的数据分布在物理位置不同的计算机上(通常称为场地、站点或结点,本章均用场地来描述),由通信网络将这些场地连接起来,每个场地既有独立处理的能力,也可以和其他场地协同工作。
      • 分布式数据库则是分布式数据库系统中各场地上数据库的逻辑集合
    • 分布式数据库目标与数据分布策略
      • 目标
        • 本地自制
        • 非集中式管理
        • 高可用性
        • 位置独立性
        • 数据分片独立性
        • 数据复制独立性
        • 分布式查询处理
        • 分布式事务管理
        • 硬件独立性
        • 操作系统独立性
        • 网络独立性
        • 数据库管理系统独立性
      • 策略
        • 数据分片:按照一定规则将某一个全局关系划分为不同的片段,这些片段中包含足够的信息可以使关系重构。分片是对关系的操作
          • 水平分片是在关系中从行的角度(元组)依据一定条件划分为不同的片断,关系中的每一行必须至少属于一个片断,以便在需要时可以重构关系。
          • 垂直分片是在关系中从列的角度(属性)依据一定条件分为不同的片断,各片断中应该包含关系的主码属性,以便通过连接方法恢复关系。
          • 导出分片是导出水平分片,分片的依据不是本关系属性的条件,而是其他关系属性的条件
          • 混合分片是指以上三种方法的混合,
        • 数据分配:在数据分片的基础上将这些片段分配存储在各个场地上,对分片结果的操作
          • 集中式:所有数据片断都安排在一个场地上。便于控制,但数据过于集中,负载过重,易形成瓶预,可靠性较差:
          • 分割式:所有全局数据有且只有一份,它们被分割成若干片断,每个片断被分配在一个特定场地上。对局部数据控制灵活,但对全局数据存取效率较低
          • 全复制式:全局数据有多个副本,每个场地上都有一个完整的数据副本。可靠性高,响应速度快,但数据冗余量大,同步维护复杂
          • 混合式:全局数据被分为若干个数据子集,每个子集被安排在一个或多个不同的场地上但是每个场地未必保存所有数据。这是一种介于分割式和全复制式之间的一种分布方式。灵活性较大,可依据不同情况扬长避短,取得较高效率
    • 分布式数据库系统的体系结构
      • 分布式数据库的参考模式结构
        • 全局外模式:是全局应用的用户视图,即终端用户看到的逻辑上并未分布的表、视图等。
        • 全局概念模式:描述全体数据的逻辑结构和特征。
        • 分片模式:描述每个数据片断以及全局关系到片断的映像,是分布式数据库系统中全局数据的逻辑划分视图。
        • 分配模式:描述各片断到物理存放场地的映像。
        • 局部概念模式:描述全局关系在场地上存储的物理片断的逻辑结构以及特征。
        • 局部内模式:描述局部概念模式涉及的数据在本场地的物理存储。
      • 分布透明性
        • 分片透明性。分片透明性是最高级别的透明性,位于全局概念模式与分片模式之间分片透明性是指数据分片是用户无需考虑的,完全透明的,在编写程序时用户只需要对全局关系进行操作,这样简化了应用程序的维护,当数据分片有所改变时,应用程序不会受到影响。
        • 位置透明性。位置透明性是指数据分片的分配位置对用户是透明的,用户编写程序时只需要考虑数据分片情况,不需要了解各分片在各个场地的分配情况。
        • 局部数据模型透明性。局部数据模型透明性处于分配模式与局部概念模式之间,它使用户在编写应用程序时不但要了解全局数据的分片情况,还要了解各片断的副本复制情况及各片断和它们副本的场地位置分配情况,但是不需要了解各场地上数据库的数据模型
      • 分布式数据库管理系统
        • 概念:分布式数据库管理系统适用于支持分布式数据库的创建、运行、管理和维护的一种数据库管理软件,它能够对各个场地的软硬件资源进行管理,为用户提供数据接口。
        • 组成
          • 全局数据库管理系统GDBMS:是分布式数据库管理系统的核心,它为终端用户提供分布透明性,协调全局事务在各个场地的执行,为全局应用提供支持。
          • 全局数据字典GDD:提供系统的各种描述、管理和控制信息,如为系统提供各级模式描述、存取权限定义、事务优先级,完性约束与相容性约束,数据的分割及其定义,副本数据及其所在场地存取路径、死锁检测、预防及故障恢复,以及与数据库运行质量有关的统计信息等。
          • 局部数据库管理系统LDBMS:负责创建和管理局部数据库,提供场地自治能力,执行全局应用以及全局查询的子查询。
          • 通信管理CM:负责在各个场地之间传送数据和消息,为各场地的协同工作提供可靠通信。
    • 分布式数据库的相关技术
      • 分布式查询
        • 分布式查询优化策略:
          • 操作执行的顺序
          • 操作的执行算法(主要是连接操作和并操作)
          • 不同场地间数据流动的顺序
        • 基于半连接的优化策略和基于连接的优化策略
      • 分布事务管理
        • 恢复控制:基于两段的提交协议
        • 并发控制:基于封锁协议
  • 并行数据库
    • 并行数据库概述
    • 并行数据库系统结构
      • P表示处理机,M表示内存,D表示磁盘
      • 共享内存结构(Shared Memory):所有的处理机通过互联网共享一个公共的主存储器
      • 共享磁盘结构(Shared Disk):所有的处理机拥有独立的主存储器,通过互联网共享磁盘
      • 无共享结构(Shared Nothing):每个处理机拥有独立的主存储器和磁盘,不共享任何资源

      • 层次结构(Hierarehical):分为两层,顶层是由若干节点组成的无共享结构,底层是共享内存或共享磁盘结构
    • 数据划分与并行算法
      • 一维数据划分
        • 轮转法(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数据库。
    • SQL Server 2008与XML
  • 错题笔记
    • 并行数据库系统的主要目的是通过高速通信介质连接多个可独立处理的单元以并行执行的方式完成对数据库系统的互联查询、内部查询及各种内部操作。分布式数据库系统的主要目的才是实现场地自治和数据全局透明共享。
    • 轮转法:对关系顺序扫描,将第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,一经查实,立即删除!

相关文章

大语言模型总结整理(不定期更新)

《【快捷部署】016_Ollama(CPU only版)》 介绍了如何一键快捷部署Ollama,今天就来看一下受欢迎的模型。 模型简介gemmaGemma是由谷歌及其DeepMind团队开发的一个新的开放模型。参数:2B(1.6GB)、7B&#xff…

VMware安装Red Hat7.9

1、下载Red Hat Enterprise Linux7.9版本 【百度网盘下载】 链接:https://pan.baidu.com/s/1567NfZRF48PBXfUqxumvDA 提取码:bm7u 2、在虚拟机中创建Red Hat7.9 【点击创建虚拟机】 【自定义高级】 【选择光盘映像安装】 全名自定义即可 【虚拟机命…

Dual-AMN论文翻译

Boosting the Speed of Entity Alignment 10: Dual Attention Matching Network with Normalized Hard Sample Mining 将实体对齐速度提高 10 倍:具有归一化硬样本挖掘的双重注意力匹配网络 ABSTRACT 寻找多源知识图谱(KG)中的等效实体是知识图谱集成的关键步骤&…

分享 WebStorm 2024 激活的方案,支持JetBrains全家桶

大家好,欢迎来到金榜探云手! WebStorm公司简介 JetBrains 是一家专注于开发工具的软件公司,总部位于捷克。他们以提供强大的集成开发环境(IDE)而闻名,如 IntelliJ IDEA、PyCharm、和 WebStorm等。这些工具…

Zynq学习笔记--AXI 总线概述

目录 1. AXI总线概述 1.1 主要特点 1.2 通道功能 1.3 信号概览 2. AXI Interconnect 2.1 信号说明 2.2 内部结构 3. PS-PL AXI Interface 3.1 AXI FPD/LFP/ACP 3.2 Address Editor 3.3 地址空间 3.4 AXI-DDR 4. 通过ILA观察AXI信号 4.1 AXI 读通道 1. AXI总线概述…

故障诊断 | Matlab实现基于小波包结合鹈鹕算法优化卷积神经网络DWT-POA-CNN实现电缆故障诊断算法

故障诊断 | Matlab实现基于小波包结合鹈鹕算法优化卷积神经网络DWT-POA-CNN实现电缆故障诊断算法 目录 故障诊断 | Matlab实现基于小波包结合鹈鹕算法优化卷积神经网络DWT-POA-CNN实现电缆故障诊断算法分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现基于小波…

复杂DP算法(动态规划)

复杂DP算法 一、线性DP例题1、鸣人的影分身题目信息思路题解 2、糖果题目信息思路题解 二、区间DP例题密码脱落题目信息思路题解 三、树状DP例题生命之树题目信息思路题解 一、线性DP 例题 1、鸣人的影分身 题目信息 思路 题解 #include <bits/stdc.h> #define endl …

funasr 麦克风实时流语音识别

参考: https://github.com/alibaba-damo-academy/FunASR chunk_size 是用于流式传输延迟的配置。[0,10,5] 表示实时显示的粒度为 1060=600 毫秒,并且预测的向前信息为 560=300 毫秒。每个推理输入为 600 毫秒(采样点为 16000*0.6=960),输出为相应的文本。对于最后一个语音…

Thinkphp6接入PayPal支付

沙盒环境示例 创建扩展封装类 <?php namespace lib;class PayPalApi {//clientIdprivate $clientId;//clientSecretprivate $clientSecret;//服务器地址private $host https://api-m.sandbox.paypal.com/;//主机头private $headers [];//api凭证private $token ;//报文…

YOLO系列简记

本文主要参考了论文 A Comprehensive Review of YOLO Architectures in Computer Vision: From YOLOv1 to YOLOv8 and YOLO-NAS&#xff0c;以及其中提到的各 YOLO 原论文。 NMS 对所有检测框&#xff0c;按置信度降序排序。选择最高置信度的检测框&#xff0c;添加到最终结果…

java学习之路-继承

文章目录 前言 目录 1.1继承的概念 1.2继承有什么好处&#xff0c;为何要继承 1.3继承的语句 1.4父类成员的访问 1.4.1 子类中访问父类的成员变量 1.4.2 子类中访问父类的成员方法 1.5 super关键字 2.子类构造方法 2.1如何创建构造方法 2.2创建构造方法 3.super和this 【相同点…

C++(2) —— 通讯录管理系统

目录 1、系统需求 2、创建项目 3、菜单功能 4、退出功能 5、添加联系人 6、显示联系人 7、删除联系人 8、查找联系人 9、修改联系人 10、清空联系人 1、系统需求 2、创建项目 3、菜单功能 // 1、菜单界面 void showMenu() {cout << "--------------------…

团结引擎+OpenHarmony 1配置篇

团结引擎OpenHarmony 1 配置篇 app团结鸿蒙化第一课一 DevEco Studio 下载安装二 团结引擎三 出包 app团结鸿蒙化第一课 1 团结引擎配置2 DevEco Studio 配置 一 DevEco Studio 下载安装 申请开发者套件 1 注册华为账号 签署协议 官网 2 认真填写 DevEco Studio 开发套件申请…

etcd相关知识整理归纳 —— 筑梦之路

什么是etcd? Etcd 是 CoreOS 团队于2013年6月发起的开源项目&#xff0c;它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法&#xff0c;Etcd基于 Go 语言实现。 名字由来&#xff0c;它源于两个方面&#xff0c;unix的“/etc”文件…

JAVA实现人工智能,采用框架SpringAI

Spring AI介绍 Spring AI是AI工程师的一个应用框架&#xff0c;它提供了一个友好的API和开发AI应用的抽象&#xff0c;旨在简化AI应用的开发工序&#xff0c;例如开发一款基于ChatGPT的对话应用程序。 项目地址&#xff1a;https://github.com/spring-projects-experimental/sp…

FFmpeg: 自实现ijkplayer播放器--09音频重采样输出

文章目录 流程图音视设备输出回调函数重采样写入音频流因SDL输出音频采样格式为S16(一个采样点2个字节),而音频解码后采样格式通常为float planar(一个采样点4个字节),故需要重采样 重采样的条件:音频解码后的任意一个参数和需要的参数不同时,进行重采样,参数为: 采样格…

格式化D盘后C盘内的文件会受影响吗?深度解析

在计算机的日常使用中&#xff0c;磁盘格式化是一个常见的操作&#xff0c;它能帮助我们清除磁盘上的数据&#xff0c;为新的数据腾出空间。然而&#xff0c;当涉及到系统盘和其他存储盘时&#xff0c;许多用户会担心一个问题&#xff1a;如果我格式化了非系统盘&#xff0c;比…

【Kafka】Kafka 架构深入

Kafka 工作流程及文件存储机制 Kafka 中消息是以 topic 进行分类的&#xff0c;生产者生产消息&#xff0c;消费者消费消息&#xff0c;都是面向 topic 的。 topic 是逻辑上的概念&#xff0c;而 partition 是物理上的概念&#xff0c;每个 partition 对应于一个 log 文件&am…

认识异常(2)

❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&a…

gemini1.5 API调用

https://ai.google.dev/pricing?hlzh-cn 查询可用的model https://generativelanguage.googleapis.com/v1beta/models?keyxxx 使用postman调用 https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent?keyxxx https://ai.google…