《物理数据库设计 索引、视图和存储技术》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)莱特斯通,(美)特里,(美)纳多著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302239314
  • 页数:283 页
图书介绍:本书全面讲述数据库物理设计方案,主要包括:物理数据库设计概况,基本索引方法,查询优化和方案选择等内容。

第1章 物理数据库设计概况 1

1.1 动机——数据增长和与日俱增的物理数据库设计 1

1.2 数据库生命周期 4

1.3 物理设计的元素:索引、分区和群集 5

1.3.1 索引 6

1.3.2 物化视图 7

1.3.3 分区和多维群集 7

1.3.4 物理数据库设计的其他方法 7

1.4 物理设计为什么这么困难 8

1.5 文献综述 9

第2章 基本索引方法 10

2.1 B+树索引 10

2.2 复杂的索引检索 14

2.2.1 复杂索引方法 16

2.2.2 表扫描 16

2.3 位图索引 17

2.4 记录标识符 18

2.5 小结 18

2.6 文献综述 19

第3章 查询优化和方案选择 20

3.1 查询过程和优化 20

3.2 有用的数据库优化特性 20

3.2.1 查询转换和重写 21

3.2.2 查询执行计划视图 21

3.2.3 柱状图 21

3.2.4 查询执行计划提示 21

3.2.5 优化深度 22

3.3 查询成本估计——一个例子 22

3.3.1 查询案例3.1 22

3.4 查询执行计划开发 27

3.4.1 查询执行计划的转换规则 27

3.4.2 查询执行计划的重构算法 28

3.5 选择因素、表规模和查询成本估算 28

3.5.1 估算一个选择操作或预期的选择性因素 28

3.5.2 直方图 29

3.5.3 估算关联的选择性因素 30

3.5.4 查询案例3.2 30

3.5.5 估算查询执行计划表大小的例子 32

3.6 小结 32

3.7 文献综述 33

第4章 选择索引 34

4.1 索引的概念及术语 34

4.1.1 基本索引类型 34

4.1.2 索引的访问方法 35

4.2 索引的经验规则 35

4.3 索引选择决策 37

4.4 连接索引选择 40

4.4.1 嵌套循环连接 40

4.4.2 块嵌套连接 42

4.4.3 索引嵌套循环连接 42

4.4.4 合并排序连接 43

4.4.5 哈希连接 44

4.5 小结 45

4.6 文献综述 46

第5章 物化视图选择 47

5.1 简单视图物化 48

5.2 使用通用性 51

5.3 使用分组和归纳 56

5.4 资源的一些注意事项 57

5.5 实例:“好的”、“差的”以及“可怕的” 59

5.6 使用语法和范例 62

5.7 小结 64

5.8 文献综述 64

第6章 无共享分区 65

6.1 理解无共享分区 65

6.1.1 无共享系统架构 65

6.1.2 为什么无共享架构会受到追捧 67

6.2 更多关键概念和术语 67

6.3 哈希分区 68

6.4 无共享架构的优缺点 69

6.5 无共享架构在OLTP系统中的使用 71

6.6 设计的挑战:偏斜与连接配置搭配 73

6.6.1 数据偏斜 73

6.6.2 配置搭配 74

6.7 降低节点间数据传送的数据库设计技巧 74

6.7.1 谨慎分区 74

6.7.2 物化视图复制以及其他复制技术 75

6.7.3 节点间互联 78

6.8 拓扑设计 79

6.8.1 使用节点的子集 79

6.8.2 逻辑节点与物理节点 81

6.9 资金去向 81

6.10 网格计算 82

6.11 小结 83

6.12 文献综述 84

第7章 范围分区 85

7.1 范围分区基础 85

7.2 列表分区 86

7.2.1 列表分区基础 86

7.2.2 范围分区和列表分区组合 87

7.3 语法示例 87

7.4 管理以及快速Roll-in、Roll-out 89

7.4.1 隔离工具 89

7.4.2 R0ll-in和Roll-out 90

7.5 增强寻址能力 91

7.6 分区消除 91

7.7 索引范围分区数据 94

7.8 范围分区和群集索引 94

7.9 完整的形态:使用多维群集混合范围和哈希分区 95

7.10 小结 96

7.11 文献综述 97

第8章 多维群集 98

8.1 了解MDC 99

8.1.1 为什么群集这么有帮助 99

8.1.2 MDC 100

8.1.3 创建MDC表的语法格式 103

8.2 MDC的性能优势 103

8.3 不仅仅是查询性能:转入(Roll-in)和转出(Roll-out)的设计 105

8.4 MDC的查询优势实例 106

8.5 存储研究 107

8.6 设计MDC表 109

8.6.1 用粗糙度限制存储扩展 109

8.6.2 MDC利用的单调性 111

8.6.3 选择合适的维度 112

8.7 小结 113

8.8 文献综述 114

第9章 相互依赖的问题 115

9.1 强弱关联分析 115

9.2 过程优先的瀑布策略 117

9.3 效果优先的瀑布策略 117

9.4 变更管理的贪婪算法 118

9.5 流行的策略(鸡汤算法) 119

9.6 小结 120

9.7 文献综述 121

第10章 物理设计探索中的计数和数据抽样 122

