《分布式数据库系统 大数据时代新型数据库技术》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:于戈,申德荣等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2016
  • ISBN:9787111518310
  • 页数:412 页
图书介绍:本书主要介绍分布式数据库系统和大数据库系统的基本理论与实现技术。全书共分12章,第1章和第2章介绍分布式数据库系统和大数据库系统的基础和背景,主要包括系统的基本概念、体系结构、发展历史、系统分类和主要研究问题;第3~9章为全书的重点,介绍分布式数据库系统和大数据库系统的核心技术,包括分布式数据库设计、分布式查询处理与优化、分布式查询的存取优化、分布式事务管理、分布式恢复管理、分布式并发控制、数据复制与一致性,并给出了Oracle应用示例;第10章和第11章介绍两个分布式的数据管理系统案例,分别为P2P数据管理系统和Web数据库集成系统;第12章介绍大数据系统研究进展及发展趋势。

第1章 分布式数据库系统概述 1

1.1 引言及准备知识 1

1.1.1 相关基本概念 1

1.1.2 相关基础知识 3

1.2 分布式数据库系统的基本概念 4

1.2.1 节点/场地 4

1.2.2 分布式数据库 4

1.2.3 分布式数据库管理系统 5

1.2.4 分布式数据库系统应用举例 5

1.2.5 分布式数据库的特性 5

1.3 分布式数据库系统的作用和特点 7

1.3.1 分布式数据库系统的作用 7

1.3.2 分布式数据库系统的特点 7

1.4 分布式数据库系统中的关键技术 8

1.4.1 关键技术 8

1.4.2 典型的分布式数据库原型系统简介 9

1.5 大数据应用与分布式数据库技术 9

1.5.1 大数据类型和应用 10

1.5.2 大数据特点 12

1.5.3 大数据处理过程 12

1.5.4 大数据管理新模式 13

1.5.5 分布式大数据库系统及关键技术 14

1.6 本章小结 15

习题 16

主要参考文献 16

第2章 分布式数据库系统的结构 18

2.1 DDBS的物理结构和逻辑结构 18

2.2 DDBS的体系结构 19

2.2.1 基于客户端/服务器结构的体系结构 19

2.2.2 基于中间件的客户端/服务器结构 20

2.3 DDBS的模式结构 22

2.4 DDBS的组件结构 23

2.4.1 应用处理器功能 23

2.4.2 数据处理器功能 23

2.5 多数据库集成系统 24

2.5.1 数据库集成 24

2.5.2 多数据库系统 26

2.6 对等型数据库系统 28

2.6.1 P2PDBS的数据集成体系结构 28

2.6.2 P2PDBS的体系结构 29

2.6.3 P2PDBS与DDBS的典型区别 29

2.7 DDBS的分类 30

2.7.1 非集中式数据库系统及P2PDBS的特性 30

2.7.2 DDBS的分类图 31

2.8 元数据的管理 32

2.8.1 数据字典的主要内容 32

2.8.2 数据字典的主要用途 33

2.8.3 数据字典的组织 33

2.9 Oracle系统体系结构 34

2.9.1 Oracle系统体系结构简介 34

2.9.2 Oracle中实现分布式功能的关键组件 34

2.9.3 Oracle分布式数据库架构 36

2.10 分布式大数据库系统 37

2.10.1 分布式大数据库系统的分类 37

2.10.2 分布式大数据库系统的体系结构 38

2.10.3 基于HDFS的分布式数据库 40

2.10.4 其他分布式数据库系统 50

2.11 本章小结 57

习题 57

主要参考文献 57

第3章 分布式数据库设计 59

3.1 设计策略 59

3.1.1 Top-Down设计过程 59

3.1.2 Bottom-Up设计过程 60

3.2 分片的定义及作用 60

3.2.1 分片的定义 60

3.2.2 分片的作用 61

3.2.3 分片设计过程 61

3.2.4 分片的原则 62

3.2.5 分片的种类 62

3.2.6 分布透明性 62

3.3 水平分片 62

3.3.1 水平分片的定义 62

3.3.2 水平分片的操作 64

3.3.3 水平分片的设计 65

