《让Oracle跑得更快2—基于海量数据的数据库设计与优化》
《让Oracle跑得更快2—基于海量数据的数据库设计与优化》
编辑推荐
国内第一本以作者10年的工作经历打造的
基于海量数据的数据库设计与优化的书籍
基本信息
作者:谭怀远
丛书名: ITPUB技术丛书
出版社:电子工业出版社
ISBN:9787121139215
上架时间:2011-8-1
出版日期:2011 年7月
http://product.china-pub.com/198426
《让Oracle跑得更快2—基于海量数据的数据库设计与优化》电子书在线阅读
内容简介
数据库设计,是最近几年才出现的技术领域,再早的时候,数据库是以一个黑盒的方式,附属到某个系统当中的,开发人员对它的关注非常少。
近年来,由于很多系统数据量呈几何级数激增,各种性能问题日益凸显出来,而这种性能问题绝大多数都落在了数据的载体—数据库身上,因此,人们越来越关注数据库的性能。而一个数据库性能的好坏,通常是在系统设计阶段就决定了的,于是,将数据库从系统设计中拿出来单独进行设计,变得越来越主流了。
这是一本以讨论海量数据环境下oracle数据库设计与优化的书籍,也是作者10年来从事oracle数据库工作的心得体会,是作者工作经验的结晶,这样的书籍并不多见。
本书通篇围绕着在海量数据环境下,如何构造一个高效的oracle数据库这一核心,将许多相关技术融汇到这个核心话题当中,这些技术包括:分区、索引、数据库对象属性、并行技术、只读表空间、初始化参数、几种常见的数据库架构,以及在特定数据库架构下数据库的备份和恢复等相关技术。
《让oracle跑得更快2—基于海量数据的数据库设计与优化》适合于oracle dba、开发人员、项目经理或者其他对数据库性能感兴趣的人员。
目录
《让oracle跑得更快2—基于海量数据的数据库设计与优化》
第一篇 分 区
第1章 分区的渊源 2
1.1 delete与系统资源 3
1.2 delete与释放空间 10
第2章 分区在海量数据库中的应用 15
2.1 分区的种类 16
2.1.1 范围分区 16
2.1.2 哈希分区 35
2.1.3 列表分区 42
2.1.4 组合分区 43
2.2 三种分区的比较 46
2.2.1 范围分区的适用情况 47
2.2.2 哈希分区的效率 47
2.2.3 列表分区与范围分区各自的优势 54
2.3 小结 61
第二篇 索 引
第3章 b树索引 64
3.1 b树索引概述 65
3.2 b树索引的效率 66
.3.2.1 主键或者唯一性约束 66
3.2.2 键值重复率低的字段比较适合使用b树索引 77
第4章 位图索引 85
4.1 位图索引概述 86
4.2 什么时候使用位图索引 97
第5章 全文索引 109
5.1 全文索引概述 109
5.1.1 全文索引和普通索引的对比 110
5.1.2 全文索引的对象 114
5.1.3 全文索引在海量数据库中的应用 123
5.2 全文索引的空间 138
5.3 全文索引和dml操作 145
5.3.1 insert操作 146
5.3.2 delete操作 149
5.3.3 update操作 150
5.4 ctx_report工具包 154
5.4.1 ctx_report.describe_index 158
5.4.2 describe_policy函数 161
5.4.3 create_index_script函数 162
5.4.4 create_policy_script函数 164
5.4.5 index_size函数 165
5.4.6 index_stats存储过程 168
5.4.7 query_log_summary存储过程 170
5.5 小结 175
第三篇 对 象 属 性
第6章 对象属性概述 178
6.1 oracle数据库中的对象属性 178
6.2 对象属性和系统的关系 183
第7章 并行度 185
7.1 对象属性上的并行 186
7.2 使用hint方式并行执行 189
7.3 索引上的并行度 193
第8章 数据压缩 198
8.1 数据压缩技术的应用 199
8.2 分区索引的压缩 203
8.3 数据压缩的优越性 205
8.3.1 节省空间 205
8.3.2 性能的提高 212
8.4 dml操作和数据压缩 219
第9章 只读表空间 227
9.1 只读表空间与数据备份和恢复的关系 228
9.2 只读表空间对于数据库的启动和关闭的影响 231
9.3 只读表空间可以防止数据被意外删除和修改 237
9.4 只读表空间使表空间的管理更加方便 240
第10章 数据库对象的分析 245
10.1 cbo和rbo 246
10.2 分析和动态采样 251
10.3 对象分析的频度 254
10.3.1 数据入库后不再改变 255
10.3.2 数据存在表中且经常改变 271
第四篇 海量数据的数据库架构设计
第11章 rac架构 285
11.1 rac在海量数据库中的应用 293
11.2 rac架构之业务分割 295
11.3 rac架构之负载均衡 308
11.3.1 客户端的负载均衡 308
11.3.2 服务器端的负载均衡 313
11.4 rac架构之failover 316
第12章 分布式数据库架构 319
12.1 分布式数据库的优越性 319
12.2 分布式数据库的数据处理 321
12.3 分布式数据库的字符集 323
第13章 data guard架构 325
13.1 data guard概述 326
13.2 data guard的保护模式 329
13.2.1 最高数据保护模式 329
13.2.2 最高性能模式 329
13.2.3 最高可用性模式 330
13.3 data guard和rac 331
13.4 data guard中standby数据库的类型 332
13.4.1 物理standby数据库 332
13.4.2 逻辑standby数据库 333
第14章 存储架构的设计(asm+san) 335
14.1 asm 336
14.1.1 方便存储管理 337
14.1.2 asm的一个管理工具—asmcmd 345
14.1.3 存储的高可用性 348
14.1.4 提升存储性能 350
14.2 san 352
第15章 海量数据的备份和恢复 354
15.1 传统的数据备份方案 354
15.1.1 通过数据导出方式备份数据 355
15.1.2 数据库冷备份 355
15.1.3 数据库热备份 356
15.2 海量数据的数据库备份和恢复方案 357
15.2.1 使用分布式数据库 357
15.2.2 以传递表空间的方式对表空间进行备份和恢复 358
15.2.3 对加载数据进行备份 368
第五篇 初始化参数
第16章 内存相关的参数 373
16.1 sga_target 373
16.2 pga_aggregate_target 379
第17章 i/o相关的参数 382
17.1 db_file_multiblock_read_count 383
17.2 和数据库i/o及数据文件相关的其他4个参数 388
17.2.1 db_writer_processes 388
17.2.2 disk_asynch_io 389
17.2.3 dbwr_io_slaves 389
17.2.4 db_files 390
第18章 优化器相关的参数 391
18.1 cursor_sharing 391
18.2 optimizer_dynamic_sampling 394
18.3 optimizer_mode 398
18.3.1 all_rows 398
18.3.2 first_rows_n 398
18.3.3 first_rows 399
第19章 其他的参数 400
19.1 并行相关的参数 400
19.1.1 在对象的属性中设置并行 401
19.1.2 在hint中使用并行 401
19.2 分布式数据库相关的参数 404
附录a oracle字符集 406
附录b show_space存储过程 415
附录c 一个典型的olap系统数据库的设计方案 419