目录
第1章引言1
1.1分布式数据处理2
1.2什么是分布式数据库系统2
1.3数据发送的不同选择4
1.4DDBS的承诺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.1ANSI/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.9P2P系统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.1Datalog术语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集中式2PL265
11.3.2分布式2PL268
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.3LRM命令的执行299
12.3.4建立检查点302
12.3.5处理介质故障303
12.4分布式可靠性协议304
12.4.1分布式可靠性协议的组件304
12.4.2两阶段提交协议305
12.4.32PC的变型版本310
12.5处理站点故障311
12.5.12PC的终结和恢复协议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.4P2P网络的比较446
16.2P2P系统中的模式映射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.1XML概览496
17.4.2XML查询处理技术502
17.4.3XML数据的分片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.5DSMS查询优化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
