《分布式数据库管理系统实践》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)拉希米,(美)豪格著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302336549
  • 页数:556 页
图书介绍:本书分为3部分,第1部分给出了DDMS的理论基础,第2部分介绍了DDMS的应用开发实践,第3部分介绍了分布式数据库的实现,详细考察了适用于开发真实DDMS系统的3个平台:Java Message Service(JMS)、Java 2 Enterprise Edition(J2EE)和Microsoft。NET Framework。

第1章 概述 1

1.1 数据库的概念 1

1.1.1 数据模型 1

1.1.2 数据库操作 2

1.1.3 数据库管理 2

1.1.4 DB客户机、服务器、环境 3

1.2 DBE体系结构概念 3

1.2.1 服务 4

1.2.2 组件和子系统 4

1.2.3 站点 5

1.3 典型的DBE体系结构 5

1.3.1 必需的服务 5

1.3.2 基础的服务 6

1.3.3 期望的服务 6

1.3.4 期望的子系统 7

1.3.5 典型的DBMS服务 8

1.3.6 概要级的图 8

1.4 一种新的分类法 9

1.4.1 COS分布和部署 10

1.4.2 COS封闭或开放 10

1.4.3 模式和数据可见性 11

1.4.4 模式和数据控制 12

1.5 一个DDBE的例子 13

1.6 一个DDBE体系结构的参考 14

1.6.1 DDBE信息体系结构 14

1.6.2 DDBE软件体系结构 15

1.7 分布式系统中的事务管理 17

1.8 本章小结 23

1.9 术语表 23

参考文献 24

第2章 数据分布的方法 25

2.1 设计方法 26

2.1.1 本地化数据 27

2.1.2 分布式数据 27

2.2 分片 28

2.2.1 垂直分片 28

2.2.2 水平分片 30

2.2.3 混合分片 33

2.2.4 垂直分片生成指南 35

2.2.5 垂直分片正确性规则 42

2.2.6 水平分片生成指南 42

2.2.7 水平分片正确性规则 46

2.2.8 复制 47

2.3 分布透明性 47

2.3.1 位置透明性 47

2.3.2 分片透明性 48

2.3.3 复制透明性 48

2.3.4 位置、分片和复制透明性 48

2.4 分布对用户查询的影响 48

2.4.1 无GDD——无透明性 49

2.4.2 包含位置信息的GDD——位置透明性 50

2.4.3 分片、复制和位置透明性 51

2.5 一个更复杂的例子 52

2.5.1 位置、分片和复制透明性 53

2.5.2 位置和复制透明性 53

2.5.3 无透明性 54

2.6 本章小结 55

2.7 术语表 55

参考文献 57

练习题 57

第3章 数据库控制 59

3.1 认证 59

3.2 访问权限 61

3.3 语义完整性控制 61

3.4 分布式语义完整性控制 68

3.4.1 编译时验证 70

3.4.2 运行时验证 70

3.4.3 执行后验证 70

3.5 语义完整性的执行代价 70

3.6 本章小结 77

3.7 术语表 77

参考文献 78

练习题 78

第4章 查询优化 80

4.1 样例数据库 80

4.2 关系代数 81

4.3 关系代数算子的计算 87

4.3.1 选择计算 87

4.3.2 连接计算 90

4.4 集中式系统中的查询处理 93

4.4.1 查询解析和转换 94

4.4.2 查询优化 95

4.4.3 代码产生 107

4.5 分布式系统中的查询处理 108

4.5.1 将全局查询映射到本地查询中 108

4.5.2 分布式查询优化 112

4.5.3 异构数据库系统 125

4.6 本章小结 127

4.7 术语表 128

参考文献 130

练习题 132

第5章 并发控制 135

5.1 术语 135

5.1.1 数据库 135

5.1.2 事务 136

5.2 多事务处理系统 140

5.2.1 调度 140

5.2.2 冲突 141

5.2.3 等价 142

5.2.4 可串行化调度 143