3.3.4 水平分片的正确性判断 66

3.4 垂直分片 67

3.4.1 垂直分片的定义 67

3.4.2 垂直分片的操作 68

3.4.3 垂直分片的设计 68

3.4.4 垂直分片的正确性判断 68

3.5 混合分片 69

3.6 分片的表示方法 69

3.6.1 图形表示法 70

3.6.2 分片树表示法 70

3.7 分配设计 71

3.7.1 分配类型 71

3.7.2 分配设计原则 72

3.7.3 分配模型 73

3.8 数据复制技术 74

3.8.1 数据复制的优势 74

3.8.2 数据复制的分类 74

3.8.3 数据复制的常用方法 75

3.9 Oracle数据分布式设计案例 75

3.9.1 Oracle分布式数据库的水平分片 76

3.9.2 Oracle分布式数据库的垂直分片 78

3.9.3 Oracle集中式数据库的数据分区技术 78

3.10 大数据库的分布存储策略 80

3.10.1 分布式文件系统HDFS 80

3.10.2 基于SSTable的数据存储结构 86

3.10.3 大数据存储模型 92

3.10.4 数据分区策略 96

3.11 大数据库分布式存储案例 99

3.11.1 Bigtable 99

3.11.2 Cassandra 103

3.11.3 Spanner 105

3.12 本章小结 107

习题 108

主要参考文献 109

第4章 分布式查询处理与优化 111

4.1 查询处理基础 111

4.1.1 查询处理目标 111

4.1.2 查询优化的意义 112

4.1.3 查询优化的基本概念 115

4.1.4 查询优化的过程 116

4.2 查询处理器 118

4.2.1 查询处理器的特性 118

4.2.2 查询处理层次 120

4.3 查询分解 122

4.3.1 查询规范化 122

4.3.2 查询分析 123

4.3.3 查询约简 124

4.3.4 查询重写 125

4.4 数据局部化 127

4.5 片段查询的优化 128

4.6 Oracle分布式查询处理与优化案例 131

4.7 大数据库系统的查询API 134

4.7.1 基于类SQL的查询语言 134

4.7.2 基于编程接口的查询语言 137

4.8 大数据库的查询处理及优化 139

4.8.1 大数据库查询处理方法 139

4.8.2 基于MapReduce的查询处理 141

4.8.3 大数据库查询优化 144

4.9 本章小结 146

习题 147

主要参考文献 148

第5章 分布式查询的存取优化 149

5.1 分布式查询的基本概念 150

5.1.1 分布式查询的执行与处理 150

5.1.2 查询存取优化的内容 151

5.2 存取优化的理论基础 152

5.2.1 查询代价模型 152

5.2.2 数据库的特征参数 154

5.2.3 关系运算的特征参数 154

5.3 基于半连接的优化方法 161

5.3.1 半连接操作及相关规则 162

5.3.2 半连接运算的作用 162

5.3.3 使用半连接算法的通信代价估计 163

5.3.4 半连接算法优化原理 164

5.4 基于枚举法的优化技术 165

5.4.1 嵌套循环连接算法 165

5.4.2 基于排序的连接算法 167

5.4.3 散列连接算法 169

5.4.4 连接关系的传输方法 169

5.5 集中式系统中的查询优化算法 170

5.5.1 INGRES 170

5.5.2 System R方法 173

5.5.3 考虑代价的动态规划方法 174

5.5.4 PostgreSQL的遗传算法 177

5.6 分布式系统中的查询优化 178

算法 178

5.6.1 Distributed INGRES方法 178

5.6.2 System R*方法 183

5.6.3 SDD-1方法 184

5.7 Oracle分布式查询优化案例 192

5.8 大数据库的索引查询优化方法 195

5.8.1 布隆过滤器 195

5.8.2 键值二级索引 197

5.8.3 跳跃表 200

5.9 大数据库的查询处理与优化 201

5.9.1 并行查询处理 202

5.9.2 基于分析引擎的大数据库查询优化 206

5.10 分布式缓存 216

5.10.1 分布式缓存概述 216

5.10.2 分布式缓存的体系结构 217

5.10.3 典型分布式缓存系统 218

