第1章 分布式数据库系统概述 1
1.1 引言及准备知识 1
1.1.1 相关基本概念 1
1.1.2 相关基础知识 4
1.2 分布式数据库系统的基本概念 5
1.2.1 节点/场地 5
1.2.2 分布式数据库 5
1.2.3 分布式数据库管理系统 5
1.2.4 分布式数据库系统应用举例 6
1.2.5 分布式数据库的特性 6
1.3 分布式数据库系统的作用和特点 8
1.3.1 分布式数据库系统的作用 8
1.3.2 分布式数据库系统的特点 8
1.4 典型的分布式数据库原型系统简介 9
1.5 分布式数据库系统中的关键技术 10
1.6 本章小结 11
习题 11
第2章 分布式数据库系统的结构 13
2.1 DDBS的物理结构和逻辑结构 13
2.2 DDBS的体系结构 14
2.2.1 基于客户端/服务器结构的体系结构 14
2.2.2 基于“中间件”的客户端/服务器结构 15
2.3 DDBS的模式结构 17
2.4 DDBS的组件结构 19
2.4.1 应用处理器功能 19
2.4.2 数据处理器功能 19
2.5 多数据库集成系统 20
2.5.1 数据库集成 21
2.5.2 多数据库系统 22
2.6 对等型数据库系统 24
2.6.1 P2PDBS的数据集成体系结构 25
2.6.2 P2PDBS的体系结构 26
2.6.3 P2PDBS与DDBS的典型区别 26
2.7 DDBS的分类 27
2.7.1 非集中式数据库系统及P2PDBS的特性 27
2.7.2 DDBS的分类图 28
2.8 元数据的管理 30
2.8.1 数据字典的主要内容 30
2.8.2 数据字典的主要用途 30
2.8.3 数据字典的组织 30
2.9 Oracle系统体系结构 31
2.9.1 Oracle系统体系结构简介 31
2.9.2 Oracle中实现分布式功能的关键组件 32
2.9.3 Oracle分布式数据库架构 33
2.10 本章小结 34
习题 35
第3章 分布式数据库设计 36
3.1 设计策略 36
3.1.1 Top-Down设计过程 36
3.1.2 Bottom-Up设计过程 37
3.2 分片的定义及作用 37
3.2.1 分片的定义 38
3.2.2 分片的作用 39
3.2.3 分片设计过程 39
3.2.4 分片的原则 40
3.2.5 分片的种类 40
3.2.6 分布透明性 40
3.3 水平分片 40
3.3.1 水平分片的定义 40
3.3.2 水平分片的操作 43
3.3.3 水平分片的设计 43
3.3.4 水平分片的正确性判断 45
3.4 垂直分片 45
3.4.1 垂直分片的定义 46
3.4.2 垂直分片的操作 46
3.4.3 垂直分片的设计 47
3.4.4 垂直分片的正确性判断 47
3.5 混合分片 48
3.6 分片的表示方法 48
3.6.1 图形表示法 49
3.6.2 分片树表示法 49
3.7 分配设计 49
3.7.1 分配类型 50
3.7.2 分配设计原则 52
3.7.3 分配模型 53
3.8 数据复制技术 54
3.8.1 数据复制的优势 54
3.8.2 数据复制的分类 54
3.8.3 数据复制的常用方法 55
3.9 Oracle数据分布式设计案例 55
3.9.1 Oracle分布式数据库的水平分片 55
3.9.2 Oracle分布式数据库的垂直分片 58
3.9.3 Oracle集中式数据库的数据分区技术 59
3.10 本章小结 61
习题 61
第4章 分布式查询处理与优化 63
4.1 查询处理基础 63
4.1.1 查询处理目标 63
4.1.2 查询优化的意义 65
4.1.3 查询优化的基本概念 67
4.1.4 查询优化的过程 69
4.2 查询处理器 71
4.2.1 查询处理器的特性 71
4.2.2 查询处理层次 74
4.3 查询分解 75
4.3.1 查询规范化 75
4.3.2 查询分析 76
4.3.3 查询约简 77
4.3.4 查询重写 78
4.4 数据局部化 80
4.5 片段查询的优化 83
4.6 Oracle分布式查询处理与优化案例 85
4.7 本章小结 89
习题 90
第5章 分布式查询的存取优化 91
5.1 分布式查询的基本概念 91
5.1.1 分布式查询的执行与处理 92
5.1.2 查询存取优化的内容 93
5.2 存取优化的理论基础 94
5.2.1 查询代价模型 94
5.2.2 数据库的特征参数 96
5.2.3 关系运算的特征参数 97
5.3 基于半连接的优化方法 105
5.3.1 半连接操作及相关规则 105
5.3.2 半连接运算的作用 106
5.3.3 使用半连接算法的通信代价估计 107
5.3.4 半连接算法优化原理 108
5.4 基于枚举法的优化技术 109
5.4.1 嵌套循环连接算法 109
5.4.2 基于排序的连接算法 111
5.4.3 散列连接算法 113
5.4.4 连接关系的传输方法 114
5.5 集中式系统中的查询优化算法 114
5.5.1 INGRES 114
5.5.2 System R方法 118
5.5.3 考虑代价的动态规划方法 119
5.5.4 PostgreSQL的遗传算法 122
5.6 分布式系统中的查询优化算法 124
5.6.1 Distributed INGRES方法 124
5.6.2 System R*方法 129
5.6.3 SDD-1方法 130
5.7 Oracle分布式查询优化案例 140
5.8 本章小结 142
习题 143
第6章 分布式事务管理 146
6.1 事务的基本概念 146
6.1.1 事务的定义 146
6.1.2 事务的基本性质 148
6.1.3 事务的种类 150
6.2 分布式事务 151
6.2.1 分布式事务的定义 151
6.2.2 分布式事务的实现模型 151
6.2.3 分布式事务管理的目标 153
6.3 分布式事务的提交协议 155
6.3.1 协调者和参与者 155
6.3.2 两段提交协议的基本思想 156
6.3.3 两段提交协议的基本流程 156
6.4 分布式事务管理的实现 157
6.4.1 LTM与DTM 158
6.4.2 分布式事务执行的控制模型 159
6.4.3 分布式事务管理的实现模型 160
6.5 两段提交协议(2PC)的实现方法 163
6.5.1 集中式方法 163
6.5.2 分布式的2PC 163
6.5.3 分层式方法 164
6.5.4 线性方法 165
6.6 非阻塞分布式事务提交协议 166
6.6.1 三段提交协议的基本思想 166
6.6.2 三段提交协议执行的基本流程 168
6.7 Oracle分布式事务管理案例 170
6.8 本章小结 173
习题 173
第7章 分布式恢复管理 175
7.1 分布式恢复概述 175
7.1.1 故障类型 175
7.1.2 恢复模型 178
7.2 集中式数据库的故障恢复 181
7.2.1 局部恢复系统的体系结构 181
7.2.2 数据更新策略 182
7.2.3 针对不同更新事务的恢复方法 182
7.3 分布式事务的故障恢复 184
7.3.1 两段提交协议对故障的恢复 184
7.3.2 三段提交协议对故障的恢复 187
7.4 分布式可靠性协议 190
7.4.1 可靠性和可用性 190
7.4.2 分布式可靠性协议的组成 192
7.4.3 两段提交协议的终结协议 193
7.4.4 两段提交协议的演变 195
7.4.5 三段提交协议的终结协议 196
7.4.6 三段提交协议的演变 197
7.5 Oracle故障恢复案例 199
7.6 本章小结 202
习题 202
第8章 分布式并发控制 204
8.1 分布式并发控制的基本概念 204
8.1.1 并发控制问题 204
8.1.2 并发控制定义 206
8.2 并发控制理论基础 206
8.2.1 事务执行过程的形式化描述 206
8.2.2 集中式数据库的可串行化问题 207
8.2.3 分布式事务的可串行化问题 208
8.3 基于锁的并发控制方法 208
8.3.1 锁的类型和相容性 209
8.3.2 封锁规则 209
8.3.3 锁的粒度 209
8.4 两段封锁协议(2PL) 210
8.4.1 基本的两段封锁协议 210
8.4.2 严格的两段封锁协议(2PL) 212
8.4.3 可串行化证明 212
8.5 分布式数据库并发控制方法 213
8.5.1 基于锁的并发控制方法的实现 213
8.5.2 基于时间戳的并发控制算法 215
8.5.3 乐观的并发控制算法 218
8.6 分布式死锁管理 220
8.6.1 死锁等待图 220
8.6.2 死锁的检测 221
8.6.3 死锁的预防和避免 223
8.7 Oracle并发控制案例 224
8.7.1 Oracle中的锁机制 224
8.7.2 Oracle中的并发控制 224
8.8 本章小结 225
习题 226
第9章 P2P数据管理系统 228
9.1 P2P系统概述 228
9.2 P2P系统的体系结构 229
9.2.1 集中式P2P网络 229
9.2.2 全分布式P2P网络 230
9.2.3 混合型的P2P网络 231
9.3 P2P系统中的数据管理 232
9.4 资源的定位和路由 233
9.4.1 面向非结构化P2P网络的资源定位方法 233
9.4.2 面向结构化P2P网络的资源定位方法 234
9.5 处理语义异构性 238
9.6 查询处理与优化 239
9.6.1 查询处理 239
9.6.2 查询优化 240
9.7 本章小结 241
习题 241
第10章 Web数据库集成系统 242
10.1 Web数据库集成系统概述 242
10.2 三种体系结构介绍 243
10.2.1 数据供应模式 243
10.2.2 数据收集模式 243
10.2.3 元搜索模式 245
10.3 基于元搜索模式的Web数据库集成系统WDBIntegrator 246
10.3.1 系统总体结构 246
10.3.2 Web数据库资源搜索子系统 248
10.3.3 资源查询子系统 249
10.4 本章小结 252
习题 252
参考文献 253