让Oracle跑得更快2—基于海量数据的数据库设计与优化
基本信息
编辑推荐
国内第一本以作者10年的工作经历打造的
基于海量数据的数据库设计与优化的书籍
推荐阅读
内容简介回到顶部↑
数据库设计,是最近几年才出现的技术领域,再早的时候,数据库是以一个黑盒的方式,附属到某个系统当中的,开发人员对它的关注非常少。
近年来,由于很多系统数据量呈几何级数激增,各种性能问题日益凸显出来,而这种性能问题绝大多数都落在了数据的载体—数据库身上,因此,人们越来越关注数据库的性能。而一个数据库性能的好坏,通常是在系统设计阶段就决定了的,于是,将数据库从系统设计中拿出来单独进行设计,变得越来越主流了。
这是一本以讨论海量数据环境下oracle数据库设计与优化的书籍,也是作者10年来从事oracle数据库工作的心得体会,是作者工作经验的结晶,这样的书籍并不多见。
本书通篇围绕着在海量数据环境下,如何构造一个高效的oracle数据库这一核心,将许多相关技术融汇到这个核心话题当中,这些技术包括:分区、索引、数据库对象属性、并行技术、只读表空间、初始化参数、几种常见的数据库架构,以及在特定数据库架构下数据库的备份和恢复等相关技术。
《让oracle跑得更快2—基于海量数据的数据库设计与优化》适合于oracle dba、开发人员、项目经理或者其他对数据库性能感兴趣的人员。
近年来,由于很多系统数据量呈几何级数激增,各种性能问题日益凸显出来,而这种性能问题绝大多数都落在了数据的载体—数据库身上,因此,人们越来越关注数据库的性能。而一个数据库性能的好坏,通常是在系统设计阶段就决定了的,于是,将数据库从系统设计中拿出来单独进行设计,变得越来越主流了。
这是一本以讨论海量数据环境下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
第一篇 分 区
第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
前言回到顶部↑
一年前的这个时候,我也是在写一本书,书名叫《让Oracle跑得更快—Oracle 10g性能分析与优化思路》。
那是一本讲Oracle性能优化的书,书是在2010年8月初上市的,销量出乎意料的好,曾经一度在中国互动出版网(china-pub.com)上排在计算机类书的销售第一位,随后在当当网的数据库类书中也长时间占据着销售排名的首位。
现在的这本书可以看作是《让Oracle跑得更快—Oracle 10g性能分析与优化思路》的姊妹篇,它继承了上一本书的核心内容,就是写数据库的性能;同时,也保持了上一本书的写作风格,就是用一种思考和启发的方式来写作。
《让Oracle跑得更快—Oracle 10g性能分析与优化思路》主要是以知识点作为切入点来讨论Oracle数据库的性能分析和优化,比如并行技术、执行计划、优化器、AWR报告等;而本书就显得更加具体和有针对性,它主要是讨论在海量数据的情况下,数据库的设计和优化相关的话题。
这样,本书和《让Oracle跑得更快—Oracle 10g性能分析与优化思路》的内容叠加起来,就基本上形成了一套比较完整的关于数据库性能优化方面的书籍。
为什么一定要写关于数据库性能方面的书籍呢?
我一直都持有这样一种观点:现在很多的系统中,数据库的功能正在从数据存储工具的角色慢慢转变成数据处理器的角色。
近年来,用户对系统的性能要求变得越来越高,这和用户对系统的依赖性变得越来越强直接相关;而这种性能实际上很多时候就是指数据库的性能,因为数据库是数据的最终载体和数据分析、处理的机器(大多数时候)。
于是,数据库的性能问题就日益凸显出来,无论是项目负责人、开发人员还是DBA,都不可回避地要面对这个问题,唯一的区别是各自考虑的层面不同而已。
记得上一本书上市不久,ITPUB的创始人Tigerfish先生就鼓励我再写一本关于数据库设计方面的书,他的原话是这样的:
当DBA从烦琐的日常工作脱身出来举目远望的时候,再往前的一片田野便是架构问题,最好的、最彻底的能一劳永逸的优化,往往从架构设计开始。期待怀远君将来的新作,可以在这片更广阔的天地里驰骋。
在之后的沟通中,他又提及了几次,这种友好的鼓励变成了我开始考虑写这本书的原动力。
Tigerfish先生说得没错,真正的一劳永逸地解决问题的方法,就是在架构设计上。
一个好的架构,会使一个系统充满了可用性和扩展性;反之,就会后患无穷,开发人员要付出大量的后续工作,来修补这种架构缺陷导致的后遗症。
坦白地说,关于数据库的架构问题,特别是在海量数据情况下的数据库架构设计,我认为是一件不太容易的事情。
一方面,它和业务息息相关,需要考虑很多业务需求。
另一方面,数据系统架构设计,就其本身而言,在很多地方又有很大的独立性,比如:
● 分布式数据库架构
● RAC架构
● Data Guard架构
那是一本讲Oracle性能优化的书,书是在2010年8月初上市的,销量出乎意料的好,曾经一度在中国互动出版网(china-pub.com)上排在计算机类书的销售第一位,随后在当当网的数据库类书中也长时间占据着销售排名的首位。
现在的这本书可以看作是《让Oracle跑得更快—Oracle 10g性能分析与优化思路》的姊妹篇,它继承了上一本书的核心内容,就是写数据库的性能;同时,也保持了上一本书的写作风格,就是用一种思考和启发的方式来写作。
《让Oracle跑得更快—Oracle 10g性能分析与优化思路》主要是以知识点作为切入点来讨论Oracle数据库的性能分析和优化,比如并行技术、执行计划、优化器、AWR报告等;而本书就显得更加具体和有针对性,它主要是讨论在海量数据的情况下,数据库的设计和优化相关的话题。
这样,本书和《让Oracle跑得更快—Oracle 10g性能分析与优化思路》的内容叠加起来,就基本上形成了一套比较完整的关于数据库性能优化方面的书籍。
为什么一定要写关于数据库性能方面的书籍呢?
我一直都持有这样一种观点:现在很多的系统中,数据库的功能正在从数据存储工具的角色慢慢转变成数据处理器的角色。
近年来,用户对系统的性能要求变得越来越高,这和用户对系统的依赖性变得越来越强直接相关;而这种性能实际上很多时候就是指数据库的性能,因为数据库是数据的最终载体和数据分析、处理的机器(大多数时候)。
于是,数据库的性能问题就日益凸显出来,无论是项目负责人、开发人员还是DBA,都不可回避地要面对这个问题,唯一的区别是各自考虑的层面不同而已。
记得上一本书上市不久,ITPUB的创始人Tigerfish先生就鼓励我再写一本关于数据库设计方面的书,他的原话是这样的:
当DBA从烦琐的日常工作脱身出来举目远望的时候,再往前的一片田野便是架构问题,最好的、最彻底的能一劳永逸的优化,往往从架构设计开始。期待怀远君将来的新作,可以在这片更广阔的天地里驰骋。
在之后的沟通中,他又提及了几次,这种友好的鼓励变成了我开始考虑写这本书的原动力。
Tigerfish先生说得没错,真正的一劳永逸地解决问题的方法,就是在架构设计上。
一个好的架构,会使一个系统充满了可用性和扩展性;反之,就会后患无穷,开发人员要付出大量的后续工作,来修补这种架构缺陷导致的后遗症。
坦白地说,关于数据库的架构问题,特别是在海量数据情况下的数据库架构设计,我认为是一件不太容易的事情。
一方面,它和业务息息相关,需要考虑很多业务需求。
另一方面,数据系统架构设计,就其本身而言,在很多地方又有很大的独立性,比如:
● 分布式数据库架构
● RAC架构
● Data Guard架构
序言回到顶部↑
怀远君写的第一本书《让Oracle跑得更快—Oracle 10g性能分析与优化思路》于2010年8月出版,曾经在China-pub(中国互动网)和当当网的销量榜的前列占据了很长时间。在给该书写序的时候,曾经想抛砖引玉,鼓励勤于笔耕的怀远君继续在优化问题上深入下去。现在时间过去了快一年,新书《让Oracle跑得更快2—基于海量数据的数据库设计与优化》也即将面世。
针对海量数据的数据库设计方面的书,在国内市面上并不多见,本书可以看成国内作者在这个领域里一个新的探索和尝试。随着近年来很多系统中数据量呈几何级数的暴增,对于存放这些数据的数据库的关注,被提到了一个新的高度,这完全是系统需求使然,而系统需求,即为用户需求,海量数据的数据库设计,不可避免地变成系统设计中的一个新领域。
纵观全书,可以视为作者第一本书的内容延续和技术的继续探讨,在第一本书里没有涉及的分区、索引、压缩、RAC、存储规划等内容,在本书里均进行了深入讨论。
关系数据库诞生已经有30多年时间,这几十年是数据大量增长、信息爆炸的年代,经过积累,很多应用的数据量已经非常可观。作为这些数据的载体、容器,数据库承受着日益增长的压力。如何面对海量数据带来的存储、查询速度、灾备等方面的压力,是每位数据库工程师所必须面对的课题。
本书的内容,对于处于一线面临海量数据压力的专业人员具有很好的参考价值;同时,对于处于系统设计、项目经理等职位的人员,也具有极好的参考价值,可以看做是作者的另一部心血力作。
ITPUB创始人tigefish
2011年
针对海量数据的数据库设计方面的书,在国内市面上并不多见,本书可以看成国内作者在这个领域里一个新的探索和尝试。随着近年来很多系统中数据量呈几何级数的暴增,对于存放这些数据的数据库的关注,被提到了一个新的高度,这完全是系统需求使然,而系统需求,即为用户需求,海量数据的数据库设计,不可避免地变成系统设计中的一个新领域。
纵观全书,可以视为作者第一本书的内容延续和技术的继续探讨,在第一本书里没有涉及的分区、索引、压缩、RAC、存储规划等内容,在本书里均进行了深入讨论。
关系数据库诞生已经有30多年时间,这几十年是数据大量增长、信息爆炸的年代,经过积累,很多应用的数据量已经非常可观。作为这些数据的载体、容器,数据库承受着日益增长的压力。如何面对海量数据带来的存储、查询速度、灾备等方面的压力,是每位数据库工程师所必须面对的课题。
本书的内容,对于处于一线面临海量数据压力的专业人员具有很好的参考价值;同时,对于处于系统设计、项目经理等职位的人员,也具有极好的参考价值,可以看做是作者的另一部心血力作。
ITPUB创始人tigefish
2011年







点击看大图






加载中...