5.10.4 分布式缓存与存储引擎的结合使用 223

5.11 本章小结 225

习题 226

主要参考文献 229

第6章 分布式事务管理 231

6.1 事务的基本概念 231

6.1.1 事务的定义 231

6.1.2 事务的基本性质 233

6.1.3 事务的种类 234

6.2 分布式事务 235

6.2.1 分布式事务的定义 235

6.2.2 分布式事务的实现模型 235

6.2.3 分布式事务管理的目标 238

6.3 分布式事务的提交协议 238

6.3.1 协调者和参与者 239

6.3.2 两段提交协议的基本思想 239

6.3.3 两段提交协议的基本流程 240

6.4 分布式事务管理的实现 241

6.4.1 LTM与DTM 241

6.4.2 分布式事务执行的控制模型 242

6.4.3 分布式事务管理的实现模型 244

6.5 两段提交协议的实现方法 245

6.5.1 集中式方法 245

6.5.2 分布式的2PC 245

6.5.3 分层式方法 246

6.5.4 线性方法 247

6.6 非阻塞分布式事务提交协议 248

6.6.1 三段提交协议的基本思想 248

6.6.2 三段提交协议的基本流程 250

6.7 Oracle分布式事务管理案例 251

6.8 大数据库的事务管理 254

6.8.1 大数据库的事务管理问题 254

6.8.2 大数据库系统设计的理论基础 255

6.8.3 弱事务型与强事务型大数据库 256

6.8.4 大数据库中的事务特性 258

6.8.5 大数据库的事务实现方法 260

6.9 本章小结 268

习题 268

主要参考文献 269

第7章 分布式恢复管理 271

7.1 分布式恢复概述 271

7.1.1 故障类型 271

7.1.2 恢复模型 273

7.2 集中式数据库的故障恢复 276

7.2.1 局部恢复系统的体系结构 276

7.2.2 数据更新策略 276

7.2.3 针对不同更新事务的恢复方法 277

7.3 分布式事务的故障恢复 278

7.3.1 两段提交协议对故障的恢复 278

7.3.2 三段提交协议对故障的恢复 281

7.4 分布式可靠性协议 283

7.4.1 可靠性和可用性 284

7.4.2 分布式可靠性协议的组成 285

7.4.3 两段提交协议的终结协议 286

7.4.4 两段提交协议的演变 288

7.4.5 三段提交协议的终结协议 288

7.4.6 三段提交协议的演变 290

7.5 Oracle分布式数据库系统故障恢复案例 291

7.6 大数据库的恢复管理 294

7.6.1 大数据库的恢复管理问题 294

7.6.2 大数据库系统中的故障类型 294

7.6.3 大数据库系统的故障检测技术 295

7.6.4 基于事务的大数据库容错技术 297

7.6.5 基于冗余的大数据库容错技术 300

7.7 本章小结 303

习题 303

主要参考文献 304

第8章 分布式并发控制 306

8.1 分布式并发控制的基本概念 306

8.1.1 并发控制问题 306

8.1.2 并发控制定义 307

8.2 并发控制理论基础 308

8.2.1 事务执行过程的形式化描述 308

8.2.2 集中式数据库的可串行化问题 308

8.2.3 分布式事务的可串行化问题 310

8.3 基于锁的并发控制方法 310

8.3.1 锁的类型和相容性 310

8.3.2 封锁规则 310

8.3.3 锁的粒度 311

8.4 两段封锁协议 311

8.4.1 基本的两段封锁协议 311

8.4.2 严格的两段封锁协议 313

8.4.3 可串行化证明 313

8.5 分布式数据库并发控制方法 314

8.5.1 基于锁的并发控制方法的实现 314

8.5.2 基于时间戳的并发控制算法 316

8.5.3 乐观的并发控制算法 318

8.6 分布式死锁管理 320

8.6.1 死锁等待图 320

8.6.2 死锁的检测 320

8.6.3 死锁的预防和避免 322

8.7 Oracle分布式数据库系统并发控制案例 323

8.7.1 Oracle中的锁机制 323

8.7.2 Oracle中的并发控制 323

8.8 大数据库并发控制技术 324

8.8.1 事务读写模式扩展 325

