Distributed Database Systems
- Distributed Database Systems
- Introduction
- Database Distribution
- Strategies of Data Distribution
- Unit of Data Distribution
- Problems Caused by Data Distribution
- Federated Database
- Query Optimization in DDBMS
- Recovery Mechanism in DDBMS
- Concurrency Control in DDBMS
Introduction
分布型数据具有同一的全局模式,并且所有数据分散存储在不同的节点中。
每个节点本身就是一个小数据库,有自己的DMS,并且负责一部分业务。
在分配业务时,该节点负责的业务尽量只用到本节点所存储的数据,因为网络传输会有时延,影响系效率。
Features of DDBS:
- Distribution
- Correlation
- DDBMS
different optimizing goal:集中式:寻道时间;分布式:网络传输时延
simultaneously:同时地
Database Distribution
Strategies of Data Distribution
Centralized:把集中式CS模式,看做是分布式系统的特例
Partitioned:同一份数据没有副本
Replicated:没个节点都存储整个数据库的内容,适用于以读为主的数据库
Hybrid:每个节点存储数据库的任意一部分,存在数据副本
Unit of Data Distribution
partition:隔离
所以需要以fragments作为数据单元(Unit)
disjointness:不相交性
Problems Caused by Data Distribution
Multi copies’ consistency:对某一个裂片的更新要同步到它的不同副本上
Distribution consistency:张三由9系改到4系,但是却还在9系的裂片里
ACK是发到总控模块
3)数据逻辑上是一份,但是物理上在不同节点会存在多个副本,所以在进行操作时需要进行副本选择
4)大多数查询需要在本地模块解决,减少跨模块查询
Federated Database
集成异构数据库,松耦合
CS:已有的概念模式
ES:可共享的数据
IS:输入模式
FS:集成了,用户针对联邦模式写查询
CS->ES>IS之间可以有映射
CS->ES:把学生成绩映射成主课成绩
ES->IS:转换成优良中差
最后这些输入输出模式都会趋于稳定,CS和IS对用户构成了一个同一的接口FS
synthesized:合成
Query Optimization in DDBMS
Algebra optimization:代数优化和集中式一致,操作优化则需要先转换
代数优化和几种式是一样的,由于R1,R2在不同的节点,所以要把其中一个节点发送到另一个上,所以操作优化会考虑哪个更小,就send哪个
Recovery Mechanism in DDBMS
困难在与保证数据的一致性,如银行转账的例子。数据的一致性需要原子性来保证,就是同时提交同时撤销,但是网络不稳定,不可靠的。
解决方法是里用两段提交协议“two phase commitment protocol”保证原子性
Concurrency Control in DDBMS
同集中式:关键原则是可串行化
locking golobally:存在数据副本,物理上是两个,逻辑上是一个,所以要考虑全局的数据访问冲突
Global deadlock: