第一章 分布式数据库系统概论 1
1.1分布式数据库系统的起源与发展 1
1.1.1分布式数据库系统的起源 1
1.1.2分布式数据库系统的发展 2
1.2分布式数据库系统的定义与分类 4
1.2.1分布式数据库系统的定义 4
1.2.2分布式数据库系统的分类 7
1.3分布式数据库系统的体系结构 9
1.3.1基于三层模式的分布式数据库系统体系结构 9
1.3.2基于组件模式的分布式数据库系统体系结构 13
1.4分布式数据库系统与客户机/服务器模式 15
1.4.1集中式客户机/服务器系统 16
1.4.2多客户机/单服务器系统 17
1.4.3多客户机/多服务器系统 17
1.4.4服务器-服务器系统 17
1.4.5对等客户机/服务器系统 17
1.5分布式数据库管理系统 19
1.5.1分布式数据库管理系统的功能 19
1.5.2分布式数据库管理系统的结构 20
1.6其他非集中式数据库系统 21
1.6.1对等数据库系统 22
1.6.2多数据库系统 24
1.7分布式数据库目录系统的主要内容和逻辑结构 26
1.7.1分布式数据库目录系统的主要内容 26
1.7.2分布式数据库目录系统的主要用途 27
1.7.3分布式数据库目录系统的组织方式及逻辑结构 28
1.7.4分布式数据库系统目录的分布方式 30
1.8分布式数据库系统的主要技术 31
1.9分布式数据库系统的主要应用 32
1.10分布式数据库系统的优点和存在的技术问题 34
1.10.1分布式数据库系统的优点 34
1.10.2分布式数据库系统中存在的技术问题 36
1.11小结 38
习题 39
第二章 基础知识回顾 40
2.1数据库技术回顾 40
2.1.1数据库技术基本概念 40
2.1.2数据库系统的模式结构 41
2.1.3关系数据模型 42
2.1.4实体联系模型 44
2.1.5 SQL语言 46
2.1.6关系代数与关系数据库的查询优化 50
2.1.7关系数据库设计理论——模式设计 53
2.1.8数据库系统设计 55
2.1.9数据库管理系统 58
2.1.10数据库保护 63
2.2计算机网络回顾 65
2.2.1计算机网络的定义 66
2.2.2计算机网络的分类 66
2.2.3计算机网络拓扑结构 67
2.2.4网络协议 68
2.2.5 Internet 69
2.3小结 72
习题 73
第三章 分布式数据库系统的设计 74
3.1分布式数据库系统设计的目标 74
3.2分布式数据库系统设计的内容 75
3.3分布式数据库系统的设计方法 76
3.3.1自顶向下设计方法 76
3.3.2自底向上设计方法 77
3.4数据分片设计 80
3.4.1分片设计的基本目的 80
3.4.2数据分片的基本类型和方法 81
3.4.3水平分片 81
3.4.4垂直分片 84
3.5数据分布设计 85
3.5.1数据分布策略 86
3.5.2数据片段位置分配的方法 86
3.5.3数据片段分配的费用和得益估算 87
3.6 DATAID-D方法 89
3.6.1 DATAID-D方法概述 89
3.6.2分布要求分析阶段 90
3.6.3分布设计阶段 91
3.7分布式数据库系统中数据的独立性与分布透明性 92
3.7.1分布式数据库系统中数据的独立性与分布透明性概述 92
3.7.2分布式数据库简单查询与分布透明性 94
3.7.3分布式数据库复杂查询与分布透明性 97
3.7.4分布式数据库更新应用与分布透明性 99
3.8实例研究:飞机订票系统 101
3.8.1实例研究简述 101
3.8.2飞机订票系统中的分布要求分析 104
3.8.3飞机订票系统中的分布设计 106
3.9小结 108
习题 108
第四章 分布式数据库中的查询处理和优化 110
4.1分布式查询优化概述 110
4.1.1分布式查询优化的目标 110
4.1.2分布式查询优化的准则和代价估算 110
4.1.3分布式查询策略的比较分析 111
4.2分布式查询的分类与层次结构 113
4.2.1分布式查询的分类 113
4.2.2分布式查询的层次结构 115
4.3基于关系代数等价变换的查询优化 116
4.3.1基于关系代数等价变换的查询优化的基本原理 116
4.3.2基于关系代数等价变换的查询优化的实现步骤 116
4.3.3基于关系代数等价变换的查询优化举例 117
4.4基于半连接算法的查询优化处理 119
4.4.1采用半连接方法表示连接操作 119
4.4.2采用半连接算法优化连接操作的基本原理 120
4.4.3采用半连接算法优化连接查询的步骤 121
4.5基于直接连接算法的查询优化处理 121
4.5.1直接连接操作的常用策略 121
4.5.2利用站点依赖信息的算法 123
4.5.3分片和复制算法 124
4.5.4站点依赖和数据复制结合 127
4.5.5 Hash划分算法 127
4.5.6不同方法的比较 129
4.6典型分布式数据库系统中的查询优化策略和算法 130
4.6.1 SDD-1中的查询优化算法 130
4.6.2 R中的查询优化算法 131
4.6.3 INGRES中的查询优化算法 133
4.7小结 134
习题 135
第五章 分布式数据库中的事务管理和恢复 137
5.1分布式事务概述 137
5.1.1分布式事务的定义和特性 137
5.1.2分布式事务的结构和事务状态 139
5.1.3分布式事务管理的问题和目标 141
5.1.4分布式事务管理的抽象模型 144
5.1.5分布式事务执行的控制模型 145
5.2分布式事务的恢复 147
5.2.1分布式数据库系统中的故障 147
5.2.2事务故障恢复的基本概念 148
5.2.3事务故障的恢复 152
5.2.4分布式事务的执行与恢复举例 154
5.3两阶段提交协议 155
5.3.1两阶段提交协议的基本思想和内容 155
5.3.2两阶段提交协议的通信结构 157
5.3.3两阶段提交协议与故障恢复 162
5.3.4两阶段提交协议的性能 164
5.4分布式数据库中的数据更新 165
5.4.1多站点的数据更新 165
5.4.2主副本更新法 166
5.5分布式事务增强数据库一致性 167
5.5.1业务规则的一致性 167
5.5.2冗余数据的一致性 168
5.6小结 170
习题 171
第六章 分布式数据库中的并发控制 172
6.1并发控制的概念和理论 172
6.1.1并发控制的概念 172
6.1.2事务可串行化理论的基本概念 174
6.1.3分布式事务的可串行化理论 175
6.1.4分布式事务的可串行化调度测试 177
6.1.5并发控制机制的常用方法及其分类 180
6.2分布式数据库系统并发控制的封锁技术 182
6.2.1基于封锁的并发控制方法简述 182
6.2.2两阶段封锁协议 188
6.2.3两阶段封锁协议的实现方法 191
6.2.4多粒度封锁与意想锁 193
6.3分布式数据库系统中的死锁处理 197
6.3.1全局死锁与等待图 197
6.3.2死锁的预防方法 199
6.3.3死锁的检测和解决方法 200
6.4分布式数据库系统并发控制的时标技术 204
6.4.1基于时标的并发控制方法 204
6.4.2基本时标法 206
6.4.3保守时标法 206
6.5分布式数据库系统并发控制的多版本技术 208
6.5.1基于时标排序的多版本技术 208
6.5.2采用验证锁的多版本两阶段封锁 209
6.6分布式数据库系统并发控制的乐观方法 210
6.7小结 212
习题 213
第七章 分布式数据库的可靠性 215
7.1分布式数据库可靠性的概念及其度量 215
7.1.1分布式数据库可靠性的概念 215
7.1.2平均故障间隔时间和平均修复时间 216
7.2分布式数据库系统的故障原因和容错技术 217
7.2.1分布式数据库系统中系统失败的原因 217
7.2.2基本的容错方法和技术 219
7.3分布式数据库的可靠性协议 221
7.3.1分布式数据库可靠性协议的组成 221
7.3.2两阶段提交协议的演变 222
7.3.3事务阻断与终结协议 223
7.3.4两阶段提交协议的终结协议 224
7.3.5两阶段提交协议的恢复协议 227
7.3.6三阶段提交协议 229
7.4网络分割与提交协议 232
7.4.1网络分割简述 232
7.4.2网络分割与提交协议 233
7.5不一致性的检测和解决方法 239
7.5.1决定网络的状态 239
7.5.2不一致性的检测和解决方法 241
7.5.3检查点和冷启动 243
7.6小结 245
习题 246
第八章 分布式数据库的安全性 248
8.1数据库安全性概述 248
8.1.1数据库安全性的概念 248
8.1.2分布式数据库的不安全因素 249
8.1.3分布式数据库的安全性需求和安全性措施分析 250
8.1.4分布式数据库系统的用户账户和数据库审计 252
8.2安全数据模型与多级安全数据库 253
8.2.1数据库安全术语与基本概念 253
8.2.2基于授予/收回权限的自主访问控制 256
8.2.3多级安全BLP模型 260
8.2.4基于多级安全性分类级别标记的强制访问控制 262
8.3分布式数据库系统中的权限保护和用户识别 265
8.3.1分布式数据库系统中的权限保护 265
8.3.2分布式数据库系统中权限规则的分布 266
8.3.3分布式数据库系统中的用户识别和分类 266
8.4数据库管理系统的安全评估标准和安全机制 267
8.4.1数据库管理系统的安全评估标准 267
8.4.2当前流行的几种RDBMS安全机制 269
8.5小结 271
习题 272
第九章 分布式数据库系统的主要应用 273
9.1移动分布式数据库系统 273
9.1.1移动数据库系统简述 273
9.1.2移动计算环境下的应用分类与数据管理 277
9.1.3移动数据库系统实现技术和应用研究 279
9.2连锁超市分布式数据库系统 283
9.2.1系统简述 283
9.2.2需求分析 284
9.2.3系统设计 284
9.2.4分布需求分析 285
9.2.5分布设计 288
9.3火车订票分布式数据库系统 289
9.3.1系统简述 289
9.3.2需求分析 289
9.3.3系统设计 290
9.3.4分布需求分析 290
9.3.5分布设计 293
9.4 GSP药品管理分布式数据库系统 293
9.4.1系统简述 293
9.4.2系统架构 294
9.4.3系统设计 294
9.4.4分布需求分析 296
9.4.5分布设计 297
9.5银行管理分布式数据库系统 298
9.5.1系统简述 298
9.5.2需求分析 298
9.5.3系统设计 299
9.5.4分布需求分析 300
9.5.5分布设计 302
9.6小结 303
习题 303
第十章 分布式数据库系统的发展趋势 305
10.1并行数据库服务器与分布式数据库系统 305
10.1.1并行数据库服务器的体系结构 306
10.1.2并行数据库服务器的数据定位 308
10.1.3并行操作处理算法 310
10.1.4并行查询处理算法 317
10.2数据仓库和分布式数据仓库 318
10.2.1数据仓库的定义、特征和结构 318
10.2.2数据仓库的数据模型 320
10.2.3分布式数据仓库 325
10.3分布式文件系统 326
10.3.1分布式文件系统的概念及组成 327
10.3.2分布式文件系统的特点及要求 327
10.3.3分布式文件系统的实现 328
10.3.4 Google文件系统 329
10.3.5 Hadoop分布式文件系统 333
10.4非关系型数据库 335
10.4.1 BigTable简述 336
10.4.2 BigTable的目标 336
10.4.3 BigTable数据模型 337
10.4.4 BigTable的系统架构 338
10.4.5 BigTable与分布式数据库 339
10.4.6 HBase简述 340
10.4.7 HBase的逻辑模型 340
10.4.8 HBase物理模型 341
10.4.9 HBase与分布式数据库 342
10.5小结 342
习题 342
主要参考文献 344