搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
物理数据库设计:索引、视图和存储技术
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302239314
  • 作      者:
    Sam Lightstone,Toby Teorey,Tom Nadeau
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2010
收藏
编辑推荐
    这是第一本全面讲述数据库物理设计的书籍。关系数据库中所包含信息的迅速增加,使得数据库、性能和可维护性变得不再简单,DBA比以往任何时候都要在更大压力下去优化数据库结构的系统性能和管理。
    《物理数据库设计——索引、视图和存储技术》一书讨论数据库的物理结构如何影响性能,包括具体的例子、向导、各种DBMS和配置的最好和最差的应用实例;一些简单的内容,如提高表的索引设计对性能有深远的影响;不同形式的数据库,如联机事务处理(OLTP)、企业资源管理(ERP)、数据挖掘(DM)和管理资源计划(MRP)等,这些数据库都可以使用书中提供的方法改善性能。
展开
作者简介
    Sam Lightstone,是IBM的DB2产品开发团队研发经理及高级技术人员,他的工作涉及 自主计算和关系数据库管理系统的许多方面。Sam Lightstone是DB2自主计算研发工作的 领导者和创始人之一,是自治数据库系统方面IEEE数据工程组的主席,是自治和自主计 算方面IEEE计算机协会任务组的成员。2003年,他当选为IBM技术研究院加拿大子公司 的杰出技术委员会委员。Sam Lightstone是IBM的发明大师,拥有超过25项专利和未决专 利,他所发表的成果涉及许多关于关系数据库系统自主计算的内容,从1991年开始一直就 职于IBM。
    Toby Teorey是密歇根大学安娜堡分校电气工程与计算机科学系名誉教授以及工程学 院学术项目主任。他先后获得亚利桑那大学图森分校电气工程的理学学士、理学硕士学位 以及威斯康星大学麦迪逊分校的计算机科学博士学位,也一直是各种数据库会议委员会的 项目委员会主席和成员。
    Tom Nadeau是阿拉丁软件(aladdinsoftware.com)的创始人,研究方向是数据及文本 挖掘领域。他先后获得密歇根大学安娜堡分校计算机科学理学学士、电气工程和计算机科 学硕士、博士学位,其研究的技术领域包括数据仓库、OLAP、数据挖掘和机器学习,并于 2001年获得IBM CASCON会议的最佳论文奖。
展开
内容介绍
    《物理数据库设计:索引、视图和存储技术》全面讲述数据库物理设计方案,主要包括物理数据库设计概况,基本索引方法,查询优化和方案选择,选择索引,物化视图选择,无共享分区,范围分区,多维群集,相互依赖的问题,物理设计探索中的计数和数据抽样,查询执行计划和物理设计,自动化物理数据库设计,服务器资源和拓扑,决策支持、数据仓库和OLAP系统中的物理设计,逆规范化以及分布式数据分配等内容。《物理数据库设计:索引、视图和存储技术》适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
展开
精彩书评
    我强烈推荐由Lightstone、Teorey以及Nadeau所撰写的《物理数据库设计》一书。本书涵盖了诸多有关良好物理设计的内容:如在使用索引、物化视图的权衡以及物理数据布局等不同方法时的效果。与其他类似书籍所不同的是,本书并不是局限在某种特定的产品之上,而是那些被产品表面所遮蔽的更深层次的内容。本书还涉及到交易密集型应用程序(OLTP)以及数据仓库(OLAP)方面的内容。总之,本书十分值得期待。
    ——Michael Blaha,OMT Associates,Inc。
    这是一部物理数据库设计方面的优秀著作,她给予读者务实的模型以及建议。为广大的从业者以及学习者提供了丰富的信息,并通过DB2、Oracle以及SQL Server中的实例介绍相关分析模型以及实用的提示信息。
    ——Jim Gray,Microsoft Research
