大数据量数据整合与查询性能优化(IBMAIX5.3)大数据量数据整合与查询性能优化(修订)前言本文适用操作系统平台为IBMAIX5.3,也可用于一般UNIX平台;数据库为IBMDB2,版本9.1文中引用了笔者在金宏工程外汇管理局整合数据库、统计分析系统和综合查询子系统的开发经验。本文的题目就来自于这样一个背景,因为整合库系统是一个大数据量数据整合系统,综合查询和统计分析系统是大数据量的查询系统,所以将本文命名为《大数据量数据整合与查询性能优化》。本文只考虑单一节点的数据库,没有讨论数据库集群。关于性能优化有两大目标:(1)如何充分调动系统资源;(2)采取何种方案使得达到某一目的而消耗的系统资源最少。第一个目标是要提高系统资源利用率;第二个目标是要确保对资源的利用是高效的。硬件产品的升级非常快,商用服务器通常是多核,多硬盘的。现今,就连家用机也配备了多核。如金宏工程采购的IBM小型机,便是多核的,中等配置为8CPU、32GB内存,稍高的配置为16CPU,甚至更高。而硬盘则是RAID5磁盘阵列,通常一台机器10块盘,或更多。提高并行性便能很好的调动系统资源。通常从两个方面可以提高并行性:(1)几件事并行的做;(2)一件事使用多个处理器来做。在系统设计时,对处理流程进行优化,让多个独立的过程并行执行,从而占用多个处理器,提高处理器的利用率。在性能测试环境,或者生产环境上需要调整系统或者应用的相关参数,使得一个过程也能占用多个处理器,进一步提高处理器的利用率。“消耗更少的系统资源,来完成相同的事情”是所有程序员追求的目标。为了完成这一目标,程序员们不断优化自己的代码,甚至不惜彻底的改变程序的核心算法。对于SQL代码的优化,通常处于硬件、操作系统、数据库管理系统等优化之后。为了更好的达到这一目标,通常要求程序员有很好的代码书写习惯,第一次就写出优良的代码。优化时,只要考虑算法的优化即可。算法的优化也不是盲目的,通常针对那些“需要优化的部分”来进行。“需要优化的部分”就是那些影响整体性能的,影响整体进度的,处于“关键路径”上的过程。代码和算法的优化也是性能优化的重要方面。但这个方面不是本文介绍的重点。阅读说明本文主要面向数据库设计和开发人员、部署人员和性能调优人员。1大数据量数据整合与查询性能优化(IBMAIX5.3)目录前言...........................................................................................................................