8.8.2 封锁机制扩展 326

8.8.3 基于多版本并发控制扩展 328

8.8.4 基于时间戳并发控制扩展 331

8.9 本章小结 333

习题 333

主要参考文献 335

第9章 数据复制与一致性 336

9.1 数据复制的作用 336

9.2 数据复制一致性模型 337

9.3 分布式数据库复制策略 338

9.3.1 数据复制的执行方式 338

9.3.2 数据复制的实现方法 339

9.3.3 数据复制的体系结构 339

9.4 数据复制协议 340

9.4.1 主从复制协议 340

9.4.2 对等复制协议 343

9.5 大数据库一致性协议 345

9.5.1 Paxos协议 345

9.5.2 反熵协议 346

9.5.3 NWR协议 347

9.5.4 向量时钟技术 348

9.6 大数据库复制一致性管理 349

9.6.1 基于Paxos的复制管理技术 349

9.6.2 基于反熵的复制管理技术 353

9.6.3 基于NWR的复制管理技术 354

9.6.4 基于向量时钟的复制管理技术 355

9.7 本章小结 356

习题 356

主要参考文献 356

第10章 P2P数据管理系统 358

10.1 P2P系统概述 358

10.2 P2P系统的体系结构 359

10.2.1 集中式P2P网络 359

10.2.2 全分布式P2P网络 360

10.2.3 混合型P2 P网络 361

10.3 P2P系统中的数据管理 361

10.4 资源的定位和路由 362

10.4.1 面向非结构化P2 P网络的资源定位方法 362

10.4.2 面向结构化P2 P网络的资源定位方法 363

10.5 处理语义异构性 366

10.6 查询处理与优化 367

10.6.1 查询处理 367

10.6.2 查询优化 368

10.7 本章小结 369

习题 369

主要参考文献 369

第11章 Web数据库集成系统 371

11.1 Web数据库集成系统概述 371

11.2 三种体系结构介绍 372

11.2.1 数据供应模式 372

11.2.2 数据收集模式 372

11.2.3 元搜索模式 373

11.3 基于元搜索模式的Web数据库集成系统WDBIntegrator 374

11.3.1 系统总体结构 374

11.3.2 Web数据库资源搜索子系统 376

11.3.3 资源查询子系统 377

11.4 本章小结 380

习题 380

主要参考文献 380

第12章 大数据库系统研究进展 382

12.1 数据模型的研究 382

12.1.1 支持大数据库管理的数据模型研究 382

12.1.2 读写方式 384

12.1.3 支持大数据库管理的分布式索引技术 385

12.1.4 支持的查询 387

12.2 基于MapReduce框架的查询处理与优化技术研究 387

12.2.1 基于MapReduce的支持大数据处理的优化框架研究 387

12.2.2 基于MapReduce的支持大数据计算的优化策略研究 388

12.2.3 基于MapReduce的支持多数据集的连接查询研究 389

12.2.4 MapReduce与NoSQL数据库相结合的研究 390

12.3 支持事务的研究 391

12.3.1 应用层保证事务一致性 392

12.3.2 本地事务支持 392

12.3.3 有限范围内的事务支持 392

12.3.4 弹性的事务支持 392

12.3.5 面向分区数据支持分布式事务的研究 393

12.3.6 异构多存储的可扩展的事务 393

12.4 动态负载均衡技术的研究 394

12.4.1 面向多租户的动态迁移技术 394

12.4.2 面向查询处理的负载均衡技术 395

12.4.3 基于中间件的面向负载的动态均衡技术 395

12.5 副本管理研究 396

12.5.1 自适应副本策略研究 396

12.5.2 数据一致性维护策略研究 396

12.5.3 多数据中心的副本一致性维护策略研究 397

12.6 支持多存储模式的数据库系统 398

12.6.1 支持访问多数据模式的大数据库系统 398

12.6.2 自适应的多数据模式的大数据库系统 399

12.6.3 支持分析型数据的分布式数据库系统 399

12.7 其他研究 401

12.8 总结及研究展望 402

12.8.1 关键技术问题 402

12.8.2 研究挑战 404

习题 405

主要参考文献 405