NCRE-三级数据库技术-第13章-大规模数据库架构

文章适用于计算机等级考试NCRE三级数据库技术,内容来源于网络,文章内容侵删,如果文章和个人的理解有出入,请务必以自己的知识储备为准,仅做参考

13.1 分布式数据库技术

13.1.1 分布式数据库概述

  • 分布式数据库系统:物理上分散、逻辑上集中的数据库系统
  • 分布式数据库:分布式DBS在各个场地上DB的逻辑集合

13.1.2 分布式数据库目标

  • 基本特征:本地自治、非集中式管理、高可用性
  • 分布透明性:位置独立性、数据分片独立性、数据复制独立性
  • 复杂性:分布式查询、事务管理
  • 环境独立:硬件独立性、OS独立性、网络独立性、DBMS独立性

13.1.3 数据分布策略

1. 数据分片(从概念到逻辑)
  • 水平分片:每个分片是原表中记录的子集
  • 垂直分片:每个分片是原表中属性的子集
  • 导出分片:导出水平分片
  • 混合分片:以上三种的融合
2. 数据分配(从逻辑到物理)
  • 集中式分配:所有数据片段安排在一个场地上
  • 分割式分配:所有全局数据只有一份,被指定到若干场地
  • 全复制式分配:全局数据有多个副本,每个场地上有一个完整的数据副本
  • 混合式:介于分割与全复制式之间

13.1.4 透明性

  • 分片透明性:用户无需考虑数据分配
  • 位置透明性:用户只需考虑分片情况,不需要考虑数据分片位置
  • 局部数据模型透明性:用户需要了解分片、副本复制、位置分配情况

13.1.5 分布式数据库相关技术

1. 分布式查询
  • 用户与分布式DBS的接口
  • 需要考虑:操作执行的顺序、操作的执行算法、不同场地间的数据流动和顺序
2. 分布式事务管理
  • 恢复控制:基于两阶段提交协议(准备阶段和提交阶段)
  • 并发控制:基于封锁协议

13.2 并行数据库技术

13.2.1 并行数据库概述

  • 并行DBS:通过并行实现数据操作,提高系统性能
  • 优势:高可用性

13.2.2 并行数据库结构

结构类型 描述
共享内存系统 多个CPU通过网络访问共同内存,CPU增多容易内存冲突
共享磁盘系统 多个CPU拥有自己的内存,通过网络共享硬盘,增加了通信代价
无共享资源系统 多个CPU拥有自己的内存和磁盘,通过网络通信,通信代价最高
层次结构 前三种体系的结合,分为顶层(无共享)和底层(共享内存或共享硬盘)

13.2.3 一维数据划分方法

  • 一维数据划分:将大数据集水平划分到多个磁盘,以通过并行读写有效利用多磁盘的I/O带宽

  • 轮转法:如果系统有n个CPU,将第i条记录划分到第i mod n个CPU的方法

  • 散列法:使用特定的哈希函数,作用于选定的属性,将记录划分到不同CPU

  • 范围划分法:先排序,后分区,每个区域分配给不同CPU

  • 优劣势分析

    • 轮转法可有效应用于需要访问整个关系的查询处理,当需要访问部分记录时,散列法和范围法更优;
    • 范围法可能导致数据倾斜,即不同分片含有的记录数目差别很大,造成性能瓶颈;
    • 散列法优点:即使数据随时间增加或减少,也能保持均匀分布

13.2.4 并行算法

  • 并行排序

    1. 用区域划分法将关系的所有记录重新分布再排序
    2. 每个CPU使用排序算法对分配给它的记录排序,得到有序序列
    3. 通过按照区域划分的对应次序访问处理机得到完整的有序关系
  • 并行连接

    • 对关系A和B重新划分,把连接属性的取值分为k个区域

13.3 云数据库技术

13.3.1 云的概念和类型

  • :云计算供应商(一般为网络大厂)的数据中心的软硬兼施
    • 公有云:以即用即付的方式提供给大众
    • 私有云:不对大众进行公开
    • 混合云:公有云和私有云混合

13.3.2 云计算概述

  • 云计算:一种商业计算模型,将计算任务分布在大量计算机构成的资源池上,使各种APP能够根据需要获取算力、存储空间和信息服务

13.3.3 云计算来源和组成

  • 并行计算:同时使用多种计算资源解决计算问题
  • 分布式计算:将大任务分解成小任务,分发给不同计算设备,计算后再汇总
  • 网格计算:在动态、多机构参与的虚拟组织中共同解决计算问题

13.3.4 云计算服务类型

  • IaaS:Infrastructure as a Service,基础设施作为服务,主要提供硬件设备
  • PaaS:Platform as a Service,平台作为服务,将硬件加工为软件平台提供
  • SaaS:Software as a Service,软件作为服务,将硬件和平台加工为软件提供

13.3.5 云数据库体结构

  • 云数据库:云+数据库
  • 主要平台:AWS(Amazon Web Services)、GAE(Google App Engine)、Hadoop

13.3.6 云计算技术体系结构

(文档中此节无具体内容)

13.3.7 谷歌云

  • Google File System:文件系统
  • Map/Reduce:分布式编程环境
  • Chubby:分布式锁机制
  • Big Table:大规模分布式数据库

13.3.8 云数据库缺点

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

13.4 XML数据库技术

13.4.1 XML数据库概述

  • XML:eXtensible Markup Language,可扩展标识语言,半结构化语言
  • XML数据库:可以对XML文档格式进行存储和查询操作的数据库

13.4.2 XML数据库类型

  • XML Enabled Database (EXDB):能处理XML的数据库
  • Native XML Database (NXDB):纯XML数据库
  • Hybird XML Database (HXDB):混合XML数据库

13.4.3 XML数据库优势

  • 能够对半结构化数据进行处理
  • 能够对标签和路径进行操作
  • 能清晰的表达数据的层次特征

13.4.4 SQL SERVER与XML

  • 返回XML语句SELECT * FROM table FOR XML

  • XML类型字段

    sql 复制代码
    CREATE table(uid int, content xml)
    `
相关推荐
前进的李工2 小时前
MySQL用户管理与权限控制指南(含底层架构说明)
开发语言·数据库·sql·mysql·架构
刘~浪地球2 小时前
Redis 从入门到精通(十一):持久化配置
数据库·redis·缓存
正在走向自律2 小时前
深度剖析 KES 行标识体系:OID 与 ROWID 核心原理、实战案例及性能优化
数据库·oid·kes·rowid
一直都在5722 小时前
MySQL索引优化
android·数据库·mysql
wjp@0013 小时前
SQL server导出导入数据
运维·服务器·数据库
脑子加油站3 小时前
MySQL8数据库高级特性
数据库·mysql
REDcker3 小时前
OpenSSL:C 语言 TLS 客户端完整示例
c语言·网络·数据库
zly35003 小时前
centos7 mysql 无法被远程连接
数据库·mysql
廿一夏3 小时前
MySql的增删改查
数据库·mysql·dba