论文部分内容阅读
数据库负载自适应是针对大型数据库的性能优化问题而提出的,在数据库性能优化的研究中,人们很关注数据库的内部软、硬件资源优化和参数配置等,较少关注数据库的外部负载。2006加拿大皇后大学和IBM联合提出了数据库负载自适应的思路,它在数据库软、硬件资源一定的条件下,通过合理地控制负载的执行时机和次序,来实现数据库的性能优化。数据库负载自适应属于数据库“自主计算”的范畴,是当前数据库领域研究的重要课题之一。数据库负载具有实时性、复杂性和多变性的特点,数据库负载控制技术、实时分类技术和性能预测技术是实现负载自适应的的核心研究内容。本文针对负载的分类、负载在数据库中的性能预测、负载的控制算法和数据库负载自适应的功能框架等方面的问题展开研究,主要内容和创新点如下:针对负载的分类问题,提出了基于特征向量的聚类算法CFV。算法采用聚类方法提取负载的动态特征和静态特征的关系,动态地进行负载分类,克服以往静态的、经验式的负载分类方法的缺点。CFV能减少负载特征向量维数,降低匹配复杂度。在CFV的基础上又提出了基于特征向量的增量聚类算法ICFV,ICFV采用在线增量聚类方式分类负载,大大降低了分类的时间复杂度,提高了运行效率。通过在MATLAB上采用UCI的Synthetic Control Chart Time Series数据进行实验,实验结果表明算法支持负载在线分类性能要求。针对数据库性能预测问题,提出了基于分层排队网络模型的集合点平均值分析方法RMVA。RMVA引入集合点的概念,利用近似的平均值分析方法求解数据库分层排队网络模型。克服了以往性能预测模型不能精确描述数据库内复杂关系的问题,降低了求解性能模型算法的空间和时间复杂度。实验结果表明,RMVA能快速计算数据库系统的平均性能参数,并且随着负载数量的增加,该算法不会产生状态空间爆炸问题。针对负载控制的问题,提出一种适合于数据库负载控制的改进的NSGA-Ⅱ算法。该算法对负载控制方案种群中的无效方案个体进行修正,对有效方案个体进行优化,使得控制方案种群中的每个方案个体都成为满足负载和性能约束条件的近似最优解。满足了控制算法提高求解质量和加快收敛速度的要求。在MATLAB平台上,采用UCI标准数据集进行测试表明,相比NSGA-Ⅱ算法和不进行负载控制的情况,改进的NSGA-Ⅱ算法不但提高了求解质量,而且加快了算法的收敛速度。针对负载自适应框架的完善问题,提出了将知识库引入到框架中,建立以知识库为核心的数据库负载自适应框架WAAD。该框架包括知识库、负载特征化部件、性能预测部件、负载控制部件和系统监测部件五个部件。框架中各个组成部件的运行结果,能以知识表达的方式存入知识库,并在知识库中进行必要的知识推理和约减。知识库的引入完善了负载自适应框架,较好地解决了以往框架自身“自适应性”不足的问题,同时,由于知识库的支持,降低了负载分类算法和控制算法的计算频度和计算复杂度。本文采用上述CFV、ICFV、RMVA和改进的NSGA-Ⅱ算法,根据电力营销管理系统数据库基于负载的性能优化需求,开发了电力营销管理系统负载自适应原型系统,经实际运行测试,达到了电力营销管理系统基于负载的性能优化目标,验证了本文的观点,为负载自适应技术的深入研究提供了参考。