分布式系统学习——分布式存储与数据库系统

分布式数据库系统

什么是分布式数据库,分布在计算机网络上逻辑相互关联的

DDBS,

分布式

数据特性,

文件的操作,如何做索引,大数据排序。数据库的实现上还是经常用到了底层文件

自己查!!!

分布式数据库系统的特点

集中和自治相结合

  1. 适当增加数据冗余度
    1. 提高系统的可靠性、可用性
    2. 提高系统性能
  2. 全局的一致性、可串行性

分布式数据库系统的体系结构

!图

数据分片

分片应满足的条件:

  • 完全性
  • 不相交性
  • 可重构性

分布透明性

  • 分片透明性(最高层次)

    用户或程序只对全局关系进行操作而不必考虑关系分片

  • 位置透明

    不必了解片段的存储场地,当存储场地变了,分片模式到分布模式的映像,不必改变

  • 局部数据模型透明

    用户不用考虑局部 DBMS 所支持的数据模型、使用哪种数据操纵语言。外层针对内模式(Schema)差异透明了。

分布式数据库管理系统

!图

同构、异构、同构同质、同构异质

Components of DDBMS

  • User Processor:
    • User interface用户接口处理器:interpret 用户命令并格式化返回结果。思考:Format 的方法。
    • Semantic data controller语义数据控制器:检查完整性约束与授权。
    • Global query optimizer and decomposer全局查询分解器:查询策略优化。
    • Global monitor全局管程:监视整体进行状态。
  • Data Processor:
    • Local query processor本地查询器:
    • Local ..

总结,DDBMS 由四部分组成

  • 局部数据库
  • 全局数据库
  • ...
  • 全局数据字典

查询处理与优化

Query Processing

  • 高层 high-level 语句扫描,语义更正
  • 高层语句转换为内部查询表示,转化为查询图
  • ...

何时优化

静态优化:在查询执行前(编译阶段),确定优化形式 动态优化:查询执行中进行优化(常为启发式的)

利用 CNF BNF 简化,并进行约束判断。

Rewriting,利用关系代数重写规则。

数据的本地化问题

  • 确定涉及了哪些分片
  • 执行本地化程序
    • 物化
    • semi-join Materialization 是用于 semi-join 的一种特殊的子查询物化技术

优化算法

基本代价模型

  • 代价组件
  • 组件权值
  • 单个操作的代价

基于半连接的优化策略与连接优化策略。

采用连接方案还是半连接方案,取决于数据传输和局部处理的相对费用。若传输费用是主要的,则采用半连接方案;若局部处理费用是主要的,采用连接方案。

同一个场地的两个关系

  • 嵌套循环法:
  • 排序扫描法:

若两个关系在不同场地

  • 整体传输
  • 按需传输

上述方案可以搭配使用

分布事务管理

自学

分布式事务执行的控制模型

  • 主从控制模型
  • 三角控制模型
  • 层次控制模型

小结

  1. DDBS 的基本特点:物理分布性、逻辑整体性、场地自治性、场地见的协作性
  2. DDBS 的分类:同构同质、同构异质
  3. 分布透明性的三个级别
  4. 半连接优化算法的操作过程