展开
精彩书摘
    第1章 物理数据库设计概况
    我没有丢弃我的想法,它已经备份在了某一张磁盘上。
    ——佚名
    在1974年密歇根州安阿伯市,美国计算机协会文件说明与翻译组(ACM SIGFIDE,现更名为:国际数据管理协会,SIGMOD)举办的年会及其随后的数据系统语言会议报告中,关系数据模型之父特德考得与网络数据模型思想提出者查理贝克汉姆发生了激烈辩论。到底什么样的逻辑模型才是最好的数据库逻辑模型?将近30年各种学术期刊和商业杂志都充斥着这种辩论,直到2003年特德考得去世后,这种辩论才逐渐平息下来。尽管最终关系数据库模型占据了上风,但由于最初的争论,许多数据库系统开始建立并支持这两种数据库模型,各种系统所使用的基础物理数据库结构也随之发展起来了。最初物理设计主要是系统能够采用什么类型的索引,B+树索引几乎占据了所有系统场景。后来,类似群集和分区的其他概念开始变得重要,但在20世纪70年代的争论之后,这些方法与逻辑结构的关系越来越少。
    逻辑数据库设计,更确切地说是对于一个特定数据库系统的逻辑设计,大多数应用程序设计人员和程序员已经掌握了基本数据关系及概念定义。设计人员的逻辑设计工作可以利用并借助ERWin数据模型工具、Rational Rose UML建模或使用纯手工方法实现。物理数据库设计就是在您正在使用的计算机平台上,实现高效的数据存储、检索机制,通常是数据库管理员的工作,今天有一些厂家提供的工具可以帮助数据库管理员设计一个非常高效的数据库。本书将主要致力于关系数据库的物理设计方法和流行工具介绍,书中例子也将采取常见的数据库系统——Oracle、DB2(IBM)和SQL Server(Microsoft)来描述这些物理数据库的设计概念。
    1.1 动机——数据增长和与日俱增的物理数据库设计
    物理数据库设计真的有那么重要吗?答案是肯定的。一些计算机专家除了运行自己正在运行的商业外,很少去做其他的事情,更不要说帮助客户提升他们的表索引设计性能。这也同样令人印象深刻,问题查询提升了50倍的效率。真正推动物理数据库设计的是数据卷,毕竟,一个数据库只有几行数据,对于数据库物理设计并不是什么问题,执行一个应用程序存储一个小数据库不可能影响到基础的数据库物理设计。在特定的领域内,实际的索引选择对一个有20多行数据的数据库并不是很困难。然而,随着数据卷的增长,位于数据存储模式下的物理结构就显得非常重要了。物理数据库设计实际上是被数据卷引发的。毕竟,一个只有几行数据的数据库对于物理数据库设计实际上是没有任何争论的,访问小型数据的应用程序性能不可能被基础系统的物理设计深入影响。从实践的观点来看,索引选择对于只有20行记录的数据库实际上并不重要。然而,随着数据卷的增长,位于数据库访问模式之下的物理结构日渐重要。
    一些因素正在激发数据按照3种形式呈戏剧化增长,这3种形式是结构化(如关系元组)、半结构化(如XML)和非结构化数据(如音频、视频等)。大多数数据增长可以归结于快速扩展和无处不在的网络计算机和终端,几乎存在于每个家庭、商业机构之中,存储在工业世界中。此外,随着个人快速使用移动电话和PDA等可以连接网络并用于共享数据的工具,数据卷开始进一步跳跃式发展。在企业系统中,以10T测算的数据库也开始变得很普通。随着人类基因组的3亿个碱基对的测绘工作,制药公司正在研究覆盖人类基因的以蛋白质为基础的基因工程网络,这将会在数据库中产生几拍(它)字节PB(1PB=1000T或1PB=1000000G)大小的分析数据。表1.1数据显示的是伯克加州大学1999年展开的一项调查。从这个调查研究报告中,可以看到存储在磁盘上的部门和企业数据正在以每年100%的速度快速增长。事实上,没有人能够知道数据增长模式将在哪里停止或数据增长将何时停止。
    表1.1 全球性产品的原始内容、存储数据(以TB为单位)
    存 储 介 质 类 型 TB年(高) TB年(低) 增长率%
    纸质 书 8 1 2
    报纸 25 2 -2
    期刊杂志 12 1 2
    官方文件 195 19 2
    小计 240 23 2
    胶片 照片 410000 41000 5
    影视 16 16 3
    X光 17200 17200 2
    小计 427216 58216 4
    光学介质 音乐CD 58 6 3
    数据CD 3 3 2
    DVD 22 22 100
    小计 83 31 70
    磁性介质 摄像机磁带 300000 300000 5
    PC机磁盘驱动器 766000 7660 100
    部门级服务器 460000 161000 100
    企业级服务器 167000 108550 100
    小计 1693000 577210 55
    总计 2120539 635480 50
    资料来源:美国加州大学伯克利分校的研究,1999。另外,还有一些特殊事情的发生带动了数据量。这些事情悄无声息地发生,没有任何人干扰并提起它们,但变化还是可以定量和令人深思的。在2000年左右,存储的价格下降了1个点,在计算机磁盘上存储数据开始变得比在纸张上存储数据便宜(如图1.1所示)。事实上,这大概是西方文明发展史上一次伟大的转折点。羊皮纸、纸莎草和文件已经记录了过去的2000多年文明,突然间,这种文字记录模式开始出现衰败,现在电子文件不仅可以用来满足分享和分析的乐趣,而且也更为经济。
    图1.1 存储价格(来源:IBM的研究)
    剧烈增长的数据模式已经改变了应用系统必须访问和处理的关系数据库的数据量大小,但是快速增长的数据模式并没有改变完成操作的速度。事实上,在很大程度上,计算机定义的数据处理的执行目标要比人类定义的目标更加合理,例如,一个人愿意等待完成事务的时间可以是等待自动提款机的时间,也可以是每天晚上收盘和每天早晨开盘之间的几个小时非高峰可用时间。这些限制因素主要取决于人类的期望,并且不依赖于所操作的数据卷。虽然数据卷和分析的复杂度在快速增长,作为人类的期望变化速度却慢得多。一些缓解手段已经被发现,因为尽管数据卷在不断增长,但随着现代数据服务器的计算能力的提升,数据卷的计算能力也在增长。然而,固化服务器技术减少IT支出、增加数据处理能力的现象正在减轻,正是因为这个原因,随着服务器处理能力的增加,数据服务器往往需要承担更多的用途,而不是为了让单一的任务执行得更快。
    尽管按照摩尔定律,20世纪70年代中期以来,CPU的处理能力每18个月增长一倍,但磁盘读写速度也在按照一个比较适中的速度快速增加(请参见第13章关于摩尔定律的更加深入的讨论)。最终,数据正在越来越多地用于检测信息,而不仅仅是处理数据,与其同时,正在崛起的在线分析处理(OLAP)、数据挖掘和其他形式的商业智能计算,造成实际处理过程复杂性的剧增。
    这些因素诱发了物理数据库设计复杂而精密的方法。为什么呢?通过利用设计技巧,设计人员能够在某些场景中减少几个数量级的业务处理时间。当您等候在银行取款机准备提取您的现金,或等一个投资数百万美元的投资决策商业贸易分析结果时,提升计算效率上千倍是真实且有价值的,也是非常有必要的。
    1.2 数据库生命周期
    数据库设计生命周期的基本步骤包括利用数据库管理系统(DBMS)的具体表定义方法从用户需求的概念模型设计概念模型和对物理数据库的索引、分区、群集和具体选择性进行实际性能调优。对于分布式数据库,物理数据库设计还涉及分配计算机网络数据。一旦设计完成,数据库生命周期将在实现和维护中继续延续。数据库生命周期如图1.2所示。物理数据库设计被定义在整个数据库生命周期的上下文中,用于显示物理数据库设计关系到其他设计步骤。
展开
目录
第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 Roll-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 IO时间成本——单独块访问 263
A.2 IO时间成本——表扫描和排序 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
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证