基于DB2的大型数据库性能优化方法研究

作者:刘宇明 刊名:科学技术与工程 上传者:刘杨

【摘要】以DB2UDB数据库管理系统为例,分析了影响数据库性能的各方面因素,以及数据库优化应遵循的方法,并就数据库优化技术方法进行了探讨。

全文阅读

当前,许多国有大中型银行都使用基于DB2的数据库,而且数据库的规模在不断扩大,尤其是数据仓库技术迅速发展。面对越来越庞大的数据库,企业级应用的性能愈来愈依赖数据库的性能。因此,探索数据库优化技术方法具有非常重要的意义。结合笔者的某大型银行数据库仓库数据库的管理经验,以DB2数据库管理系统为例,对DB2UDB数据库性能优化问题进行了探讨和研究,并给出了具体的优化方法。1数据库优化应遵循的方法数据库优化是指进行有目的地调整组件及改善性能,使得数据库的吞吐量增加,减少相应处理时间。简单地说,优化表示向数据库提供适当数目资源,使用户在完成自己的工作时不用等待所需的数据。下面是数据库性能优化所遵循的一些方法。1.1设立合理的性能目标在优化之前,需要确定专门合理的目标。设立目标最重要的一点是可量化和可达到。可量化是指在量化中需要的性能值,如优化什么、如何优化、何时优化、优化多少,以及何时停止优化。可达到是指必须定义当前性能指标,如在优化之前明确某数据库当前所花费的时间、现在要求它在多少时间内执行等。1.2确定影响数据库性能的瓶颈当数据库运行了一段时间后,会发生性能低下,此时不能猜测并随便做一些更改,这可能造成更大的瓶颈或资源浪费。而要把握问题关键,分析找出当前数据库的性能瓶颈,这些瓶颈包括系统的物理存储空间不足、数据库中的记录在外存分布不当、内存不够、CPU使用率低等。1.3弄清影响数据库性能的因素由于改善数据库性能所采用的方法都可能带来严重的负面影响,因此,在达到预定目标时,应停止所有的工作。在对数据库进行性能调整时,如果某个成分不是瓶颈源,就不要对它进行更改。所以在选择提高数据库运行效率的方法之前,应利用以上方法弄清数据库系统运行低下的问题所在后,对数据库的调整才能做到恰到好处。一般说来,影响性能的主要因素大概可以归纳为:(1)有足够的内存,以支持大量并发用户所需的缓冲池、代理程序和其他共享内存对象;(2)有足够的I/O处理能力。必须有足够的磁盘设备来确保充分的I/O并行性,以支持大容量的并发事务;(3)必须有足够大的网络带宽以支持工作负载;(4)适当地为表列建立索引;(5)确保应用程序持有锁的时间尽可能短;(6)合理和充分地使用存储过程;(7)有效地使用SQL。2针对DB2数据库的优化技术和方法有不同的方法。以上讨论了影响数据库性能的主要因素,下面以DB2UDB数据库为基础,给出几种主要的技术方法,并总结和探索关系数据库优化的通用方法。2.1存储结构的优化(表空间设计的优化)由于在DB2数据库中,数据都是存贮在表空间中,所以对存储结构的优化就是对表空间设计和管理的优化。一般说来,DB2表空间所跨的驱动器越多、越快,则潜在的性能将越好。另外,通过创建不止一个的用户表空间也是增强性能的好方法。在下面三种情况下,使用多个表空间就很有用:(1)控制I/O,如果这些表空间可以位于不同的驱动器上的话;(2)使用不同的页面大小(pagesize);(3)控制缓冲池。比起系统管理的表空间来,数据库管理(Database-managed)的表空间(尤其是在原始设备上)能够提供更好的性能。在决定页面大小时要注意,DB2在一页上最多只能放255行,剩余的空间将不被使用。例如,如果平均行长度是50字节,那么一页最多使用的空间是50255=12750字节。如果将该表放在页面大小为16K或者32K的表空间中,那么有些页就会被浪费。反之,如果有些表有更长的行,或者有很多的列,那么页面大小就需要大于4K。如果要以一种连续的方式(例如,群集表)来访问数据,那么采用更大的页面大小可以获得

参考文献

引证文献

问答

我要提问