欢迎投稿

今日深度:

Sybase ASE 15的查询处理引擎(QPE)为混合工作负载环

Sybase ASE 15的查询处理引擎(QPE)为混合工作负载环境中的应用提供高性能(1)


综述

ASE已经在OLTP (on-line transaction processing,联机事务处理) 系统中成为高性能的领先者。但用户现在需要的不仅仅是高交易处理性能,他们还需要分析当前活动的事务数据,而且这样的分析还要在原来的平台上实时real-time)地进行。

实际上,现在超大型数据库经常被用来作数据挖掘和分析以获取商业智能。这种分析对于公司来说是至关重要的——帮助公司辨明趋势,并且为公司的长远决策提供系统的支持。随着对数据进行分析的查询越来越复杂,数据服务器的设计已经从单纯的交易型OLTP)服务器转而为决策支持系统(DSS) 提供平台—— 或者说是,操作性决策支持系统,即ODSS。

近年来,数据量呈爆炸性增长。生产交易系统中的数据量以每年125%的速度快速增长。众所周知,数据库中的数据量越大,对运行其上的应用性能影响也越大。当运行类似于数据挖掘和分析的查询操作时,很容易使生产交易系统的性能几乎陷于停顿。通常而言,我们可以转储历史数据到一个独立的数据仓库进行分析操作,从而减少这种对性能的影响。这将有效地减少在生产交易数据库中的数据量,缓解对数据库整体性能的压力。

现在,数据仓库系统通常运行在大量的静态数据基础之上。绝大多数数据仓库系统独立于日常生产交易系统并专注于查询和分析操作。这些系统一般为DSS工作环境专门配置数据库服务器和硬件设施。其管理的历史数据通常以大批量的方式定时加载到系统中。在决策支持系统中使用的绝大多数查询都包含了复杂的聚集操作、大量的数据分类和多表关联操作。和通常在OLTP系统中运行的查询相比,复杂程度可谓天壤之别。

因此数据库服务器现在必须可以保证在混合工作负载的ODSS 环境中的高性能,OLTP操作和DSS 可以在同一平台上同时运行。用户对这种灵活性的要求是出于控制拥有总成本TOC,total cost of ownership)的需要。

影响TCO的重要因素之一是性能调优工作——通常由数据库管理员DBA)负责。ASE15增强的性能和稳定性意味着数据库管理员无需象以前那样经常对系统进行调整,这正是降低TCO的关键因素。而且,在使用ASE15的过程中,数据库管理员不用频繁地宕机和重启动。

Sybase ASE 15可以提供新的特性和功能来满足用户对性能和经济性的巨大需求。这篇文章将讨论ASE15如何在各种数据平台上提供优异的ODSS性能,从小数据量到海量数据存储,同时控制你的开销。

ASE 15如何实现操作型决策分析处理

在DSS分析中使用的查询语句通常比在OLTP中的查询要复杂很多倍。查询处理引擎query processing engine ,QPE)决定了如何以最有效的方式查询所需数据。查询处理引擎的优化器将产生包含一系列指令的查询计划来确定如何运行查询。运行引擎将负责执行查询计划并返回结果集。

在ASE15中的查询处理引擎性能有了很大提高,这包含了非常高效的优化技术。ASE15内置在其查询处理引擎中的优化组件使用了非常成熟先进的技术。ASE15 比以前的版本提供了更多的选项和方式,来进行自动的分析及选择高性能的查询计划,从而高效地提高了性能。

基于目标的优化 

ASE15在执行应用中所有的查询时都表现了高性能。如果你希望ASE15在ODSS环境中有最好的运行性能,你无须提前调整查询处理引擎。当系统需要升级到ASE15时,这会帮你节省很多系统管理时间。

应用常常对查询处理引擎有不同的需求,这些需求和这些应用的功能和运行方式有关。例如对于股票交易系统,系统需要在标准的OLTP环境交易查询为简单或中等复杂程度)中提供最佳的性能。其它,例如在线订单系统可能需要非常迅速地返回结果集的头几行数据。或者又如销售系统可能既需要在ODSS环境中对简单或中等复杂程度的交易查询可以快速做出反应,同时亦要求可以处理高复杂程度的DSS类型查询操作。

在ASE15中提供优化目标Optimization Goals)使得查询优化工作可以完全适应应用的需求。优化目标是一组内置的优化条件,它将全面地影响查询处理引擎中的优化器组件的运行方式。每一个目标Goal)都被设计成为指导优化器利用各种特性和功能去寻找最优的查询计划。

这里共有三种优化目标。第一个目标被设计为允许查询处理引擎使用所有可能的技术,包括新特性和功能去寻找和实施最优的查询计划。这个目标对整个结果集进行优化并平衡OLTP和DSS类型的不同查询。这也是默认设置。

第二个优化目标将使得查询处理引擎采用针对单纯OLTP查询最适合的技术来获取最优查询计划。查询处理引擎将不仅仅使用原有的针对OLTP操作的优化技术,同时还采用了在ASE15中提供的一些新的与性能相关的特性和功能。例如,在这种方式下只使用嵌套—循环关联nested-loop join)技术,因为这种技术对于OLTP查询最为有效。同时,也将尽量减少分类(sort)操作。当你的应用只运行交易工作而无任何ODSS操作需求时可以采用这个优化目标。这个优化目标将极大地提高ASE在OLTP环境中简单查询的性能。

第三个优化目标被设计成为可以生成尽快返回查询结果集前几行数据的查询计划。这个优化目标为基于游标或Web方式的应用提供了极高的性能。

这些优化目标可以在服务器级别设定。出于测试需要在会话或查询级别也可以设定。一旦被设定,在选定的运行环境中就不需要进一步调整优化目标的运行方式。

在查询中提高索引的利用率

ASE15可以胜任基于多索引的数据访问。数据类型和索引使用的不兼容问题将不复存在。

ASE15新的哈希(hashing)技术可以提供更多的使用索引的方式。在一个查询中可以同时利用同一张表的多个索引。这尤其对于包含OR或星型关联命令的查询更为重要。在包含OR子句的复杂关联Join)操作中索引的利用率得到了极大地提高。

尽可能多地利用索引对于任何应用的性能提高都是很重要的。而当你要求运行在新的交易数据上的ODSS操作可以尽快完成时,就显得尤为重要了。

排序性能大幅提高

ASE15避免使用工作表worktables)来完成排序操作。这是性能上的一大提高。工作表在tempdb中生成并执行包括排序在内的许多工作。工作表 —— 从用户表派生并倒入数据——将引发性能瓶颈。当对工作表进行读取以获得结果集时,将会引发其它瓶颈。总体说来,使用工作表来完成排序操作将会对性能产生影响。

但在ASE15中,采用了新的哈希技术在内存中完成排序和分组操作,从而避免了对工作表的使用。内存缓冲被用于排序操作,因此ASE的存储过程缓冲区procedure cache)将不再被使用。

包含ORDER BY和GROUP BY的查询在应用中非常常见,它们经常用于生成分析报告。商业应用中经常要按某一特定顺序返回信息。在ASE15中你将会看到这类复杂的查询性能有了显著的提高。


www.htsjk.Com true http://www.htsjk.com/shujukugl/18219.html NewsArticle Sybase ASE 15的查询处理引擎(QPE)为混合工作负载环境中的应用提供高性能(1) 综述 ASE已经在OLTP (on-line transaction processing,联机事务处理) 系统中成为高性能的领先者。但用户现在需要的不仅...
评论暂时关闭