5.2.5 高级事务类型 147

5.2.6 分布式系统中的事务 148

5.3 集中式DBE并发控制 149

5.3.1 基于加锁的并发控制算法 150

5.3.2 时间戳并发控制算法 156

5.3.3 乐观并发控制算法 159

5.3.4 真实DBMS(Oracle)中的并发控制 160

5.4 分布式数据库系统中的并发控制 168

5.4.1 分布式系统中的两阶段加锁 171

5.4.2 分布式时间戳并发控制 175

5.4.3 分布式乐观并发控制 178

5.4.4 联邦式/多数据库并发控制 178

5.5 本章小结 179

5.6 术语表 179

参考文献 182

练习题 184

第6章 死锁处理 186

6.1 死锁的定义 186

6.2 集中式系统中的死锁 186

6.2.1 预防死锁 186

6.2.2 避免死锁 187

6.2.3 死锁检测和解除 190

6.3 分布式系统中的死锁 190

6.3.1 事务站点问题 191

6.3.2 事务控制问题 192

6.3.3 分布式死锁预防 192

6.3.4 分布式死锁避免 192

6.3.5 分布式死锁检测 197

6.4 本章小结 203

6.5 术语表 204

参考文献 205

练习题 205

第7章 复制控制 207

7.1 复制控制方案 208

7.1.1 同步复制控制方法 208

7.1.2 异步复制控制 209

7.2 复制控制算法 210

7.2.1 体系上的考虑 211

7.2.2 主-从复制控制算法 211

7.2.3 分布式投票算法 212

7.2.4 多数一致性算法 213

7.2.5 循环令牌算法 215

7.2.6 复制控制的广泛投票算法 217

7.2.7 发布更新的方法 219

7.3 本章小结 220

7.4 术语表 220

参考文献 222

练习题 222

第8章 故障和提交协议 224

8.1 术语 224

8.1.1 软故障 224

8.1.2 硬故障 224

8.1.3 提交协议 225

8.1.4 事务状态 227

8.1.5 数据库更新模式 228

8.1.6 事务日志 228

8.1.7 DBMS存储类型 229

8.1.8 日志目录 230

8.2 撤销/重做和数据库恢复 233

8.3 事务状态的再访问 237

8.3.1 延迟更新事务步骤 237

8.3.2 立即更新事务步骤 237

8.4 数据库恢复 238

8.4.1 日志进程 238

8.4.2 恢复过程 239

8.5 其他类型的数据库恢复 242

8.5.1 恢复到现在 242

8.5.2 恢复到过去的一个时间点 242

8.5.3 事件恢复 242

8.6 基于重做/撤销过程取消的恢复 244

8.7 完全恢复算法 245

8.8 分布式提交协议 246

8.8.1 体系结构需求 247

8.8.2 分布式提交协议 248

8.8.3 一阶段提交协议 248

8.8.4 两阶段提交协议 250

8.8.5 三阶段提交协议 263

8.8.6 网络分区和基于法定人数的提交协议 267

8.9 本章小结 268

8.10 术语表 269

参考文献 270

练习题 271

第9章 DDBE安全 273

9.1 密码学 273

9.1.1 常规加密 274

9.1.2 报文摘要和消息验证码 277

9.1.3 公钥密码 277

9.1.4 数字签名 279

9.1.5 数字证书和认证授权 280

9.2 固定通信 280

9.2.1 SSL/TLS 281

9.2.2 VPN、IPSec和SSH 281

9.3 固定数据 282

9.3.1 认证和授权 282

9.3.2 数据加密 283

9.3.3 非法输入和SQL注入 284

9.3.4 数据推理 287

9.3.5 数据审计 288

9.4 体系结构问题 288

9.5 一个典型的部署 289

9.6 本章小结 289

9.7 术语表 290

参考文献 292

练习题 293

第10章 数据建模概述 294

10.1 数据建模语言和数据模型的分类 295

10.1.1 CLP分类系统 296

