CN101059810A - 一种实现数据库系统自动优化的系统和方法 - Google Patents
一种实现数据库系统自动优化的系统和方法 Download PDFInfo
- Publication number
- CN101059810A CN101059810A CN 200710087530 CN200710087530A CN101059810A CN 101059810 A CN101059810 A CN 101059810A CN 200710087530 CN200710087530 CN 200710087530 CN 200710087530 A CN200710087530 A CN 200710087530A CN 101059810 A CN101059810 A CN 101059810A
- Authority
- CN
- China
- Prior art keywords
- data
- database systems
- performance
- database
- optimality
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种实现数据库系统自动优化的系统,该系统包括:采集模块和专家模块。所述采集模块,采集影响数据库系统性能的相关数据提供给专家模块;所述专家模块,通过采集模块提供的采集数据分析数据库系统性能,按照优化规则对数据库系统配置进行优化。本发明还公开了一种实现数据库系统自动优化的方法。应用本发明,可以实现对数据库系统进行全面长期的自动优化。
Description
技术领域
本发明涉及数据库领域,特别涉及一种实现数据库系统自动优化的系统和方法。
背景技术
数据库管理作为一种使数据具有完整性、安全性和共享性的数据管理方式,被越来越广泛的应用于各领域中。数据库管理可以使用数据库系统和应用系统进行简单描述。应用系统需要调用的各种数据都存储在数据库系统的数据表中,当应用系统需要对这些数据进行诸如查询、删除、插入、修改等操作时向数据库系统提出请求,数据库系统通过系统内的数据库服务器针对请求为应用系统提供各种针对数据库的服务,数据库服务器可以针对多个数据库为应用系统提供服务。该过程也可以简述成应用系统通过对数据库系统的访问对存储在数据库系统中的数据进行操作。数据库系统和应用系统都需要以操作系统为运行平台。
数据库系统对数据的操作可以通过结构化查询语言(SQL)来实现。SQL是用来在数据库系统中定义对象和操作数据的标准化语言,数据库系统通过运行SQL进行数据的查询、更新、插入和删除,其中运行SQL进行数据的查询时,通过引用为数据库系统的数据列表建立的索引提高数据查询效率。
数据库系统的配置通常包括磁盘性能、索引配置、锁的使用、优化器和数据库服务器相关配置等,其中数据库服务器的相关配置包括内存配置、高速缓存配置和CPU配置等,是数据库系统配置中非常重要的组成部分。上述数据库系统的配置直接影响数据库系统的查询速度、操作速度和运行效率等性能。通常在应用系统的软件产品开发时,会对该应用系统软件需要使用的数据库系统的各项指标进行配置,作为实际使用时数据库系统的默认配置值,但在默认配置下数据库系统的性能并不是最优的。数据库系统的优化一般分为开发时优化和现场优化,开发时优化是在应用系统的软件产品开发过程中,针对普遍情况对数据库系统的各项配置进行优化,而现场优化是在应用系统的软件产品发布之后,针对应用现场的具体情况对数据库系统的各项配置进行优化,提高数据库系统的性能。因此现场优化对于数据库系统的实际应用更有意义。
应用系统的软件产品发布之后,在应用中需要对数据库系统进行部署,即安装数据库服务器、建立要使用的数据库,在这一过程结束后诸如磁盘性能和软件程序代码都已经不可变更,因此对于数据库系统的现场优化一般主要针对数据库服务器相关配置,即包括索引配置、高速缓存配置、内存配置等,以及优化器进行。
目前,针对数据库系统的现场优化主要有以下三种方式:
第一、数据库系统的现场优化主要使用手工进行,数据库工程师到达数据库系统运行现场,手工查询数据库系统的运行状态,根据运行状态以及经验对数据库系统的各项配置进行优化。这种方式的缺点是,优化依靠人工进行,对调优人员技能要求高,耗时耗力成本高,并且调优人员只能对数据库系统进行很短时间内的跟踪,不能根据综合的情况动态调优,进而获得最好的调优方法。如果用户改变了一种应用习惯和应用场景,还需要重新再进行人工优化。
第二、在数据库系统中集成内存自动调优的功能,可以有限的对数据库系统已经分配的内存进行调整。这种方式的缺点是,只能针对数据库系统已经分配的内存进行调整,并不能针对数据库系统的其他配置进行调整,并且只有某些数据库系统提供了这项技术,不具有通用性。
第三、利用数据库系统内部的优化器对SQL直接进行优化,实现对数据库系统性能的优化。这种方式的缺陷是,优化器只能根据数据库系统内部现有数据表及索引进行有限优化,无法做到对索引的全面优化,以配合SQL提高数据库系统的性能,并且只能根据SQL进行无语义的优化,无法根据应用情况做到全面优化。
可见,上述三种对数据库系统现场优化的方式,都不能实现根据应用现场情况对数据库系统进行全面长期的自动优化。
发明内容
本发明实施例提供一种实现数据库系统自动优化的系统,该系统能实现根据应用现场情况对数据库系统进行全面长期的自动优化。
本发明实施例提供一种实现数据库系统自动优化的方法,该方法能实现根据应用现场情况对数据库系统进行全面长期的自动优化。
本发明实施例提供一种实现数据库系统自动优化的系统,该系统包括:采集模块和专家模块;
所述采集模块,采集影响数据库系统性能的相关数据提供给专家模块;
所述专家模块,通过采集模块提供的采集数据分析数据库系统性能,按照优化规则对数据库系统配置进行优化。
本发明实施例提供一种实现数据库系统自动优化的方法,该方法包括:
A、采集影响数据库系统性能的相关数据;
B、通过采集数据分析数据库系统的性能,按照优化规则对数据库系统的配置进行优化。
本发明实施例提供的实现数据库系统自动优化的系统,采集模块采集影响数据库系统性能的相关数据,专家模块根据采集模块提供的数据分析数据库系统的性能情况,自动启动对数据库系统配置的优化,实现对数据库系统全面长期的自动优化。
本发明实施例提供的实现数据库系统自动优化的方法,通过采集影响数据库系统性能的相关数据,分析数据库系统的性能情况,自动启动对数据库系统配置的优化,实现对数据库系统全面长期的自动优化。
附图说明
图1为本发明实施例实现数据库系统自动优化的系统结构示意图;
图2为本发明实施例实现数据库系统自动优化的系统与数据库系统、应用系统的关系示意图;
图3为本发明实施例数据库系统和数据库系统自动优化系统同一进程示意图;
图4为本发明实施例实现数据库系统自动优化的方法较佳实施方式流程图;
图5为本发明实施例实现数据库系统自动优化的方法基于图1所示系统的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图,对本发明实施例进一步详细说明。
本发明实施例提供的实现数据库系统自动优化的系统,该系统包括采集模块和专家模块。采集模块,用于采集影响数据库系统性能的相关数据,将采集的数据提供给专家模块。专家模块,用于通过采集模块提供的数据分析数据库系统性能,按照优化规则对数据库系统配置进行优化。
本发明实施例提供的实现数据库系统自动优化的方法,该方法首先采集影响数据库系统性能的相关数据,然后通过采集的数据分析数据库系统的性能,按照优化规则对数据库系统配置进行优化。
首先,对本发明实施例提供的实现数据库系统自动优化的系统进行详细描述。图1为本发明实施例提供的实现数据库系统自动优化的系统结构示意图,该系统包括:采集模块101和专家模块102,其中采集模块101包括SQL运行数据采集模块103和性能数据采集模块104。
采集模块101,用于采集影响数据库系统性能的相关数据提供给专家模块102。本发明实施例中,上述影响数据库系统性能的相关数据可以包括:数据库系统、和/或操作系统、和/或应用系统的性能数据,和/或数据库系统的SQL运行数据,将采集模块101采集上述所有数据作为一种较佳实施方式。在此情况下,采集模块101中可以进一步包括SQL运行数据采集模块103和性能数据采集模块104。
性能数据采集模块104,用于采集操作系统、应用系统和数据库系统的性能数据,将采集的数据提供给专家模块102使用。本发明实施例中,性能数据采集模块104采集的性能数据包括:操作系统内存分布数据、数据库系统和应用系统的内存使用数据、操作系统的CPU占用数据、数据库系统和应用系统的CPU占用数据和数据库系统的高速缓存使用数据。由于数据库系统和应用系统都以操作系统为操作平台,本发明实施例中性能数据采集模块104可以通过操作系统提供的应用程序接口(API)或者工具软件,获得操作系统内存分布数据,采集操作系统、数据库系统和应用系统的内存使用数据;通过操作系统提供的API或者工具软件,采集操作系统、数据库系统和应用系统的CPU占用数据。另外数据采集模块104通过数据库系统提供的API采集数据库系统高速缓存使用数据。本发明实施例将上述采集方式作为一种较佳实施方式,也可以只采集上述数据中的一种或几种作为性能数据采集模块104采集的性能数据。
SQL运行数据采集模块103,用于采集数据库系统的SQL运行数据,将采集的数据提供给专家模块102使用。本发明实施例中,SQL运行数据采集模块103采集的数据包括:以执行频度高为排序项的SQL语句列表、以访问频度高、更新频度高为排序项的数据表列表和执行SQL时数据表索引的使用情况数据。SQL运行数据采集模块103也可以只采集上述数据中的一种或几种作为SQL运行数据。
上述性能数据采集模块104和SQL运行数据采集模块103,采集数据的方式可以为定时采集,即根据实际需要具体设置采集的时间间隔。本发明实施例将采集性能数据和SQL运行数据作为一种较佳实施方式,也可以只采集性能数据或只采集SQL运行数据,可以根据实际优化的需要灵活运用。
专家模块102,用于接收性能数据采集模块104提供的操作系统、应用系统和数据库系统的性能数据,接收SQL运行数据采集模块103提供的数据库系统SQL运行数据,通过分析上述接收到的数据,分析得出数据库系统性能曲线,按照优化规则,对数据库系统配置进行优化。专家模块102可以将数据库系统性能下降,作为开始优化的触发条件,即当数据库系统性能曲线反映的数据库系统性能下降时,专家模块102按照优化规则,对引起数据库系统性能下降的对应配置进行优化。
本发明实施例中,设置的数据库系统优化规则包括以下几项:
1)内存分配优化规则,该规则具体描述了内存分配优化的依据,即如果操作系统内存的最大分布值大于操作系统、数据库系统和应用系统内存的最大使用值,给数据库系统分配其内存最大使用值,如果操作系统内存的最大分布值小于操作系统、数据库系统和应用系统内存的最大使用值,根据应用情况加权为数据库系统分配内存使用值。应用本优化规则,需要采集操作系统、应用系统和数据库系统的内存使用数据,本发明实施例是通过操作系统提供的API或者工具软件,获得操作系统内存分布数据,采集操作系统、数据库系统和应用系统的内存使用数据。
2)CPU分配优化规则,该规则具体描述了CPU分配优化的依据,即综合考虑应用情况,加权配置数据库系统、操作系统和应用系统的CPU占用值。应用本优化规则,需要采集操作系统、应用系统和数据库系统的CPU占用数据,本发明实施例是通过操作系统提供的API或者工具软件,采集操作系统、应用系统和数据库系统的CPU占用数据。
3)高速缓存优化规则,该规则具体描述了数据库系统的高速缓存优化的依据,即根据应用的实际情况,为数据库系统分配高速缓存使用值。应用本优化规则,需要采集数据库系统的高速缓存使用数据,本发明实施例中通过数据库系统提供的API采集数据库系统的高速缓存使用数据。
4)索引优化规则,该规则具体描述了索引优化的依据,即如果数据库系统中存在某个索引使用错误或缺少索引导致数据库系统性能下降的情况,在数据库系统空闲时重新创建该索引,如果存在某个索引始终没有使用到或使用频率较低且数据空间容量不足的情况,删除该索引。应用本优化规则,需要采集数据库系统的索引使用数据,本发明实施例中通过采集数据库系统的SQL运行数据采集索引使用数据。
5)SQL语句优化规则,该规则具体描述了对SQL语句优化的依据,即如果存在由于使用频率较高的SQL语句的编写问题,导致其索引没有正确使用的情况,则根据预定义的语义调整SQL语句。应用本优化规则,需要采集数据库系统的SQL运行数据。
上述1)-5)项优化规则为本发明实施例提供的一种较佳实施方式,在实际应用中,根据实际优化需要也可以选择上述优化规则中的几项作为数据库系统的优化规则。
针对上述各项数据库系统的优化规则,专家模块102分析性能数据采集模块104提供的操作系统、应用系统和数据库系统的性能数据,以及SQL运行数据采集模块103提供的数据库系统SQL运行数据,得到数据库系统性能曲线,按照上述优化规则,对数据库系统配置进行优化。该优化规则可以存储在专家模块102中,也可以存储在与专家模块102相连的一个存储模块中,根据需要可以采用不同的情况实现。
以上所述本发明实施例提供的实现数据库系统自动优化的系统,SQL运行数据采集模块103和性能数据采集模块104采集数据库系统、应用系统和操作系统的性能数据和数据库的SQL运行数据,采集的方式可以为定时采集;专家模块102通过分析上述采集到的数据得到数据库系统性能曲线,按照优化规则,对数据库系统配置进行优化,启动优化的条件可以是数据库系统性能下降。该系统可以对数据库系统性能进行长期跟踪,按照设置的优化规则进行全面的自动优化,而无需人工参与,能适应应用场景和应用习惯发生变更的情况。
本发明实施例提供的实现数据库系统自动优化的系统,专家模块102中还可以进一步包括检测模块,用于对数据库系统优化后的性能进行检测。如果该检测模块检测出优化后数据库系统的性能得到了提升,可以不执行操作并重新按照上述系统工作方式进行新的优化,如果该检测模块检测出优化后数据库系统性能反而下降,将自主学习数据库系统性能下降的配置,在优化规则中更新造成数据库系统性能下降的相关配置对应的优化规则,并将数据库系统的所有配置恢复到上一次优化后的配置状态。因此,本发明实施例提供的实现数据库系统自动优化的系统中,优化规则可以动态更新,更新的依据就是检测模块对优化后数据库性能的检测结果。在对数据库系统进行第一次优化时,使用的优化规则是优化开始之前设置的优化规则,在第一次优化之后的优化中,使用的优化规则是本次优化之前最近一次优化中更新后的优化规则。
专家模块102中进一步包括检测模块后,本发明实施例提供的实现数据库系统自动优化的系统每一次对数据库系统的配置进行自动优化后,都将检查优化后数据库系统性能的提升情况,因此当自动优化后如果数据库系统的性能没有按照预期得到提升,可以自动恢复上一次成功优化后的配置状态,不会对数据库系统造成影响。并且,专家模块102中的检测模块可以自主学习引起数据库系统性能下降的相关配置,更新这些优化规则,使优化规则不断得到修正,从而防止数据库系统优化后可能导致性能下降的情况。
图2示出了本发明实施例实现数据库系统自动优化的系统与数据库系统及应用系统的关系,即应用系统通过该自动优化系统访问数据库系统。
数据库系统、应用系统和本发明实施例提供的实现数据库系统自动优化系统都以操作系统为平台运行,而操作系统中的操作都按照进程划分。本发明实施例提供的实现数据库系统自动优化的系统,可以是一个独立进程,也可以和应用系统是同一进程。图3示出了应用系统和数据库系统自动优化系统的同一进程示意图。在实际应用中,数据库系统自动优化系统的进程也可以是不同于应用系统的单独进程,例如图2也可以表示数据库系统自动优化系统与应用系统是不同的进程。
下面对本发明实施例提供的实现数据库系统自动优化的方法进行详细说明,图4示出了本发明实施例提供的实现数据库系统自动优化的方法较佳实施方式流程,该流程包括:
步骤401:采集数据库系统、操作系统、应用系统的性能数据和数据库系统的SQL运行数据。
本步骤中,采集数据的方式可以为:根据实际需要设置采集数据的时间间隔,再按照设置时间间隔进行定时数据采集。每一种数据的配置情况都与数据库系统的性能有直接关系。上述采集数据的方式为一种较佳实施方式,也可以根据实际应用情况采集上述数据的一种或几种作为后续优化的分析依据。
步骤402:通过采集的数据分析数据库系统性能,根据优化规则对数据库系统配置进行优化。
本步骤中,分析步骤401中采集的数据,获得对应这些数据配置的数据库系统性能曲线。按照优化规则,对数据库系统相关配置进行优化。优化启动的条件可以为:数据库系统性能下降。
本发明实施例提供的实现数据库系统自动优化的方法,可以根据采集到的性能数据和SQL运行数据,对数据库系统配置进行优化,优化可以依据优化规则进行。按照这种方法,实现对数据库系统全面长期的自动优化,无需专人维护优化,可以降低维护成本。如果考虑对优化后的数据库系统性能进行检测,所述步骤302之后可以进一步包括检测优化后数据库系统的性能。
上述本发明实施例提供的实现数据库系统自动优化的方法较佳实施方式可以应用在图1所示的系统中,图5示出了本发明实施例实现数据库系统自动优化的方法基于图1系统的流程,流程开始后包括以下步骤:
步骤501:性能数据采集模块采集操作系统、数据库系统和应用系统的性能数据,提供给专家模块。
本步骤中,性能数据采集模块通过操作系统提供的API或者工具软件,获得操作系统内存分布数据,采集操作系统、数据库系统和应用系统的内存使用数据;通过操作系统提供的API或者工具软件,采集操作系统、数据库系统和应用系统的CPU占用数据;通过数据库系统提供的API,采集数据库系统高速缓存使用数据。这些性能数据的配置均对数据库系统的性能有直接影响。可以预先设置采集数据的时间间隔,按照时间间隔定时采集上述数据。
步骤502:SQL运行数据采集模块采集数据库系统的SQL运行数据,提供给专家模块。
本步骤中,SQL运行数据采集模块采集以执行频度高为排序项的SQL语句列表、以访问频度高、更新频度高为排序项的数据表列表和执行SQL时数据表索引的使用情况数据。SQL运行数据对数据库系统的性能有直接影响。可以预先设置一个采集数据的时间间隔,按照该时间间隔实时采集上述数据。
上述步骤501和步骤502的执行顺序还可以有以下两种情况。第一种为步骤501和步骤502交换执行顺序,即SQL运行数据采集模块先采集数据库系统的SQL运行数据,性能数据采集模块再采集操作系统、数据库系统和应用系统的性能数据。第二种为步骤501与步骤502可以并行执行,即同SQL运行数据采集模块采集数据库系统的SQL运行数据,以及性能数据采集模块采集操作系统、数据库系统和应用系统的性能数据可以并行执行。上述描述的步骤501和步骤502执行顺序的改变不会对后续数据库系统的性能分析造成影响。
步骤503:专家模块通过性能数据采集模块提供的性能数据,以及SQL运行数据采集模块提供的SQL运行数据,分析数据库系统性能,按照优化规则对数据库系统的配置进行优化。
本步骤中,专家模块分析性能数据采集模块提供的性能数据,以及SQL运行数据采集模块提供的SQL运行数据,获得数据库系统的相关性能曲线。根据对数据库性能的分析结果,专家模块对数据库系统的配置进行优化,优化时依据优化规则,其中启动优化的条件可以为:数据库系统性能下降。本步骤中所述的优化规则在初始设置之后可以动态更新,也就是说第一次数据库系统的优化流程所使用的优化规则是流程开始前设置的初始优化规则,第一次优化流程之后的每一次数据库系统的优化流程中所使用的优化规则,都是本次优化流程之前最近一次优化流程中更新过的优化规则。优化规则的具体更新方法在后续步骤中详细描述。
步骤504:专家模块中的检测模块对优化后的数据库系统性能进行检查。
本步骤中,专家模块中的检测模块在数据库系统配置优化后,自动检查优化后的数据库系统性能。
步骤505:判断步骤504中检测的数据库性能是否提升,如果优化后数据库系统性能得到提升,则返回流程开始状态,如果优化后数据库系统性能下降继续执行步骤506。
本步骤中,如果步骤504中的检测结果是优化后数据库系统性能得到了提升,则专家模块可以不执行操作。本步骤中的返回流程开始状态是指,在本步骤之后继续按照步骤501~步骤505所述的流程对数据库系统的性能进行优化。如果检测结果是优化后数据库系统性能反而下降,则继续执行步骤506。
步骤506:专家模块中的检测模块自主学习数据库系统性能下降的配置,在优化规则中更新造成数据库系统性能下降的相关配置对应的优化规则。
本步骤中,专家模块中的检测模块检查出优化后的数据库系统性能反而下降,则自主学习引起数据库系统性能下降的相关配置。在设置的优化规则中,找到引起数据库系统性能下降的相关配置所依据的优化规则,修改或删除该优化规则。
步骤507:专家模块中的检测模块将数据库系统的所有配置恢复到上一次优化后的配置状态,返回流程开始状态。
本步骤中,专家模块中的检测模块将数据库系统的所有配置都恢复到上一次优化后的配置状态,所述返回流程开始状态是指专家模块将数据库系统的所有配置都恢复到上一次优化后的配置状态之后,继续按照步骤501~步骤506进行新的优化,新的优化流程中所使用的优化规则为本次流程中更新后的优化规则。
上述步骤506和步骤507也可以交换执行顺序,即专家模块中的检测模块先将数据库系统的所有配置恢复到上一次优化后的配置状态,再自主学习引起数据库系统性能下降的相关配置,删除或修改该配置对应的优化规则,更新优化规则后返回流程开始状态,继续按照步骤501~步骤506进行新的优化,新的优化流程中所使用的优化规则为本次流程中更新后的优化规则。
上述步骤501~步骤507描述的本发明实施例实现数据库系统自动优化的方法较佳实施方式基于图1所示系统的流程,实现对数据库系统性能的长期且全面的优化,无需专人进行优化维护,降低维护成本,每次优化后的数据库系统性能检测,保证优化后数据库系统性能下降时将数据库系统配置恢复到上一次优化后的配置状态,防止由于优化导致数据库系统性能下降造成的影响。
本发明实施例提供的实现数据库系统自动优化的方法及系统,可以针对各种数据库系统,例如Sybase ASE数据库系统、MS SQL Server数据库系统、IBM DB2数据库系统或Oracle数据库系统等。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1、一种实现数据库系统自动优化的系统,其特征在于,该系统包括:采集模块和专家模块;
所述采集模块,采集影响数据库系统性能的相关数据提供给专家模块;
所述专家模块,通过采集模块提供的采集数据分析数据库系统性能,按照优化规则对数据库系统配置进行优化。
2、如权利要求1所述的系统,其特征在于,所述影响数据库系统性能的相关数据包括:数据库系统、和/或操作系统、和/或应用系统的性能数据,和/或数据库系统结构化查询语言SQL运行数据;所述采集模块包括性能数据采集模块和SQL运行数据采集模块;
所述性能数据采集模块,采集数据库系统、和/或操作系统、和/或应用系统的性能数据,将采集的数据提供给专家模块;
所述SQL运行数据采集模块,采集数据库系统的SQL运行数据,将采集的数据提供给专家模块。
3、如权利要求1或2所述的系统,其特征在于,所述专家模块中进一步包括检测模块,用于检测优化后的数据库系统性能,优化后数据库系统性能下降时自主学习引发数据库系统性能下降的配置,更新优化规则,并将数据库系统的所有配置恢复到上一次优化后的配置状态。
4、一种实现数据库系统自动优化的方法,其特征在于,该方法包括:
A、采集影响数据库系统性能的相关数据;
B、通过采集数据分析数据库系统的性能,按照优化规则对数据库系统的配置进行优化。
5、如权利要求4所述的方法,其特征在于,所述影响数据库系统性能的相关数据包括:数据库系统、和/或操作系统、和/或应用系统的性能数据,和/或数据库系统的SQL运行数据;步骤A所述采集影响数据库系统性能的相关数据的方法为:
设置采集间隔时间,定时采集数据库系统、和/或操作系统、和/或应用系统的性能数据,和/或数据库系统的SQL运行数据。
6、如权利要求5所述的方法,其特征在于,所述数据库系统、和/或操作系统、和/或应用系统的性能数据包括:数据库系统的内存使用数据、中央处理器CPU占用数据、高速缓存使用数据,和/或操作系统的内存分布数据、CPU占用数据,和/或应用系统的内存使用数据、CPU占用数据;所述采集数据库系统、和/或操作系统、和/或应用系统的性能数据的方法为:
通过操作系统提供的应用程序接口API或工具软件获取操作系统内存分布数据,采集操作系统、数据库系统和应用系统的内存使用数据;通过操作系统提供的API或工具软件,采集操作系统、数据库系统和应用系统的CPU占用数据;通过数据库系统提供的API,采集数据库系统高速缓存使用数据。
7、如权利要求5所述的方法,其特征在于,所述数据库系统的SQL运行数据包括:以执行频度高为排序项的SQL语句列表,和/或以访问频度高、更新频度高为排序项的数据表列表,和/或执行SQL时数据表索引的使用情况数据。
8、如权利要求4或5所述的方法,其特征在于,步骤B所述通过采集数据分析数据库系统性能的方法为:
通过采集数据得到数据库系统性能曲线,通过曲线分析数据库系统的性能。
9、如权利要求4所述的方法,其特征在于,所述优化规则包括内存分配优化规则,和/或中央处理器CPU分配优化规则,和/或高速缓存优化规则,和/或索引优化规则,和/或SQL语句优化规则,其中所述内存分配优化规则,定义操作系统的内存分布最大值大于操作系统、数据库系统和应用系统内存最大使用值之和时,为数据库系统分配其内存最大使用值;操作系统的内存分布最大值小于操作系统、数据库系统和应用系统内存最大使用值之和时,根据应用情况为数据库系统加权分配内存使用值;
所述CPU分配优化规则,定义根据应用需要为数据库系统、应用系统和操作系统配置占用的CPU数量;
所述高速缓存优化规则,定义根据应用需要为数据库系统配置需要的高速缓存使用值;
所述索引优化规则,定义存在索引使用错误或缺少索引时,在数据库系统空闲时重新创建该索引;存在索引始终没有使用或使用频率低,且数据空间容量不足时,删除该索引;
所述SQL语句优化规则,定义由于使用频率高的SQL语句的编写,导致其索引没有正确使用时,根据SQL语义重新编写该SQL语句。
10、如权利要求9所述的方法,其特征在于,所述步骤B之后进一步包括:
C、检查优化后的数据库系统性能,如果数据库系统性能下降,自主学习引起数据库系统性能下降的相关配置,在优化规则中查找自主学习所得的引起数据库系统性能下降的相关配置对应的优化规则,删除或修改该优化规则,并将数据库系统的所有配置恢复到上一次优化后的配置状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100875304A CN100543746C (zh) | 2007-03-16 | 2007-03-16 | 一种实现数据库系统自动优化的系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100875304A CN100543746C (zh) | 2007-03-16 | 2007-03-16 | 一种实现数据库系统自动优化的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101059810A true CN101059810A (zh) | 2007-10-24 |
CN100543746C CN100543746C (zh) | 2009-09-23 |
Family
ID=38865916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100875304A Expired - Fee Related CN100543746C (zh) | 2007-03-16 | 2007-03-16 | 一种实现数据库系统自动优化的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100543746C (zh) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882147A (zh) * | 2010-05-12 | 2010-11-10 | 北京航空航天大学 | 一种曲线数据存储装置及其存储方法 |
CN101901270A (zh) * | 2010-08-05 | 2010-12-01 | 上海酷吧信息技术有限公司 | 一种支持海量存储的内存数据库方法 |
CN102163232A (zh) * | 2011-04-18 | 2011-08-24 | 国电南瑞科技股份有限公司 | 一种支持iec61850对象查询的sql接口实现方法 |
CN102508963A (zh) * | 2011-11-02 | 2012-06-20 | 哈尔滨工业大学 | 一种基于仿真的参数化武器作战效能分析系统及其分析方法 |
CN101778400B (zh) * | 2010-01-08 | 2012-06-27 | 哈尔滨工业大学 | 基于数据库的话务量分析与预测系统及使用该系统的话务量预测方法 |
CN102999604A (zh) * | 2012-11-20 | 2013-03-27 | 北京奇虎科技有限公司 | 一种数据库性能的检测方法和装置 |
CN103164455A (zh) * | 2011-12-15 | 2013-06-19 | 百度在线网络技术(北京)有限公司 | 数据库的优化方法及装置 |
CN103186603A (zh) * | 2011-12-29 | 2013-07-03 | 中国移动通信集团浙江有限公司 | 确定sql语句对关键业务的性能的影响的方法、系统和设备 |
CN103514227A (zh) * | 2012-06-29 | 2014-01-15 | 阿里巴巴集团控股有限公司 | 一种更新数据库的方法及装置 |
CN103793526A (zh) * | 2014-02-24 | 2014-05-14 | 浪潮电子信息产业股份有限公司 | 一种监控sql语句性能的方法 |
CN103984726A (zh) * | 2014-05-16 | 2014-08-13 | 上海新炬网络技术有限公司 | 一种数据库执行计划的局部修正方法 |
CN104503974A (zh) * | 2014-11-17 | 2015-04-08 | 杭州斯凯网络科技有限公司 | 一种基于云平台的关系数据库自动优化方法 |
CN104615696A (zh) * | 2015-01-23 | 2015-05-13 | 国家电网公司 | 一种95598知识库系统及建设方法 |
CN104714984A (zh) * | 2013-12-17 | 2015-06-17 | 中国移动通信集团湖南有限公司 | 一种数据库优化的方法和装置 |
CN104965861A (zh) * | 2015-06-03 | 2015-10-07 | 上海新炬网络信息技术有限公司 | 一种数据访问监控装置 |
CN105138621A (zh) * | 2015-08-14 | 2015-12-09 | 浪潮电子信息产业股份有限公司 | 一种Sybase ASE数据库配置优化系统及方法 |
CN105320679A (zh) * | 2014-07-11 | 2016-02-10 | 中国移动通信集团重庆有限公司 | 一种数据表索引集合生成方法及装置 |
CN106202403A (zh) * | 2016-07-11 | 2016-12-07 | 浪潮通用软件有限公司 | 一种通过动态分析创建数据库索引的方法 |
WO2017015792A1 (en) * | 2015-07-24 | 2017-02-02 | Cai Yongcheng Eddy | Sql performance recommendations and scoring |
CN106407830A (zh) * | 2015-07-29 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种基于云的数据库的检测方法和装置 |
CN106709005A (zh) * | 2016-12-23 | 2017-05-24 | 北京奇虎科技有限公司 | 一种处理数据库系统中的冗余索引的方法、装置和系统 |
CN106909485A (zh) * | 2015-12-23 | 2017-06-30 | 伊姆西公司 | 用于确定存储系统性能下降的原因的方法和设备 |
CN107341203A (zh) * | 2017-06-22 | 2017-11-10 | 北京北信源软件股份有限公司 | 一种分布式搜索引擎的访问控制和索引优化方法与装置 |
CN107766944A (zh) * | 2016-08-17 | 2018-03-06 | Tcl集团股份有限公司 | 一种利用api分析进行系统功能流优化的系统和方法 |
CN108519949A (zh) * | 2018-04-12 | 2018-09-11 | 郑州云海信息技术有限公司 | 一种oracle数据库压力的测试方法、系统及装置 |
CN109885623A (zh) * | 2019-01-20 | 2019-06-14 | 成都飞机工业(集团)有限责任公司 | 一种数据库自动监控方法 |
CN111694816A (zh) * | 2020-06-15 | 2020-09-22 | 中国工商银行股份有限公司 | 用于优化数据库表的处理方法和装置 |
CN112925804A (zh) * | 2021-05-12 | 2021-06-08 | 北京优炫软件股份有限公司 | 数据库维护方法和装置 |
CN112988786A (zh) * | 2021-05-12 | 2021-06-18 | 北京优炫软件股份有限公司 | 数据库维护方法和装置 |
WO2023000766A1 (zh) * | 2021-07-19 | 2023-01-26 | 中兴通讯股份有限公司 | 数据库模型动态调整的方法、设备及存储介质 |
-
2007
- 2007-03-16 CN CNB2007100875304A patent/CN100543746C/zh not_active Expired - Fee Related
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778400B (zh) * | 2010-01-08 | 2012-06-27 | 哈尔滨工业大学 | 基于数据库的话务量分析与预测系统及使用该系统的话务量预测方法 |
CN101882147A (zh) * | 2010-05-12 | 2010-11-10 | 北京航空航天大学 | 一种曲线数据存储装置及其存储方法 |
CN101882147B (zh) * | 2010-05-12 | 2012-07-25 | 北京航空航天大学 | 一种曲线数据存储装置及其存储方法 |
CN101901270A (zh) * | 2010-08-05 | 2010-12-01 | 上海酷吧信息技术有限公司 | 一种支持海量存储的内存数据库方法 |
CN102163232B (zh) * | 2011-04-18 | 2012-12-05 | 国电南瑞科技股份有限公司 | 一种支持iec61850对象查询的sql接口实现方法 |
CN102163232A (zh) * | 2011-04-18 | 2011-08-24 | 国电南瑞科技股份有限公司 | 一种支持iec61850对象查询的sql接口实现方法 |
CN102508963A (zh) * | 2011-11-02 | 2012-06-20 | 哈尔滨工业大学 | 一种基于仿真的参数化武器作战效能分析系统及其分析方法 |
CN103164455A (zh) * | 2011-12-15 | 2013-06-19 | 百度在线网络技术(北京)有限公司 | 数据库的优化方法及装置 |
CN103164455B (zh) * | 2011-12-15 | 2016-08-03 | 百度在线网络技术(北京)有限公司 | 数据库的优化方法及装置 |
CN103186603A (zh) * | 2011-12-29 | 2013-07-03 | 中国移动通信集团浙江有限公司 | 确定sql语句对关键业务的性能的影响的方法、系统和设备 |
CN103186603B (zh) * | 2011-12-29 | 2016-04-27 | 中国移动通信集团浙江有限公司 | 确定sql语句对关键业务的性能的影响的方法、系统和设备 |
CN103514227A (zh) * | 2012-06-29 | 2014-01-15 | 阿里巴巴集团控股有限公司 | 一种更新数据库的方法及装置 |
CN102999604A (zh) * | 2012-11-20 | 2013-03-27 | 北京奇虎科技有限公司 | 一种数据库性能的检测方法和装置 |
CN104714984A (zh) * | 2013-12-17 | 2015-06-17 | 中国移动通信集团湖南有限公司 | 一种数据库优化的方法和装置 |
CN103793526A (zh) * | 2014-02-24 | 2014-05-14 | 浪潮电子信息产业股份有限公司 | 一种监控sql语句性能的方法 |
CN103984726A (zh) * | 2014-05-16 | 2014-08-13 | 上海新炬网络技术有限公司 | 一种数据库执行计划的局部修正方法 |
CN103984726B (zh) * | 2014-05-16 | 2017-03-29 | 上海新炬网络信息技术有限公司 | 一种数据库执行计划的局部修正方法 |
CN105320679B (zh) * | 2014-07-11 | 2019-05-24 | 中国移动通信集团重庆有限公司 | 一种数据表索引集合生成方法及装置 |
CN105320679A (zh) * | 2014-07-11 | 2016-02-10 | 中国移动通信集团重庆有限公司 | 一种数据表索引集合生成方法及装置 |
CN104503974A (zh) * | 2014-11-17 | 2015-04-08 | 杭州斯凯网络科技有限公司 | 一种基于云平台的关系数据库自动优化方法 |
CN104503974B (zh) * | 2014-11-17 | 2017-07-18 | 杭州斯凯网络科技有限公司 | 一种基于云平台的关系数据库自动优化方法 |
CN104615696A (zh) * | 2015-01-23 | 2015-05-13 | 国家电网公司 | 一种95598知识库系统及建设方法 |
CN104615696B (zh) * | 2015-01-23 | 2018-05-01 | 国家电网公司 | 一种95598知识库系统及建设方法 |
CN104965861A (zh) * | 2015-06-03 | 2015-10-07 | 上海新炬网络信息技术有限公司 | 一种数据访问监控装置 |
CN104965861B (zh) * | 2015-06-03 | 2018-06-22 | 上海新炬网络信息技术股份有限公司 | 一种数据访问监控装置 |
WO2017015792A1 (en) * | 2015-07-24 | 2017-02-02 | Cai Yongcheng Eddy | Sql performance recommendations and scoring |
CN106407830A (zh) * | 2015-07-29 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种基于云的数据库的检测方法和装置 |
CN105138621A (zh) * | 2015-08-14 | 2015-12-09 | 浪潮电子信息产业股份有限公司 | 一种Sybase ASE数据库配置优化系统及方法 |
CN105138621B (zh) * | 2015-08-14 | 2019-03-26 | 浪潮电子信息产业股份有限公司 | 一种Sybase ASE数据库配置优化系统及方法 |
CN106909485A (zh) * | 2015-12-23 | 2017-06-30 | 伊姆西公司 | 用于确定存储系统性能下降的原因的方法和设备 |
CN106202403B (zh) * | 2016-07-11 | 2020-03-20 | 浪潮通用软件有限公司 | 一种通过动态分析创建数据库索引的方法 |
CN106202403A (zh) * | 2016-07-11 | 2016-12-07 | 浪潮通用软件有限公司 | 一种通过动态分析创建数据库索引的方法 |
CN107766944B (zh) * | 2016-08-17 | 2021-11-23 | Tcl科技集团股份有限公司 | 一种利用api分析进行系统功能流优化的系统和方法 |
CN107766944A (zh) * | 2016-08-17 | 2018-03-06 | Tcl集团股份有限公司 | 一种利用api分析进行系统功能流优化的系统和方法 |
CN106709005A (zh) * | 2016-12-23 | 2017-05-24 | 北京奇虎科技有限公司 | 一种处理数据库系统中的冗余索引的方法、装置和系统 |
CN106709005B (zh) * | 2016-12-23 | 2020-11-24 | 北京奇虎科技有限公司 | 一种处理数据库系统中的冗余索引的方法、装置和系统 |
CN107341203A (zh) * | 2017-06-22 | 2017-11-10 | 北京北信源软件股份有限公司 | 一种分布式搜索引擎的访问控制和索引优化方法与装置 |
CN108519949A (zh) * | 2018-04-12 | 2018-09-11 | 郑州云海信息技术有限公司 | 一种oracle数据库压力的测试方法、系统及装置 |
CN109885623A (zh) * | 2019-01-20 | 2019-06-14 | 成都飞机工业(集团)有限责任公司 | 一种数据库自动监控方法 |
CN111694816A (zh) * | 2020-06-15 | 2020-09-22 | 中国工商银行股份有限公司 | 用于优化数据库表的处理方法和装置 |
CN111694816B (zh) * | 2020-06-15 | 2024-04-23 | 中国工商银行股份有限公司 | 用于优化数据库表的处理方法和装置 |
CN112925804A (zh) * | 2021-05-12 | 2021-06-08 | 北京优炫软件股份有限公司 | 数据库维护方法和装置 |
CN112988786A (zh) * | 2021-05-12 | 2021-06-18 | 北京优炫软件股份有限公司 | 数据库维护方法和装置 |
WO2023000766A1 (zh) * | 2021-07-19 | 2023-01-26 | 中兴通讯股份有限公司 | 数据库模型动态调整的方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100543746C (zh) | 2009-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101059810A (zh) | 一种实现数据库系统自动优化的系统和方法 | |
CN101042673A (zh) | 软件测试系统及测试方法 | |
CN1294486C (zh) | 多重处理环境中透明动态优化的方法和系统 | |
US10235376B2 (en) | Merging metadata for database storage regions based on overlapping range values | |
CN1304941C (zh) | 用于自主硬件辅助的线程栈跟踪的装置与方法 | |
CN101079902A (zh) | 海量数据分级存储方法 | |
CN1313923C (zh) | 软件分发方法与系统 | |
CN102479225B (zh) | 一种分布式数据分析和处理方法及系统 | |
US20030158842A1 (en) | Adaptive acceleration of retrieval queries | |
CN1447224A (zh) | 计算机应用程序中优化存储器使用的方法 | |
US20050154740A1 (en) | Method and system for a self-healing query access plan | |
CN1573757A (zh) | 自动任务生成器的方法和系统 | |
CN102385628B (zh) | 一种基于jdbc的数据分布式处理方法 | |
CN1975731A (zh) | 用于管理对数据库中数据的访问的系统和方法 | |
CN1897025A (zh) | 海量数据处理中多线程工作包并行的etl技术 | |
CN1829964A (zh) | 用于处理消息队列的方法、设备和计算机程序 | |
CN1747398A (zh) | 网元管理系统中海量性能数据的统计方法 | |
EP3416065B1 (en) | Query method and query device | |
EP3834095B1 (en) | Automated real-time index management | |
CN104636502A (zh) | 一种查询系统的数据加速查询方法 | |
CN1855094A (zh) | 对用户电子文件进行处理的方法和装置 | |
CN1892652A (zh) | 将文件系统事件集成到关系数据库中的方法和系统 | |
US11755581B2 (en) | Cutoffs for pruning of database queries | |
US20060212468A1 (en) | Method and system for global constant management | |
CN1687899A (zh) | 将应用程序动态下载到用户识别模块的方法、系统及模块 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090923 Termination date: 20160316 |
|
CF01 | Termination of patent right due to non-payment of annual fee |