分布式系统学习——分布式存储与数据库系统
分布式数据库系统
什么是分布式数据库,分布在计算机网络上逻辑相互关联的
DDBS,
分布式
数据特性,
文件的操作,如何做索引,大数据排序。数据库的实现上还是经常用到了底层文件
自己查!!!
分布式数据库系统的特点
集中和自治相结合
- 适当增加数据冗余度
- 提高系统的可靠性、可用性
- 提高系统性能
- 全局的一致性、可串行性
分布式数据库系统的体系结构
!图
数据分片
分片应满足的条件:
- 完全性
- 不相交性
- 可重构性
分布透明性
分片透明性(最高层次)
用户或程序只对全局关系进行操作而不必考虑关系分片
位置透明
不必了解片段的存储场地,当存储场地变了,分片模式到分布模式的映像,不必改变
局部数据模型透明
用户不用考虑局部 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 的一种特殊的子查询物化技术
优化算法
基本代价模型
- 代价组件
- 组件权值
- 单个操作的代价
基于半连接的优化策略与连接优化策略。
采用连接方案还是半连接方案,取决于数据传输和局部处理的相对费用。若传输费用是主要的,则采用半连接方案;若局部处理费用是主要的,采用连接方案。
同一个场地的两个关系
- 嵌套循环法:
- 排序扫描法:
若两个关系在不同场地
- 整体传输
- 按需传输
上述方案可以搭配使用
分布事务管理
自学
分布式事务执行的控制模型
- 主从控制模型
- 三角控制模型
- 层次控制模型
小结
- DDBS 的基本特点:物理分布性、逻辑整体性、场地自治性、场地见的协作性
- DDBS 的分类:同构同质、同构异质
- 分布透明性的三个级别
- 半连接优化算法的操作过程
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!