第1章 引言 1
1.1 分布式数据处理 2
1.2 什么是分布式数据库系统 2
1.3 数据发送的不同选择 4
1.4 DDBS的承诺 5
1.4.1 分布及复制数据的透明管理 5
1.4.2 分布式事务提供的可靠性 9
1.4.3 改进的性能 10
1.4.4 更为容易的系统扩展 11
1.5 分布所带来的复杂性 11
1.6 设计问题 12
1.6.1 分布式数据库设计 12
1.6.2 分布式目录管理 12
1.6.3 分布式查询处理 12
1.6.4 分布式并发控制 13
1.6.5 分布式死锁管理 13
1.6.6 分布式数据库的可靠性 13
1.6.7 复制 13
1.6.8 问题之间的相互关系 13
1.6.9 其他方面的问题 14
1.7 分布式DBMS体系架构 15
1.7.1 ANSI/SPARC体系架构 15
1.7.2 集中式DBMS的通用体系架构 16
1.7.3 分布式DBMS体系架构的模型 18
1.7.4 自治性 18
1.7.5 分布 19
1.7.6 异构性 20
1.7.7 体系架构的不同选择 20
1.7.8 客户/服务器系统 20
1.7.9 P2P系统 22
1.7.10 多数据库体系架构 25
1.8 参考文献说明 28
第2章 背景知识 30
2.1 关系DBMS概述 30
2.1.1 关系数据库概念 30
2.1.2 规范化 32
2.1.3 关系语言 33
2.2 计算机网络概述 41
2.2.1 不同类型的网络 42
2.2.2 通信方式 45
2.2.3 数据通信的基本概念 46
2.2.4 通信协议 47
2.3 参考文献说明 50
第3章 分布式数据库设计 51
3.1 自顶向下的设计过程 52
3.2 分布设计的研究问题 54
3.2.1 为什么要分片 54
3.2.2 不同的分片方法 55
3.2.3 划分程度 56
3.2.4 分片的正确性规则 56
3.2.5 不同的分配方法 57
3.2.6 信息需求 57
3.3 分片 58
3.3.1 水平分片 58
3.3.2 垂直分片 70
3.3.3 混合分片 79
3.4 分配 80
3.4.1 分配问题的定义 80
3.4.2 信息需求 82
3.4.3 分配模型 83
3.4.4 解决办法 85
3.5 数据目录 85
3.6 本章小结 86
3.7 参考文献说明 87
练习 88
第4章 数据库集成 91
4.1 自底向上的设计方法 92
4.2 模式匹配 95
4.2.1 模式异构性 97
4.2.2 语言匹配方法 98
4.2.3 基于限制的匹配方法 100
4.2.4 基于学习的匹配方法 101
4.2.5 组合匹配方法 101
4.3 模式集成 102
4.4 模式映像 103
4.4.1 映像建立 104
4.4.2 映像维护 108
4.5 数据清洗 109
4.6 本章小结 110
4.7 参考文献说明 111
练习 112
第5章 数据与访问控制 120
5.1 视图管理 120
5.1.1 集中式DBMS中的视图 121
5.1.2 分布式DBMS中的视图 123
5.1.3 物化视图的维护 124
5.2 数据安全 126
5.2.1 裁决式访问控制 127
5.2.2 多级访问控制 128
5.2.3 分布式访问控制 130
5.3 语义完整性控制 132
5.3.1 集中式语义完整性控制 133
5.3.2 分布式语义完整性控制 136
5.4 本章小结 140
5.5 参考文献说明 141
练习 142
第6章 查询处理概述 144
6.1 查询处理问题 144
6.2 查询处理的目标 147
6.3 关系代数运算的复杂度 148
6.4 查询处理程序的刻画 148
6.4.1 语言 149
6.4.2 优化类型 149
6.4.3 优化时机 149
6.4.4 统计 150
6.4.5 决策站点 150
6.4.6 网络拓扑的利用 150
6.4.7 利用复制的片段 151
6.4.8 使用半连结 151
6.5 查询处理的层次 151
6.5.1 查询分解 152
6.5.2 数据本地化 153
6.5.3 全局查询优化 153
6.5.4 分布式查询执行 154
6.6 本章小结 154
6.7 参考文献说明 154
第7章 查询分解与数据本地化 156
7.1 查询分解 156
7.1.1 规范化 156
7.1.2 分析 157
7.1.3 去除冗余 159
7.1.4 重写 160
7.2 分布数据的本地化 164
7.2.1 主水平划分的归约 164
7.2.2 垂直分片的归约 166
7.2.3 诱导分片的归约 167
7.2.4 混合分片的归约 169
7.3 本章小结 170
7.4 参考文献说明 171
练习 171
第8章 分布式查询的优化 174
8.1 查询优化 174
8.1.1 搜索空间 175
8.1.2 搜索策略 176
8.1.3 分布式代价模型 177
8.2 集中式查询优化 182
8.2.1 动态查询优化 182
8.2.2 静态查询优化 185
8.2.3 混合查询优化 188
8.3 分布查询的连结排序 189
8.3.1 连结排序 189
8.3.2 基于半连结的算法 191
8.3.3 连结与半连结的对比 193
8.4 分布式查询优化 194
8.4.1 动态方法 194
8.4.2 静态方法 197
8.4.3 基于半连结的方法 200
8.4.4 混合方法 204
8.5 本章小结 207
8.6 参考文献说明 208
练习 209
第9章 多数据库查询处理 211
9.1 多数据库查询处理的关键问题 211
9.2 多数据库查询处理体系架构 212
9.3 使用视图进行查询重写 214
9.3.1 Datalog术语 214
9.3.2 使用GAV的查询重写技术 215
9.3.3 使用LAV的查询重写技术 216
9.4 查询优化和执行 218
9.4.1 异构代价模型 218
9.4.2 异构查询优化 223
9.4.3 自适应的查询处理 227
9.5 查询翻译和执行 232
9.6 本章小结 234
9.7 参考文献说明 234
练习 235
第10章 事务管理介绍 238
10.1 事务的定义 239
10.1.1 事务的终结条件 241
10.1.2 事务的特性 242
10.1.3 事务的形式化定义 243
10.2 事务的性质 245
10.2.1 原子性 245
10.2.2 一致性 245
10.2.3 隔离性 246
10.2.4 持久性 249
10.3 事务的类型 249
10.3.1 平面事务 250
10.3.2 嵌套事务 250
10.3.3 工作流 252
10.4 再论体系架构模型 254
10.5 本章小结 255
10.6 参考文献说明 256
第11章 分布式并发控制 257
11.1 可串行化理论 257
11.2 并发控制机制的分类 261
11.3 基于加锁的并发控制算法 262
11.3.1 集中式2PL 265
11.3.2 分布式2PL 268
11.4 基于时间戳的并发控制算法 269
11.4.1 基本TO算法 269
11.4.2 保守TO算法 272
11.4.3 多版本TO算法 273
11.5 乐观并发控制算法 274
11.6 死锁管理 276
11.6.1 死锁预防 277
11.6.2 死锁回避 278
11.6.3 死锁检测与解决 279
11.7 “放松”的并发控制 281
11.7.1 非串行化历史 281
11.7.2 嵌套分布式事务 282
11.8 本章小结 284
11.9 参考文献说明 285
练习 286
第12章 分布式DBMS的可靠性 288
12.1 可靠性的概念和度量 288
12.1.1 系统、状态与故障 288
12.1.2 可靠性与可用性 289
12.1.3 平均无故障时间/平均修复时间 291
12.2 分布式DBMS的故障 292
12.2.1 事务故障 292
12.2.2 站点(系统)故障 292
12.2.3 介质故障 293
12.2.4 通信故障 293
12.3 局部可靠性协议 294
12.3.1 体系结构的考虑 294
12.3.2 恢复信息 296
12.3.3 LRM命令的执行 299
12.3.4 建立检查点 302
12.3.5 处理介质故障 303
12.4 分布式可靠性协议 304
12.4.1 分布式可靠性协议的组件 304
12.4.2 两阶段提交协议 305
12.4.3 2PC的变型版本 310
12.5 处理站点故障 311
12.5.1 2PC的终结和恢复协议 311
12.5.2 三阶段提交协议 315
12.6 网络划分 319
12.6.1 集中式协议 320
12.6.2 基于投票的协议 320
12.7 体系架构方面的考虑 322
12.8 本章小结 323
12.9 参考文献说明 324
练习 325
第13章 数据复制 327
13.1 复制数据库的一致性 328
13.1.1 相互一致性 328
13.1.2 相互一致性与事务一致性 330
13.2 更新管理策略 331
13.2.1 积极更新传播 331
13.2.2 懒惰更新传播 332
13.2.3 集中式技术 332
13.2.4 分布式技术 333
13.3 复制协议 333
13.3.1 积极集中式协议 333
13.3.2 积极分布式协议 338
13.3.3 懒惰集中式协议 338
13.3.4 懒惰分布式协议 343
13.4 分组通信 344
13.5 复制与故障 346
13.5.1 故障和懒惰复制 346
13.5.2 故障和积极复制 346
13.6 复制中介程序服务 349
13.7 本章小结 351
13.8 参考文献说明 351
练习 352
第14章 并行数据库系统 354
14.1 并行数据库系统架构 354
14.1.1 目标 355
14.1.2 功能架构 356
14.1.3 并行DBMS架构 357
14.2 并行数据布局 361
14.3 并行查询处理 365
14.3.1 查询并行性 365
14.3.2 数据处理的并行算法 366
14.3.3 并行查询优化 371
14.4 负载均衡 374
14.4.1 并行执行问题 374
14.4.2 算子内负载均衡 375
14.4.3 算子间负载均衡 377
14.4.4 查询内负载均衡 377
14.5 数据库集群 381
14.5.1 数据库集群架构 381
14.5.2 复制 382
14.5.3 负载均衡 384
14.5.4 查询处理 386
14.5.5 容错性 388
14.6 本章小结 389
14.7 参考文献注释 390
练习 391
第15章 分布式对象数据库管理 393
15.1 基础对象概念和对象模型 394
15.1.1 对象 394
15.1.2 类型和类 396
15.1.3 组合(聚合) 398
15.1.4 子类划分和继承 398
15.2 对象的分布设计 400
15.2.1 类的水平分片 400
15.2.2 类的垂直分片 402
15.2.3 路径划分 402
15.2.4 类的分片算法 402
15.2.5 分配 403
15.2.6 复制 404
15.3 架构问题 404
15.3.1 可选的客户/服务器架构 404
15.3.2 缓存一致性 408
15.4 对象管理 410
15.4.1 对象标识管理 410
15.4.2 指针转换 411
15.4.3 对象迁移 412
15.5 分布式对象存储 413
15.6 对象查询处理 416
15.6.1 对象查询处理器架构 417
15.6.2 查询处理问题 417
15.6.3 查询执行 421
15.7 事务管理 424
15.7.1 关于正确性的判据 424
15.7.2 事务模型和对象结构 426
15.7.3 对象DBMS中的事务管理 426
15.7.4 将事务看作对象 432
15.8 本章小结 433
15.9 参考文献注释 433
练习 434
第16章 P2P数据管理 436
16.1 基础设施 438
16.1.1 非结构P2P网络 438
16.1.2 结构化的P2P网络 441
16.1.3 超级节点P2P网络 444
16.1.4 P2P网络的比较 446
16.2 P2P系统中的模式映射 446
16.2.1 成对模式映射 446
16.2.2 基于机器学习技术的映射 447
16.2.3 共同协议映射 447
16.2.4 使用IR技术的模式映射 448
16.3 在P2P系统中查询 449
16.3.1 前k名查询 449
16.3.2 连结查询 458
16.3.3 范围查询 459
16.4 副本一致性 462
16.4.1 在DHT中的基本支持 462
16.4.2 在DHT中的数据当前性 464
16.4.3 副本协调 465
16.5 本章小结 468
16.6 参考文献注释 468
练习 469
第17章 万维网数据管理 471
17.1 万维网图管理 472
17.1.1 万维网图结构的压缩 473
17.1.2 采用S-节点的万维网图存储 474
17.2 万维网搜索 475
17.2.1 万维网爬取 476
17.2.2 索引 478
17.2.3 排序与链接分析 479
17.2.4 关键词搜索的评价 479
17.3 万维网查询 480
17.3.1 半结构化数据方法 481
17.3.2 万维网查询语言方法 485
17.3.3 问答系统 489
17.3.4 隐藏万维网搜索与查询 492
17.4 分布式XML处理 495
17.4.1 XML概览 496
17.4.2 XML查询处理技术 502
17.4.3 XML数据的分片 505
17.4.4 分布式XML处理的优化 511
17.5 本章小结 517
17.6 参考文献说明 518
练习 518
第18章 前沿研究:流数据和云计算 520
18.1 数据流管理 520
18.1.1 流数据模型 521
18.1.2 流查询语言 523
18.1.3 流算子和它们的实现 526
18.1.4 查询处理 528
18.1.5 DSMS查询优化 531
18.1.6 负载削减和近似 532
18.1.7 多查询优化 533
18.1.8 流挖掘 533
18.2 云数据管理 536
18.2.1 云的分类 536
18.2.2 网格计算 538
18.2.3 云架构 541
18.2.4 云中的数据管理 542
18.3 本章小结 548
18.4 参考文献注释 549
参考文献 551