10.1.2 3LM分类系统 297

10.1.3 其他分类方法 299

10.2 CLP分类系统中的概念层 299

10.2.1 概念层问题 299

10.2.2 概念层目标 302

10.3 概念建模语言举例 304

10.4 数据模型的使用 317

10.4.1 CDM 317

10.4.2 LDM 319

10.4.3 PDM 320

10.5 使用建模的多种类型 321

10.5.1 转换成多个模型 322

10.5.2 正向工程 322

10.5.3 逆向工程 323

10.6 本章小结 323

10.7 术语表 324

参考文献 326

练习题 327

第11章 逻辑数据模型 328

11.1 RDM 329

11.1.1 命名 329

11.1.2 正向工程规则 331

11.1.3 逆向工程的规则 336

11.1.4 特殊的考虑 336

11.2 网状数据模型 337

11.2.1 命名 338

11.2.2 正向工程规则 339

11.2.3 逆向工程规则 340

11.2.4 特殊的考虑 341

11.3 层次数据模型 341

11.3.1 命名 341

11.3.2 正向工程规则 342

11.3.3 逆向工程规则 343

11.3.4 特殊的考虑 343

11.4 面向对象数据模型 343

11.4.1 命名 344

11.4.2 正向工程规则 345

11.4.3 逆向工程规则 345

11.4.4 特殊的考虑 346

11.5 本章小结 346

11.6 术语表 346

参考文献 349

练习题 350

第12章 传统DDBE体系架构 351

12.1 对传统DDBE体系架构应用分类学 352

12.1.1 分类传统的DDBMS体系架构 352

12.1.2 联邦数据库体系架构分类 354

12.1.3 非联邦数据库体系架构分类 355

12.2 MDBS体系架构分类 356

12.3 开发DDBE的方法 357

12.3.1 自顶向下的方法 357

12.3.2 自底向上的方法 358

12.4 部署DDBE软件 359

12.5 集成面临的挑战 360

12.5.1 软件集成问题 361

12.5.2 模式集成的问题 362

12.6 模式集成示例 371

12.6.1 转化步骤 371

12.6.2 输出模式生成 373

12.6.3 发现和解决步骤 373

12.6.4 重构步骤 373

12.7 现有商业DDBE示例 374

12.7.1 商业系统中的模式集成 376

12.7.2 现有产品的软件集成 376

12.7.3 Microsoft Access 377

12.7.4 InfoSphere Federation Server 378

12.8 示例 378

12.8.1 示例数据库 378

12.8.2 数据库分布 379

12.8.3 设置 380

12.8.4 设置数据源名称 381

12.8.5 将数据源链接至Federation Server 386

12.8.6 实验 390

12.8.7 从Access和Federation Server数据库进行查询 391

12.8.8 从Access和Federation Server数据库进行修改 392

12.9 本章小结 395

12.10 术语表 395

参考文献 397

练习题 398

第13章 新DDBE体系架构 399

13.1 协作式DDBE 399

13.1.1 子系统概述 400

13.1.2 实现说明 406

13.2 点到点DDBE 410

13.2.1 P2P概述 410

13.2.2 实现细节 412

13.3 比较COOP与P2P 412

13.3.1 COOP与P2P 413

13.3.2 COOP/P2P与传统DDBE 413

13.3.3 COOP/P2P与其他DDBE 413

13.4 本章小结 414

13.5 术语表 414

参考文献 415

练习题 416

第14章 DDBE平台需求 417

14.1 DDBE体系架构词汇 418

14.1.1 组件和子系统 418

14.1.2 服务消费者和服务提供者 419

14.1.3 体系架构可视化表示 419

14.1.4 中间件 422

14.2 基本平台需求 424

14.2.1 开发需求 424

14.2.2 部署需求 427

14.2.3 执行需求 429

14.3 分布式处理平台需求 433

14.3.1 远程性需求 433

14.3.2 目录服务需求 440

14.4 分布式数据平台需求 442