10.1 应用物理数据库设计 122

10.1.1 索引设计的计数 124

10.1.2 物化视图设计的计数 124

10.1.3 多维群集的计数 125

10.1.4 无共享分区设计的计数 126

10.2 抽样功能 127

10.2.1 使用SQL抽样的好处 127

10.2.2 数据库设计的抽样 128

10.2.3 抽样类型 131

10.2.4 重复性抽样 133

10.3 一个明显的限制 133

10.4 小结 134

10.5 文献综述 135

第11章 查询执行计划和物理设计 137

11.1 从查询文本获取到结果集 137

11.2 查询执行计划究竟是什么样 140

11.3 非图形化的Explain 141

11.4 浏览查询执行计划以改进数据库设计 144

11.5 用于改进物理数据库设计的查询执行计划标示符 149

11.6 不更改数据库的探索 151

11.7 当查询优化器选择失误时强制执行 151

11.7.1 3种基本策略 151

11.7.2 查询提示简介 152

11.7.3 当SQL不能被修改时的查询提示 154

11.8 小结 156

11.9 文献综述 156

第12章 自动化物理数据库设计 157

12.1 如果假设分析、索引以及其他 158

12.2 Oracle、DB2以及SQL Server的自动化设计功能 161

12.2.1 IBM DB2 Design Advisor 162

12.2.2 Microsoft SQL Server Database Tuning Advisor 166

12.2.3 Oracle SQL Access Advisor 169

12.3 使用分组和泛化 171

12.4 可扩展性以及工作负荷的压缩 172

12.5 测试系统与生产系统之间的设计探索 175

12.6 出版文献中的一些实验性结果 176

12.7 索引选择 179

12.8 物化视图选择 180

12.9 多维群集选择 182

12.10 无共享分区 183

12.11 范围分区设计 184

12.12 小结 186

12.13 文献综述 186

第13章 实质探讨:服务器资源和拓扑 188

13.1 需要了解的有关CPU架构以及发展趋势的内容 189

13.1.1 CPU性能 189

13.1.2 使用并行处理加速系统的阿姆达尔定律 191

13.1.3 多核CPU 192

13.2 客户机服务器架构 192

13.3 对称多处理器与NUMA 194

13.3.1 对称多处理器与NUMA概述 194

13.3.2 缓存一致性与伪共享 195

13.4 服务器群集 195

13.5 关于操作系统的一般知识 195

13.6 存储系统 196

13.6.1 磁盘、轴以及分割 197

13.6.2 存储区域网络与网络连接存储设备 198

13.7 利用RAID使存储既可靠又快捷 199

13.7.1 RAID的历史 199

13.7.2 RAID 0 200

13.7.3 RAID 1 200

13.7.4 RAID 2以及RAID 3 201

13.7.5 RAID 4 202

13.7.6 RAID 5以及RAID 6 202

13.7.7 RAID 1+0 203

13.7.8 RAID 0+1 204

13.7.9 RAID 10+0以及RAID 5+0 204

13.7.10 哪种RAID最适合数据库的需求 205

13.8 在数据库服务器中均衡资源 206

13.9 可用性以及恢复策略 206

13.10 主内存与数据库调整 210

13.10.1 人工内存调整 210

13.10.2 自动内存调整 212

13.10.3 技术前沿:自调整内存管理的最新策略 215

13.11 小结 224

13.12 文献综述 224

第14章 决策支持、数据仓库和OLAP系统中的物理设计 226

14.1 什么是OLAP 226

14.2 维度层次结构 228

14.3 星型模式和雪花模式 229

14.4 仓库与集市 230

14.5 按比例扩大系统 233

14.6 在DSS、仓库以及OLAP设计中的注意事项 234

14.7 主流数据库服务器的使用语法以及例子 235

14.7.1 Oracle 235

14.7.2 Microsoft分析服务 236

14.8 小结 238

14.9 文献综述 238

第15章 逆规范化 240

15.1 有关规范化的基础知识 240

15.2 逆规范化的常见类型 243

15.2.1 一一对应关系中的实体 243

15.2.2 一对多关系中的实体 244

15.3 表逆规范化策略 246

15.4 逆规范化的例子 246

15.4.1 需求规格 247

15.4.2 逻辑设计 247

15.4.3 使用逆规范化进行模式优化 249

15.5 小结 252

15.6 文献综述 252

第16章 分布式数据分配 253

16.1 引言 253

16.2 分布式数据库分配 255

16.3 复制数据分配——“最有益站点”方法 256

16.4 渐进表分配方法 260

16.5 小结 261

16.6 文献综述 261

附录A 一个简单的性能模型数据库 263

A.1 I/O时间成本——单独块访问 263

A.2 I/O时间成本——表扫描和排序 263

A.3 网络时间延迟 264

A.4 CPU时间延迟 264

附录B Oracle Data Guard与DB2 HADR的数据库灾难恢复技术比较 265

B.1 在故障转移期间备用始终保持其“热”度 266

B.2 快速故障转移 266

B.3 地域分离 266

B.4 支持多种备用服务器 266

B.5 支持在备用服务器上的读取 267

B.6 主服务器在故障转移后可以很容易重建 267

参考书目 268