
SMART 程度更高的 DB2
热 荐
【字体:小 大】
SMART 程度更高的 DB2
作者:- 文章来源:- 点击数:1638 更新时间:2006-4-22 
Sam S. Lightstone, IBM
Guy M. Lohman, IBM
Bryan F. Smith, IBM
Randy Horman, IBM
Jim Teng, IBM
2002 年 12 月 IBM 使 DB2 朝着自我维护的方向发展,这样可以保证帮助 DBA 从容应对他们的工作负载。
IBM 使 DB2 朝着自我维护的方向发展,这样可以保证帮助 DBA 从容应对他们的工作负载。
如果您的数据库象冰箱一样易于管理,它会根据一些按钮的设置自动调整其操作,并且能够启动定期对数据“除霜”的维护操作,而无需您介入,这该有多好?这就是 IBM 自我管理和资源调优(Self-Managing And Resource Tuning (SMART))项目的目标:降低调优和管理 DB2 通用数据库(UDB)的成本。
尽管数据库的大小近年来增长迅猛,但总体拥有成本(TCO)的主要增长部分是人员成本。要感谢摩尔定律和激烈的竞争,硬件和软件的单位成本在持续下降。但熟练的应用程序开发人员和 DBA 却日益稀少且昂贵。Aberdeen Group 在 1998 年做的研究表明,一个使用了 5 年、拥有 25 个用户实现的先进工业 RDBMS,其培训、维护和实现的人员成本占其 TCO 的 81%。去年,D.H. Brown Associates 的 TCO 报告比较了用于数据仓库和在线事务处理(OLTP)应用程序的两种先进的数据库产品,发现在所有情况下,人员成本都占据 TCO 一大部分。
数据库功能的升级和对数据库大小、连接性、可用性和异构性的不断增长的需求增加了管理负担。包含几十太字节(terabyte)数据的数据仓库并不罕见。诸如 SAP 之类的流行应用程序通常创建为数超过 20,000 的表,并同时支持几千个用户。系统设计人员要考虑到关于硬件平台、模式设计、约束和参照完整性、主键和索引、实现的视图(materialized view)、表如何在磁盘中分配,以及不共享、全部共享或 SMP 群集拓扑的复杂决策。设计之后,数据库要求大量的人员投入,以进行构建、配置、测试、调优和操作。DBA 要处理表的重新组织、数据统计信息收集、备份控制、安全性建模和管理、灾难恢复规划、配置和性能调优、问题分析等事项。
这些压力从数据库扩展到所有 IT 部门。现代硬件和软件系统的复杂性和 IT 专业人员的日益短缺威胁到了 IT 业的发展,就象用于自动电话呼叫的电子交换技术出现之前,人工电话接线员的短缺威胁到电话网络的发展一样。
IBM 研究主管 Paul Horn 去年发表了一则关于自主计算(autonomic computing)的声明,以促进自我管理、自我配置、自我修复、自我优化和自我保护程度更高的硬件和软件系统的研究和开发。术语“自主”源于人体的神经系统,该系统会自动调节心跳和呼吸、愈合伤口、处理食物,以及执行其它基本功能。Horn 写道:“自主系统必须预测需要,并且允许用户将精力集中到他们要完成的事情上,而不是考虑如何组建计算系统来让他们完成任务。”
DB2 SMART 项目只是 IBM 正在进行的众多自主计算项目中的一个。其它项目包括一个类似的针对 WebSphere 的 SMART 项目,以及针对 IBM 服务器的 eLiza 项目。今年年初,IBM 任命了一个负责自主计算的副总裁(Alan Ganek)来促进和协调自主计算的各项倡议。
SMART 世界中的 DBA
DB2 SMART 项目旨在创建一种技术,以可以减少 DB2 操作中的人工介入和成本。它建立在 DB2 现有自我管理技术上,并对其进行扩展,它将使 DB2 可以:
在系统正在使用时,动态调整每个配置参数 根据工作负载,扩展和收缩内存使用 自动概要分析工作负载,建议并创建索引、分区、群集、摘要表等以提高性能 自动检测维护操作(包括重新组织、统计信息收集、备份、复制和重新联编)的需要、估计其持续时间、并对其进行调度 观察实际性能并利用该信息来改进操作 当性能不符合 DBA 的期望时,建议应采取的操作 预测问题,如内存不足或磁盘空间限制,并提前通过传呼或电子邮件通知某人。
这些发展会意味着 DBA 的消亡吗?不。但它们将意味着重复管理任务的终结,让 DBA 将更多时间花到新的应用程序上,而花较少时间去“灭火”。DBA 将有机会在实现建议之前先对其评估并进行选择。一旦满意了系统建议,DBA 就可以让 DB2 来自动采取操作,然后只需听取报告就行了。
DB2 什么时候将管理自己呢?并不是一个特性或功能就可以使 DB2 具有自主能力。但是,IBM 正在开发几项新技术,它们将在今后的发行版中提供。在近期,您就会看到支持更多自主行为的基础设施特性、引导您做选择的向导和评估可能性的建议程序。但在设计过程中,当自主意识象现在的性能和可用性一样普及之前,SMART 项目将不会结束。
SMART 项目涉及到两个 IBM 研究中心、两个 IBM 开发实验室和一个 IBM 的高级研究中心,它是高校、政府以及公司研究和开发机构的协作成果。它还是跨平台的,最初针对 z/OS 与 Linux、Unix 和 Windows。总之,IBM 打算最终在所有平台上支持相同的能力。
DB2 的自主特性
虽然 DB2 还不象冰箱一样易于管理,但它已经有了一些自主特性。我们将首先回顾 DB2 for z/OS and OS/390 以及 DB2 for Linux、Unix 和 Windows 中现有的一些特性。
Query Optimizer。DB2 Query Optimizer 会自动确定执行声明性 SQL 查询的最佳方法。它结合使用将用户(或查询生成器)编写的查询转换成标准的、易于优化的查询的功能强大的查询重写规则以及生成和评估大量用于执行查询的备用计划的详细的成本模型。优化器会自动确定任何现有的自动摘要表(AST),也叫作实现的视图,是否对查询有益。如果是这样,优化器会路由该查询,以在不改变用户应用程序中查询的情况下使用 AST。它使用有关每个表的大小和每一列分布的统计信息来建立用户可能提交的任何查询必须处理多少行的模型。它甚至会自动分析计算 CPU 速度、存储设备、和网络连接的机器群集(在不共享环境中)或站点(在联邦环境中)等因素,根据机器环境修改其成本模型。DB2 for Linux、Unix 和 Windows 平台中的 Query Optimizer 甚至有一个元优化器,它使用试探性规则来自动确定何时查询太复杂而无法使用动态编程来枚举可能的连接(join)顺序。发生这种情况时,优化器用“贪婪”算法在每次迭代中选择最“便宜”的连接,这种算法可以节省优化时间和间隔。
