分布式数据库(笔记)

课程链接:015_数据库系统的用户接口以及SQL语言(一)_哔哩哔哩_bilibili

1、分类

DDB:物理上分散,逻辑上集中

特点:

  • 有统一的全局模式
  • 靠分布式数据库管理系统实现 DDBMS
  • 分布在网络的不同节点上

优点:

  • 具有局部自治性
  • 灵活性高(可以在多个节点上有相同副本)
  • 系统成本低(方便加节点)
  • 高效率(满足本地的日常存取需求90%,10%通过其他网络)
  • 并行性

缺点:

  • 难以集成多个已有的数据库(分布式数据库最好从头开始)
  • 设计、实现、应用、维护复杂

分布式数据库存在的问题:

  • 查询优化,减少网上的数据传输量
  • 并发控制,考虑网络的全局冲突
  • 恢复机制,数据如何保持一致(转账)(故障组合)
  • 数据分布问题,如何切割数据

FDBS:物理上分散,逻辑上分散 (联邦式数据库)

  • 多个已有数据库做集成

2、数据分布

数据分布策略

  • 集中式:分布式系统,数据集中存放(特例)
  • 划分式:数据切割,存在不同的节点,节点之间数据不重复
  • 全复制:网络每个节点数据库都是完整数据(适合只读数据库,更新要全部更新)
  • 混合式:上面方式的混合(按照应用需要放数据,可以重复、可以划分)

数据分布单元

  • 关系单元(粒度粗)
  • 裂片单位
    • 水平分割(元组)
    • 垂直分割(属性)
    • 混合方式:水平+垂直

数据分割准则

  • 保证数据完整性
  • 可重构性
  • 不相交性(水平分割时需要满足)

数据分布带来的问题

(前三个是DDBMS问题,最后是数据库设计问题)

  • 多副本一致性问题(要考虑节点故障情况)
  • 分布一致性问题(保证裂片的不相交)
  • 查询语句转换(把用户查询转化成对裂片查询,副本选择)
  • 数据库分布方案、裂片设计

3、联邦式数据库

  • 采用松耦合方法,相互独立、自治,允许参与耦合的数据库都保持自己的数据模式不变,
  • 没有统一的全局模式
  • 成员之间规定相互之间的输入、输出模式分布式数据库(笔记)_第1张图片
    • FS是联邦模式数据映射,包括输入输出模式 FS=CS+IS
    • CS 是输出模式,IS 是输入模式
    • ES 是其他数据库返回回来的数据,需要转化为IS分布式数据库(笔记)_第2张图片

4、DDBMS的查询优化

  • 优化目标:减少网络上的数据传输
  • 代数优化:关系运算(与关系数据库一样)
  • 操作优化:索引、物理存储结构,还要做转换(针对物理裂片),得到全局执行计划

例子:R2数据量少,那么把R2传送到R1

分布式数据库(笔记)_第3张图片

5、DDBMS的恢复机制

  • 保证ACID,事务准则 2pc,要么同时提交,要么同时上报

分布式数据库(笔记)_第4张图片

6、DDBMS的并发控制

  • 单个节点不能冲突,系统全局也不能冲突
  • 全局死锁问题

分布式数据库(笔记)_第5张图片

你可能感兴趣的:(数据库)