 |  |  |
数据库内核是数据库系统稳定运行的心脏,DB2 数据库内核庞大而复杂。本书从 DB2 内核组件入手,同时介绍了其与操作系统在进程、共享内存、信号量之间的关系。作者在本书中重点介绍了各个内部组件的层次与功能、内存内部结构、存储内部结构、高级锁等。优化器是任何数据库执行 SQL 的关键部分,本书对优化器产生的各种执行计划进行了详细解释,这对理解 DB2 内部工作原理大有裨益。同时,本书还介绍了 DB2 各种诊断工具的使用,各种数据库配置参数含义及调整、数据库系统视图等。
本书特色:
- 本书把 DB2 作为一个运行在操作系统上的普通程序,这样更容易理解 DB2 在系统资源方面如何与操作系统交互的。
- 贯穿全书的是丰富的实践案例和脚本,读者可以从这些案例和脚本中观察出作者诊断和解决问题的思路。
- 本书把对 DB2 数据库内核讲解提升到关系型数据库管理系统应具有的组件和功能高度,熟悉其他关系型数据库的读者可以触类旁通很容易理解 DB2 数据库。
阅读本书的目录及样章|更多图书>
|
数据库内核是数据库系统稳定运行的心脏,DB2 数据库内核庞大而复杂。本书从 DB2 内核组件入手,同时介绍了其与操作系统在进程、共享内存、信号量之间的关系。作者在本书中重点介绍了各个内部组件的层次与功能、内存内部结构、存储内部结构、高级锁等。优化器是任何数据库执行 SQL 的关键部分,本书对优化器产生的各种执行计划进行了详细解释,这对理解 DB2 内部工作原理大有裨益。同时,本书还介绍了 DB2 各种诊断工具的使用,各种数据库配置参数含义及调整、数据库系统视图等。
本书结构
第 1 章 DB2 底层组件。 本章介绍了支撑 DB2 数据库管理系统运行的各个组成部分,使得用户可以了解到 DB2 的内部工作机制。通过了解这些组件,用户对实际中碰到的各种问题更加容易地找到具体故障点。本章在介绍 CCI、RDS、DMS、IXM、BPS、DPS 等组件的同时,还对各个组件给出了故障诊断案例。
第 2 章 DB2 进程体系结构。 本章介绍了 DB2 系统在不同平台上的进程模型。面对众多的进程 / 线程,作者将进程划分为与操作系统相关、与实例相关、与数据库相关和与应用程序相关的几类进程。本章还研究了 DB2 代理通信的工作原理,以及几个经常混淆的概念——交易、应用程序、代理之间的关系。本章最后介绍了与 DB2 备份、恢复、LOAD 等实用程序有关的进程,并提及 DB2 V9.5 的多线程体系结构。
第 3 章 DB2 内存体系结构。 内存是 DB2 从操作系统获取的最重要资源,本章介绍了 DB2 中内存集、内存池、内存块这三种内存的分配、回收机制。 DB2 从操作中申请到的内存主要被实例、数据库、应用程序所消耗,本章讲述了各个消耗单位与配置参数之间的关系。
第 4 章 DB2 存储内部结构。 存储模型是数据库系统在磁盘上存放数据的组织形式,主要包括各种配置文件、数据文件、日志文件的存放位置、格式定义等。本章详细讲解了表空间的物理存储结构,包括 SMS 表空间、DMS 表空间。更进一步,作者详细解释了一行数据在一个数据页面上的存放格式,同时介绍了索引页的组织形式。
第 5 章 DB2 优化器。 优化器是数据库管理系统中产生执行计划的组件,本章主要介绍了 DB2 优化器的工作原理。本章解读了执行计划中常见的操作以及它们的性能优劣,如索引扫描、表扫描、合并连接、嵌套循环连接、Hash 连接等。本章还介绍了对于不同的优化级别 DB2 系统所采用的优化算法的差别,以及与 Oracle 类似的基于规则的优化。作者还就如何影响优化器以产生我们期望的执行计划给出了一些建议,如更新统计信息、构建索引、修改配置参数等。
第 6 章 高级锁。 本章介绍了 DB2 在读取、写数据时的加锁工作过程,讲述锁在 DB2 中的内部结构以及在不同平台、位长上的区别。乐观锁是 DB2 V9.5 最新推出的功能,作者在本章中将其与传统的悲观锁进行对比,并详细解释了如何使用。本章同时还介绍了 DB2 内部使用的锁。
第 7 章 数据库配置参数。 DB2 各种配置参数对系统有着很大的影响,本章从数据库管理器参数、数据库参数、注册变量三个层面详细介绍了各种参数的调整方法,包括调整前观察的监控点、调整的范围、调整后产生的影响等。
第 8 章 DB2 数据字典。 本章介绍了 SYSCAT 模式、SYSIBMADM 模式以及 SYSSTAT 模式下的数据字典包括的内容。这些数据字典能够帮助我们对 DB2 进行日常的管理、调优工作。本章详细讲解了利用 SYSIBMADM 模式下的数字字典进行数据调优的过程。
第 9 章 高级诊断。 本章介绍了在数据库启动失败时如何利用脱机高级工具 db2dart 在物理层面上诊断坏页。同时,作者还介绍了新的联机高级工具 inspect 的使用方法。 db2trc 工具是一个函数级诊断工具,它能够跟踪出 DB2 执行了哪些函数以及消耗的时间。
第 10 章 深入讲解解释工具输出。 本章通过各种解释工具讲解了如何解读工具产生的执行计划。对这些执行计划中经常碰到的表扫描、索引扫描、临时表等的性能差异进行了比较。本章还详细讲解了 DB2 排序工作原理,以及如何在执行计划中查看排序资源需求和如何优化排序性能。预取是提高数据库 IO 性能的一个好方法,作者讲解了预取的概念、预取分类,并给出提高预取性能的指导意见。
阅读本书的目录及样章>
|