物理和逻辑结构
体系结构
基于客户端/服务器的体系结构
分布式数据库的全局数据分布于不同的场地上,由服务器完成绝大部分的数据管理功能(查询优化,事务管理,存储管理等)
客户端除了负责应用和用户接口外,还包括管理客户端缓存数据和事务封锁,用户查询的一致性检查以及客户端与服务器的通信
AP:应用处理器,完成客户端的用户查询处理和分布式数据处理的软件模块。
DP:数据处理器,负责进行数据管理的软件模块,类似于集中数据库管理系统
CM:通信处理器,负责为AP和DP在多个场地之间传送命令和数据,保证数据传输的正确性,安全性和可靠性,保证多个命令报文的发送次序和接收次序一致
基于中间件的客户端/服务器结构
传统客户端/服务器结构是由全局事务管理器统一协调和调度事务的执行,系统的复杂度高,资源利用率低。因此,目前的分布式数据库系统均采用基于中间件的客户端/服务器模式,由中间件实现桥接客户端和服务器的功能。
典型的基于中间件的结构如下图
中间件的核心功能
- 客户请求队列:负责存放所有从客户应用处理器发来的数据请求,同时缓存客户的响应结果
- 负载平衡检测:负责监控数据库服务器的状态及性能,为中间件调度提供依据
- 数据处理:负责处理从数据库返回的数据,按照一定的规范格式传送给AP
- 数据库管理器:负责接收客户请求队列中的客户请求,调用相应的驱动程序管理器,完成相应的数据库查询任务
- 驱动程序管理器:负责调度相应的数据库驱动程序,实现与数据库的连接
- 数据库连接池:通常采用数据库连接池实现与物理数据库的连接。当客户请求队列中存在等待连接的作业时,数据库连接管理器检查连接池是否有空闲连接。若有则映射该连接。无则判断是否达到最大连接数,未达到则新建连接并映射,达到则循环等待。
DDBS的模式结构
对比集中式数据库的模式,局部可视为集中数据库模式,但是要考虑全局模式
通用的模式结构如图
全局外模式为全局用户视图,是展示给用户看的,具有分布透明性,可理解为展示给用户看的表和视图
全局概念模式为全局概念视图,是分布式数据库的整体抽象,可简单的理解为数据库的表
局部概念模式为局部概念视图,全局概念模式的子集,描述局部场地上的局部数据逻辑结构
局部内模式是对物理数据库的描述,类似于集中数据库的内层。组件结构
应用处理器(AP)功能
- 用户接口: 检查用户身份,接受用户命令
- 语义数据控制器: 视图管理、安全控制、语义完整性控制等
- 分布式查询处理器: 用户命令翻译成数据库命令;分布式查询处理与优化,生成相应分布执行计划;收集局部执行结果并返回用户
- 分布式事务管理器: 调度、协调、监视应用处理器和数据处理器之间的分布执行;保证复制数据的一致性,分布式事务的原子性
全局字典: 为语义数据控制器,分布式查询转换的模式映射以及分布式查询处理提供数据信息
数据处理器(DP)功能
局部查询处理器:分布式查询命令到局部命令的转换,局部的存取优化
- 局部事务管理器:保证子事务执行的正确性
- 局部调度管理器:局部并发控制,按可串行化策略调度和执行数据操作
- 局部恢复管理器:局部故障恢复,维护本地数据库的一致性
- 存储管理器:按调度命令访问数据库,进行数据缓存管理,返回局部执行结果
- 局部字典: 负责为数据局部查询处理与优化提供数据信息