14.4.1 体系架构安全需求 442

14.4.2 数据库连接需求 444

14.4.3 事务管理需求 445

14.5 概述第15~19章 使用的DDBE平台 445

14.5.1 Java消息服务(JMS)平台 446

14.5.2 Java 2企业版(J2EE)平台 446

14.5.3 Microsoft.NET基于框架平台 446

14.6 本章小结 447

14.7 术语表 448

参考文献 451

练习题 451

第15章 JMS开发工具包 452

15.1 Java消息服务概述 453

15.1.1 体系架构概述 454

15.1.2 消息概述 458

15.1.3 消息域 465

15.1.4 JMS API构件 467

15.2 JMS Provider实现方法 470

15.2.1 Apache ActiveMQ 471

15.2.2 OpenJMS 472

15.3 JMS开发工具包(JMS-SKIT)框架概述 474

15.3.1 框架目标 474

15.3.2 框架软件包概述 476

15.4 使用JMS-SKIT框架 479

15.4.1 示例扩展概述 479

15.4.2 创建新扩展 481

15.4.3 改进基于JMS的框架 481

15.5 本章小结 482

15.6 术语表 482

参考文献 485

练习题 485

第16章 J2EE平台 486

16.1 Java 2企业版(J2EE)概述 486

16.1.1 基本J2EE术语 487

16.1.2 体系架构概述 489

16.1.3 开发概述 489

16.1.4 部署概述 490

16.2 J2EE对分布式处理平台需求的支持 490

16.2.1 J2EE远程代码执行 490

16.2.2 J2EE远程消息 492

16.2.3 J2EE目录服务 493

16.3 J2EE对分布式数据平台需求的支持 494

16.3.1 J2EE安全性 494

16.3.2 Java数据库连接 495

16.3.3 J2EE事务 495

16.4 J2EE平台实现方法 496

16.4.1 JBoss 496

16.4.2 Apache Geronimo 497

16.4.3 JOnAS 497

16.4.4 其他J2EE平台实现方法 497

16.5 本章小结 498

16.6 术语表 498

参考文献 501

练习题 501

第17章 J2EE开发工具包 502

17.1 Java 2企业版开发工具包(J2EE-SKIT)概述 502

17.1.1 J2EE-SKIT目标 503

17.1.2 J2EE-SKIT体系架构概述 504

17.1.3 J2EE-SKIT框架体系架构概括 507

17.1.4 J2EE-SKIT扩展体系架构概括 507

17.2 J2EE-SKIT设计概括 509

17.2.1 J2EE-SKIT框架设计概括 510

17.2.2 J2EE-SKIT扩展设计概括 512

17.2.3 参数类型接口 514

17.2.4 例外类型类 515

17.3 本章小结 516

17.4 术语表 517

参考文献 518

练习题 519

第18章 微软.NET平台 520

18.1 平台概括 521

18.1.1 基本的平台特定的词汇术语 522

18.1.2 体系架构概述 527

18.1.3 开发概述 528

18.1.4 程序集部署概括 529

18.2 对分布式处理平台需求的支持 533

18.2.1 远程代码执行需求 533

18.2.2 远程消息请求 534

18.2.3 目录服务需求 534

18.3 分布式数据平台需求 534

18.3.1 .NET安全性 535

18.3.2 ADO.NET数据库连接 535

18.3.3 .NET事务 535

18.4 本章小结 536

18.5 术语表 536

参考文献 538

练习题 539

第19章 DNET开发工具包 540

19.1 DNET-SKIT概述 540

19.1.1 DNET-SKIT目标 541

19.1.2 DNET-SKIT体系架构概述 542

19.1.3 DNET-SKIT扩展体系架构概述 545

19.2 DNET-SKIT设计概述 547

19.2.1 DNET-SKIT框架设计概述 548

19.2.2 DNET-SKIT扩展设计概述 550

19.3 本章小结 554

19.4 术语表 555

参考文献 556

练习题 556