CN101196890A - 聚合数据库运行时信息和分析应用性能的方法及装置 - Google Patents

聚合数据库运行时信息和分析应用性能的方法及装置 Download PDF

Info

Publication number
CN101196890A
CN101196890A CNA2006101645894A CN200610164589A CN101196890A CN 101196890 A CN101196890 A CN 101196890A CN A2006101645894 A CNA2006101645894 A CN A2006101645894A CN 200610164589 A CN200610164589 A CN 200610164589A CN 101196890 A CN101196890 A CN 101196890A
Authority
CN
China
Prior art keywords
information
mentioned
inquiry
time
data base
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
Application number
CNA2006101645894A
Other languages
English (en)
Other versions
CN101196890B (zh
Inventor
傅毓勤
刘展华
任鲲鹏
邢芳
孙冰江
P·D·博斯曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN2006101645894A priority Critical patent/CN101196890B/zh
Priority to US11/849,181 priority patent/US20080140627A1/en
Publication of CN101196890A publication Critical patent/CN101196890A/zh
Application granted granted Critical
Publication of CN101196890B publication Critical patent/CN101196890B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了聚合数据库运行时信息的方法,分析应用性能的方法。根据本发明的一个方面,提供了一种聚合数据库运行时信息的方法,包括:按照查询(query)对上述数据库运行时信息进行聚合;以及按照对象(object)对上述按照查询聚合的数据库运行时信息进行聚合。

Description

聚合数据库运行时信息和分析应用性能的方法及装置
技术领域
本发明涉及数据库调优的技术,具体地说,涉及对数据库运行时信息进行聚合并对应用性能进行分析的方法及装置。
背景技术
随着数据库应用需求的增加,应用中查询的数量和复杂度显著增加,这对于数据库管理员和应用开发设计人员进行数据库应用性能优化、数据库设计改进和数据库维护是一个巨大挑战。通常,数据库管理员需要根据统计信息和资源利用情况来调整数据库应用的性能,基于在数据库上实际运行的查询改进数据库设计例如索引等,并确定何时进行数据库维护同时最小化对应用性能的影响。然而,数据库管理员很难直接利用在数据库系统上运行的成千上万个查询信息来进行这些工作。
上述困难的一个主要原因是缺乏充足的相关查询信息。为了进行应用性能调整,数据库管理员和应用开发设计人员需要记录一些查询信息,例如查询执行的频率,所涉及的表、列、列组和索引等。这些信息有利于改进数据库设计。为了确定何时进行数据库维护,数据库管理员需要获得更详细的信息,以使他们知道何时是进行数据库维护的最佳时期。然而,简单地收集和保存这些信息对于存储空间和系统性能来说都是巨大的负荷。结果,数据库管理员通常只收集少量查询信息,而这又不能够获得充足的信息。
下面列举一些目前的数据库的解决方案,例如Oracle,IBM(国际商业机器公司)的DB2,微软公司的SQL Server(Microsoft SQL Server)。
Oracle
Oracle可以聚合查询运行时信息,并可选地保存访问路径。然而,它不具有历史信息,并且当需要确定进行数据库维护的最佳时期时它们不能提供详细的信息用于进一步分析。
IBM DB2
IBM DB2的工具Cogito具有两个产品EZ-Tracer和EZ-SQLWarehouse(仓库),它们可以监视查询,捕获查询实例,聚合运行时信息并确定访问路径,并将这些信息加载到仓库用于进一步分析。然而,与Oracle一样,Cogito没有充足的历史信息来确定数据库维护的最佳时期。
Microsoft SQL Server
Microsoft SQL Server的一些跟踪工具可以监视和捕获服务器的活动,然而,获得的查询信息非常有限,没有聚合查询运行时信息和访问路径信息。此外,不是应用中的所有查询都能被监视。
发明内容
为了解决上述现有技术中存在的问题,本发明提供了聚合数据库运行时信息的方法,分析应用性能的方法,聚合数据库运行时信息的装置,以及分析应用性能的装置。
根据本发明的一个方面,提供了一种聚合数据库运行时信息的方法,包括:按照查询(query)对上述数据库运行时信息进行聚合;以及按照对象(object)对上述按照查询聚合的数据库运行时信息进行聚合。
根据本发明的另一个方面,提供了一种分析应用性能的方法,其特征在于,根据利用上述聚合数据库运行时信息的方法获得的信息,分析应用性能。
根据本发明的另一个方面,提供了一种聚合数据库运行时信息的装置,包括:查询聚合单元,按照查询(query)对上述数据库运行时信息进行聚合;以及对象聚合单元,按照对象(object)对上述按照查询聚合的数据库运行时信息进行聚合。
根据本发明的另一个方面,提供了一种分析应用性能的装置,其特征在于,包括分析单元,根据利用上述聚合数据库运行时信息的装置获得的信息,分析应用性能。
附图说明
相信通过以下结合附图对本发明具体实施方式的说明,能够使人们更好地了解本发明上述的特点、优点和目的。
图1是根据本发明的一个实施例的聚合数据库运行时信息的方法的流程图;
图2是根据本发明的另一个实施例的分析应用性能的方法的流程图;
图3是根据本发明的另一个实施例的聚合数据库运行时信息的装置的方框图;以及
图4是根据本发明的另一个实施例的分析应用性能的装置的方框图。
具体实施方式
下面就结合附图对本发明的各个优选实施例进行详细的说明。
聚合数据库运行时信息的方法
图1是根据本发明的一个实施例的聚合数据库运行时信息的方法的流程图。如图1所示,首先,在步骤101,按照查询对上述数据库运行时信息进行聚合。具体地,本实施例涉及的数据库可以是本领域的技术人员公知的任何数据库,例如Oracle,IBM DB2,Microsoft SQL Server,也可以是未来开发的任何数据库,本发明对此没有任何限制。此外,数据库的基本元素包括例如表、索引等等。
在本实施例中,数据库运行时信息是指在数据库的运行过程中涉及到的信息,例如数据库执行每个查询实例,及其相应的运行信息。需要指出,在本实施例中,“查询(query)”是指广义的查询,例如,所有利用数据库操作语言(DML)进行的数据库操作。
具体地,在步骤101,首先从上述数据库运行时信息中提取每个查询实例(query instance)的查询语句(query statement)和相关元信息(metainformation)。在本实施例中,将查询语句和相关元信息的组合作为一个查询。下面对查询语句和相关元信息进行详细描述。
在本实施例中,查询语句包括结构化查询语言(Structured QueryLanguage,SQL)中的基本查询语句,具体地,包括数据操作语言(DataManipulation Language,DML)中的基本查询语句,例如在数据库中插入(insert)数据、修改(update)数据库中的数据、删除(delete)数据库中的数据、查询(select)数据库中的数据等,本发明对此没有任何限制。在本实施例中,相关元信息是指与该查询的解释、执行、优化、编译等相关的元信息。具体地,模式用于指定执行一条语句时所涉及的数据库对象;安全选项用于限定执行一条语句使用的权限;优化选项用于辅助执行路径的选择。例如,通常的数据库中的模式(schema),安全选项,优化选项。例如,模式是指,对于相同的查询语句,由于用户不同,得到的结果也不同,因此对应不同的查询。
具体地,例如根据本发明的一个实施例,在IBM DB2中,相关元信息也可以是指绑定选项(Bind Option),其包括执行选项和编译选项,有关绑定选项的详细内容参见IBM DB2 Universal Database for z/OS,Version 8,Command Reference Chapter 15,在此通过参考引入其整个内容并省略其说明。
在步骤101,在从上述数据库运行时信息中提取每个查询实例的查询语句和相关元信息之后,按照每个查询即查询语句和相关元信息的组合,以最小时间单位,对上述数据库运行时信息进行聚合。在本实施例中,最小时间单位可以根据需要设定,例如1小时,1天等,本发明对此没有任何限制。
具体地,在本步骤,对于每个查询,在每个最小时间单位内,计算与该查询对应的查询实例的运行信息。在本实施例中,运行信息包括但不限于:CPU占用时间,运行时间(elapse time),执行次数(execution count),同步I/O次数(number of synchronous IO),申请页的次数(number ofgetpage operations),同步缓冲区读次数(number of synchronous bufferread operations performed),同步缓冲区写次数(number of buffersynchronous write operations performed),处理的行数(number of rowsprocessed),排序次数(number of sorts performed),索引访问次数(number of index scans performed),表查询次数(number of tablespacescans performed),并行组数(number of parallel groups created),等待锁的时间(wait time for lock and latch request),等待全局锁的时间(waittime for global locks),为读等待其他线程的时间(wait time for readactivity done by another thread),为写等待其他线程的时间(wait time forwrite activity done by another thread)等,本发明并不限于此。
在本实施例中,运行时间是指数据库引擎完成与该查询对应的查询实例所花费的时间,如果在该最小时间单位中与该查询对应的查询实例包括多个,则将多个查询实例花费的总时间作为这里的与该查询对应的查询实例的运行时间。
此外,在每个最小时间单位内,提取与该查询对应的查询实例的访问路径(access path)。在本实施例中,访问路径是指当一个查询涉及多个对象时,查询多个数据库对象的先后顺序以及对不同对象的访问方式,例如对于一个查询语句:
SELECT*FROM TABLE1,TABLE2,TABLE3WHERE AGE=12
如果先查询TABLE2,接着查询TABLE1,最后查询TABLE3,则与该查询对应的查询实例的访问顺序为[TABLE2,TABLE1,TABLE3]。应该理解,这里列举的访问路径只是为了说明目的,本发明涉及的访问路径可以是本领域的技术人员公知的任何访问路径。
可选地,在本实施例中,可以对查询语句和相关元信息的语义相同的多个查询进行合并(consolidating)。在本实施例中,语义相同的查询是指例如仅仅字面上或变量参数不同的查询。例如对于下面两个查询语句:
SELECT*FROM TABLE1,TABLE2,TABLE3WHERE AGE=12
SELECT*FROM TABLE1,TABLE2,TABLE3WHERE AGE=13
二者仅仅是书写方式不同,如果对应的查询具有相同的相关元信息,则实际执行这两个查询的结果和过程没有任何区别,从而可以将这两个查询合并为一个查询。
此外,可选地,在本实施例中,可以删除同一个查询下的在同一个时间单位中重复的访问路径。众所周知,在一定时期内,访问路径是不会变化的,从而可以将同一个查询的重复的访问路径删除。
最后,在步骤105,按照对象对上述在步骤101中按照查询聚合的数据库运行时信息进行聚合。具体地,首先,提取上述访问路径中包含的全部对象,并接着按照每个提取的对象,以最小时间单位,对上述按照查询聚合后的数据库运行时信息进行聚合。在此处,最小时间单位与上述最小时间单位相同,可以根据需要设定,例如1小时,1天等。
在本实施例中,从上述访问路径中提出的对象包括本领域的技术人员公知的任何对象,例如表、列、列组、索引等,本发明对此没有任何限制。
具体地,在步骤105,对于每个对象,在每个最小时间单位内,计算访问路径中包含该对象的查询实例的运行信息,例如包括但不限于CPU占用时间,运行时间,执行次数,同步I/O次数,申请页的次数,同步缓冲区读次数,同步缓冲区写次数,处理的行数,排序次数,索引访问次数,表查询次数,并行组数,等待锁的时间,等待全局锁的时间,为读等待其他线程的时间,为写等待其他线程的时间等,本发明并不限于此。
在本实施例中,运行时间是指数据库引擎完成访问路径中包含该对象的查询实例所花费的时间,如果访问路径中包含该对象的查询实例包括多个,则将多个查询实例花费的总时间作为这里的访问路径中包含该对象的查询实例的运行时间。
通过使用本实施例的聚合数据库运行时信息的方法,能够为应用性能调整、数据库设计改进和数据库维护提供充足并有用的信息。这些信息包括关于查询和对象的信息,从而为数据库管理员进行上述工作提供了方便。
此外,通过使用本实施例的聚合数据库运行时信息的方法,可以有效地聚合数据库运行时信息以降低空间负荷并提高分析效率。具体地,将原始数据聚合成对于分析有用的信息,合并类似数据,并删除重复数据,从而降低了空间负荷,同时降低了进行分析花费的时间。
分析应用性能的方法
在同一发明构思下,图2是根据本发明的另一个实施例的分析应用性能的方法的流程图。下面就结合该图,对本实施例进行描述。对于那些与前面实施例相同的部分,适当省略其说明。
如图2所示,首先,在步骤201,利用聚合数据库运行时信息的方法对数据库运行时信息进行聚合,获得聚合后的方法。具体地,本实施例涉及的数据库可以是本领域的技术人员公知的任何数据库,例如Oracle,IBMDB2,Microsoft SQL Server,也可以是未来开发的任何数据库,本发明对此没有任何限制。此外,在本实施例中,数据库运行时信息是指在数据库的运行过程中涉及到的任何信息,例如对数据库进行的各种操作,本发明对此没有任何限制。此外,在本实施例中,聚合数据库运行时信息的方法可以是上述参考图1的实施例的方法,也可以是本领域的技术人员公知的任何其它方法。
最后,在步骤205,根据在步骤201中利用聚合数据库运行时信息的方法获得的信息,分析应用性能。具体地,对应用性能的分析包括提炼数据库查询和数据库对象随时间变化的的柱状图,为数据库系统调优提供系统化、有效的数据支持,以及本领域的技术人员公知的对数据库进行的各种调优,本发明对此没有任何限制。
通过使用本实施例的分析应用性能的方法,能够为应用性能调整、数据库设计改进和数据库维护提供充足并有用的信息。这些信息包括关于查询和对象的信息,从而为数据库管理员进行上述工作提供了方便。
此外,通过使用本实施例的分析应用性能的方法,可以有效地聚合数据库运行时信息以降低空间负荷并提高分析效率。具体地,将原始数据聚合成对于分析有用的信息,合并类似数据,并删除重复数据,从而降低了空间负荷,同时降低了进行分析花费的时间。
聚合数据库运行时信息的装置
在同一发明构思下,图3是根据本发明的另一个实施例的聚合数据库运行时信息的装置的方框图。下面就结合该图,对本实施例进行描述。对于那些与前面实施例相同的部分,适当省略其说明。
如图3所示,本实施例的聚合数据库运行时信息的装置300包括:查询聚合单元301,按照查询对上述数据库运行时信息进行聚合;以及对象聚合单元305,按照对象对上述按照查询聚合的数据库运行时信息进行聚合。
具体地,本实施例涉及的数据库可以是本领域的技术人员公知的任何数据库,例如Oracle,IBM DB2,Microsoft SQL Server,也可以是未来开发的任何数据库,本发明对此没有任何限制。此外,数据库的基本元素包括例如表、索引等等。
在本实施例中,数据库运行时信息是指在数据库的运行过程中涉及到的信息,例如对数据库进行的各种操作,以及数据库执行每个查询实例的信息。需要指出,在本实施例中,“查询(query)”是指广义的查询,例如,所有利用数据库操作语言(DML)进行的数据库操作。
具体地,查询聚合单元301包括提取单元,用于从上述数据库运行时信息中提取每个查询实例(query instance)的查询语句(query statement)和相关元信息(meta information)。在本实施例中,将查询语句和相关元信息的组合作为一个查询。下面对查询语句和相关元信息进行详细描述。
在本实施例中,查询语句包括结构化查询语言(Structured QueryLanguage,SQL)中的基本查询语句,具体地,包括数据操作语言(DataManipulation Language,DML)中的基本查询语句,例如在数据库中插入(insert)数据、修改(update)数据库中的数据、删除(delete)数据库中的数据、查询(select)数据库中的数据等,本发明对此没有任何限制。在本实施例中,相关元信息是指与该查询的解释、执行、优化、编译等相关的元信息。具体地,模式用于指定执行一条语句时所涉及的数据库对象;安全选项用于限定执行一条语句使用的权限;优化选项用于辅助执行路径的选择。例如,通常的数据库中的模式(schema),安全选项,优化选项。例如,模式是指,对于相同的查询语句,由于用户不同,得到的结果也不同,因此对应不同的查询。
具体地,例如根据本发明的一个实施例,在IBM DB2中,相关元信息也可以是指绑定选项(Bind Option),其包括执行选项和编译选项,有关绑定选项的详细内容参见IBM DB2 Universal Database for z/OS,Version 8,Command Reference Chapter 15,在此通过参考引入其整个内容并省略其说明。
在本实施例中,在查询聚合单元301的提取单元从上述数据库运行时信息中提取每个查询实例的查询语句和相关元信息之后,查询聚合单元301按照每个查询即查询语句和相关元信息的组合,以最小时间单位,对上述数据库运行时信息进行聚合。在本实施例中,最小时间单位可以根据需要设定,例如1小时,1天等,本发明对此没有任何限制。
具体地,在本步骤,查询聚合单元301还包括时间计算单元,对于每个查询,在每个最小时间单位内,该时间计算单元计算与该查询对应的查询实例的运行信息。在本实施例中,运行信息包括但不限于:CPU占用时间,运行时间(elapse time),执行次数(execution count),同步I/O次数(number of synchronous IO),申请页的次数(number of getpageoperations),同步缓冲区读次数(number of synchronous buffer readoperations performed),同步缓冲区写次数(number of buffer synchronouswrite operations performed),处理的行数(number of rows processed),排序次数(number of sorts performed),索引访问次数(number of indexscans performed),表查询次数(number of tablespace scans performed),并行组数(number of parallel groups created),等待锁的时间(wait timefor lock and latch request),等待全局锁的时间(wait time for globallocks),为读等待其他线程的时间(wait time for read activity done byanother thread),为写等待其他线程的时间(wait time for write activitydone by another thread)等,本发明并不限于此。
在本实施例中,运行时间是指数据库引擎完成与该查询对应的查询实例所花费的时间,如果在该最小时间单位中与该查询对应的查询实例包括多个,则将多个查询实例花费的总时间作为这里的与该查询对应的查询实例的运行时间。
此外,查询聚合单元301还包括路径提取单元,在每个最小时间单位内,该路径提取单元提取与该查询对应的查询实例的访问路径。在本实施例中,访问路径是指当一个查询涉及多个对象时,查询多个对象的先后顺序,例如对于一个查询语句:
SELECT*FROM TABLE1,TABLE2,TABLE3WHERE AGE=12
如果先查询TABLE2,接着查询TABLE1,最后查询TABLE3,则与该查询对应的查询实例的访问顺序为[TABLE2,TABLE1,TABLE3]。应该理解,这里列举的访问路径只是为了说明目的,本发明涉及的访问路径可以是本领域的技术人员公知的任何访问路径。
可选地,在本实施例中,查询聚合单元301还包括合并单元,用于对查询语句和相关元信息的语义相同的多个查询进行合并。在本实施例中,语义相同的查询是指例如仅仅字面上或变量参数不同的查询。例如对于下面两个查询语句:
SELECT*FROM TABLE1,TABLE2,TABLE3WHERE AGE=12
SELECT*FROM TABLE1,TABLE2,TABLE3WHERE AGE=13
二者仅仅是书写方式不同,如果对应的查询具有相同的相关元信息,则实际执行这两个查询的结果和过程没有任何区别,从而可以将这两个查询合并为一个查询。
此外,可选地,在本实施例中,查询聚合单元301还包括删除单元,用于删除同一个查询下的在同一个时间单位中重复的访问路径。众所周知,在一定时期内,访问路径是不会变化的,从而可以将同一个查询的重复的访问路径删除。
在本实施例中,对象聚合单元305按照对象对上述查询聚合单元301按照查询聚合的数据库运行时信息进行聚合。具体地,对象聚合单元305包括提取单元,用于提取上述访问路径中包含的全部对象。在提取单元提取出上述访问路径中包含的全部对象后,对象聚合单元305按照每个提取的对象,以最小时间单位,对上述按照查询聚合后的数据库运行时信息进行聚合。在此处,最小时间单位与上述最小时间单位相同,可以根据需要设定,例如1小时,1天等。
在本实施例中,从上述访问路径中提出的对象包括本领域的技术人员公知的任何对象,例如表、列、列组、索引等,本发明对此没有任何限制。
具体地,对象聚合单元305还包括时间计算单元,对于每个对象,在每个最小时间单位内,该时间计算单元计算访问路径中包含该对象的查询实例的运行信息,例如包括但不限于CPU占用时间,运行时间,执行次数,同步I/O次数,申请页的次数,同步缓冲区读次数,同步缓冲区写次数,处理的行数,排序次数,索引访问次数,表查询次数,并行组数,等待锁的时间,等待全局锁的时间,为读等待其他线程的时间,为写等待其他线程的时间等,本发明并不限于此。
在本实施例中,运行时间是指数据库引擎完成访问路径中包含该对象的查询实例所花费的时间,如果访问路径中包含该对象的查询实例包括多个,则将多个查询实例花费的总时间作为这里的访问路径中包含该对象的查询实例的运行时间。
通过使用本实施例的聚合数据库运行时信息的装置300,能够为应用性能调整、数据库设计改进和数据库维护提供充足并有用的信息。这些信息包括关于查询和对象的信息,从而为数据库管理员进行上述工作提供了方便。
此外,通过使用本实施例的聚合数据库运行时信息的装置300,可以有效地聚合数据库运行时信息以降低空间负荷并提高分析效率。具体地,将原始数据聚合成对于分析有用的信息,合并类似数据,并删除重复数据,从而降低了空间负荷,同时降低了进行分析花费的时间。
分析应用性能的装置
在同一发明构思下,图4是根据本发明的另一个实施例的分析应用性能的装置的方框图。下面就结合该图,对本实施例进行描述。对于那些与前面实施例相同的部分,适当省略其说明。
如图4所示,本实施例的分析应用性能的装置400包括聚合数据库运行时信息的装置,用于获得聚合的信息;以及分析单元405,用于分析应用性能。
具体地,本实施例涉及的数据库可以是本领域的技术人员公知的任何数据库,例如Oracle,IBM DB2,Microsoft SQL Server,也可以是未来开发的任何数据库,本发明对此没有任何限制。此外,在本实施例中,数据库运行时信息是指在数据库的运行过程中涉及到的任何信息,例如对数据库进行的各种操作,本发明对此没有任何限制。此外,在本实施例中,聚合数据库运行时信息的装置可以是上述参考图3的实施例的聚合数据库运行时信息的装置300,也可以是本领域的技术人员公知的任何其它装置。
在本实施例中,分析单元405利用聚合数据库运行时信息的装置获得的信息,分析应用性能。具体地,对应用性能的分析包括提炼数据库查询和数据库对象随时间变化的的柱状图,为数据库系统调优提供系统化、有效的数据支持,以及本领域的技术人员公知的对数据库进行的各种调优,本发明对此没有任何限制。
通过使用本实施例的分析应用性能的装置400,能够为应用性能调整、数据库设计改进和数据库维护提供充足并有用的信息。这些信息包括关于查询和对象的信息,从而为数据库管理员进行上述工作提供了方便。
此外,通过使用本实施例的分析应用性能的装置400,可以有效地聚合数据库运行时信息以降低空间负荷并提高分析效率。具体地,将原始数据聚合成对于分析有用的信息,合并类似数据,并删除重复数据,从而降低了空间负荷,同时降低了进行分析花费的时间。
以上虽然通过一些示例性的实施例详细描述了本发明的聚合数据库运行时信息的方法,分析应用性能的方法,聚合数据库运行时信息的装置,以及分析应用性能的装置,但是以上这些实施例并不是穷举的,本领域技术人员可以在本发明的精神和范围内实现各种变化和修改。因此,本发明并不限于这些实施例,本发明的范围仅由所附的权利要求限定。

Claims (20)

1.一种聚合数据库运行时信息的方法(method for aggregatingdatabase runtime information),包括:
按照查询(query)对上述数据库运行时信息进行聚合;以及
按照对象(object)对上述按照查询聚合的数据库运行时信息进行聚合。
2.根据权利要求1所述的聚合数据库运行时信息的方法,其中,按照查询对上述数据库运行时信息进行聚合的步骤包括:
从上述数据库运行时信息中提取每个查询实例(query instance)的查询语句(query statement)和相关元信息(meta information);以及
按照每个上述查询语句和相关元信息的组合,以最小时间单位,对上述数据库运行时信息进行聚合。
3.根据权利要求2所述的聚合数据库运行时信息的方法,其中,按照每个上述查询语句和相关元信息的组合对上述数据库运行时信息进行聚合的步骤包括:
计算在每个上述最小时间单位内与该查询语句和相关元信息的组合对应的查询实例的运行信息;以及
提取在每个上述最小时间单位内与该查询语句和相关元信息的组合对应的查询实例的访问路径(access path)。
4.根据权利要求3所述的聚合数据库运行时信息的方法,其中,上述运行信息包括CPU占用时间,运行时间,执行次数,同步I/O次数,申请页的次数,同步缓冲区读次数,同步缓冲区写次数,处理的行数,排序次数,索引访问次数,表查询次数,并行组数,等待锁的时间,等待全局锁的时间,为读等待其他线程的时间,为写等待其他线程的时间中的一种或多种。
5.根据权利要求4所述的聚合数据库运行时信息的方法,其中,按照对象对上述按照查询聚合的数据库运行时信息进行聚合的步骤包括:
提取上述访问路径中包含的全部对象;以及
按照每个上述对象,以最小时间单位,对上述按照查询聚合后的数据库运行时信息进行聚合。
6.根据权利要求5所述的聚合数据库运行时信息的方法,其中,按照每个上述对象以最小时间单位对上述按照查询聚合后的数据库运行时信息进行聚合的步骤包括:
计算在每个上述最小时间单位内访问路径中包含该对象的查询实例的运行信息。
7.根据权利要求6所述的聚合数据库运行时信息的方法,其中,上述运行信息包括CPU占用时间,运行时间,执行次数,同步I/O次数,申请页的次数,同步缓冲区读次数,同步缓冲区写次数,处理的行数,排序次数,索引访问次数,表查询次数,并行组数,等待锁的时间,等待全局锁的时间,为读等待其他线程的时间,为写等待其他线程的时间中的一种或多种。
8.根据权利要求2-7的任意一项所述的聚合数据库运行时信息的方法,其中,按照查询对上述数据库运行时信息进行聚合的步骤还包括:
对查询语句和相关元信息的语义相同的多个查询进行合并(consolidating)。
9.根据权利要求8所述的聚合数据库运行时信息的方法,其中,按照查询对上述数据库运行时信息进行聚合的步骤还包括:
删除同一个查询下的在同一个时间单位中重复的访问路径。
10.根据权利要求2-7的任意一项所述的聚合数据库运行时信息的方法,其中,上述相关元信息包括:模式(schema),安全选项,优化选项,绑定选项,执行选项和编译选项的一个或多个。
11.一种聚合数据库运行时信息的装置(apparatus for aggregatingdatabase runtime information),包括:
查询聚合单元,按照查询(query)对上述数据库运行时信息进行聚合;以及
对象聚合单元,按照对象(object)对上述按照查询聚合的数据库运行时信息进行聚合。
12.根据权利要求11所述的聚合数据库运行时信息的装置,其中,上述查询聚合单元包括:
提取单元,从上述数据库运行时信息中提取每个查询实例(queryinstance)的查询语句(query statement)和相关元信息(meta information);以及
其中,上述查询聚合单元按照每个上述查询语句和相关元信息的组合,以最小时间单位,对上述数据库运行时信息进行聚合。
13.根据权利要求12所述的聚合数据库运行时信息的装置,其中,上述查询聚合单元包括:
时间计算单元,用于计算在每个上述最小时间单位内与该查询语句和相关元信息的组合对应的查询实例的运行信息;以及
路径提取单元,用于提取在每个上述最小时间单位内与该查询语句和相关元信息的组合对应的查询实例的访问路径(access path)。
14.根据权利要求13所述的聚合数据库运行时信息的装置,其中,上述运行信息包括CPU占用时间,运行时间,执行次数,同步I/O次数,申请页的次数,同步缓冲区读次数,同步缓冲区写次数,处理的行数,排序次数,索引访问次数,表查询次数,并行组数,等待锁的时间,等待全局锁的时间,为读等待其他线程的时间,为写等待其他线程的时间中的一种或多种。
15.根据权利要求14所述的聚合数据库运行时信息的装置,其中,上述对象聚合单元包括:
提取单元,用于提取上述访问路径中包含的全部对象;以及
其中,上述对象聚合单元按照每个上述对象,以最小时间单位,对上述按照查询聚合后的数据库运行时信息进行聚合。
16.根据权利要求15所述的聚合数据库运行时信息的装置,其中,上述对象聚合单元包括:
时间计算单元,用于计算在每个上述最小时间单位内访问路径中包含该对象的查询实例的运行信息。
17.根据权利要求16所述的聚合数据库运行时信息的装置,其中,上述运行信息包括CPU占用时间,运行时间,执行次数,同步I/O次数,申请页的次数,同步缓冲区读次数,同步缓冲区写次数,处理的行数,排序次数,索引访问次数,表查询次数,并行组数,等待锁的时间,等待全局锁的时间,为读等待其他线程的时间,为写等待其他线程的时间中的一种或多种。
18.根据权利要求12-17的任意一项所述的聚合数据库运行时信息的装置,其中,上述查询聚合单元还包括:
合并单元,用于对查询语句和相关元信息的语义相同的多个查询进行合并(consolidating)。
19.根据权利要求18所述的聚合数据库运行时信息的装置,其中,上述查询聚合单元还包括:
删除单元,用于删除同一个查询下的在同一个时间单位中重复的访问路径。
20.根据权利要求12-17的任意一项所述的聚合数据库运行时信息的装置,其中,上述相关元信息包括:模式(schema),安全选项,优化选项,绑定选项,执行选项和编译选项的一个或多个。
CN2006101645894A 2006-12-08 2006-12-08 聚合数据库运行时信息和分析应用性能的方法及装置 Expired - Fee Related CN101196890B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2006101645894A CN101196890B (zh) 2006-12-08 2006-12-08 聚合数据库运行时信息和分析应用性能的方法及装置
US11/849,181 US20080140627A1 (en) 2006-12-08 2007-08-31 Method and apparatus for aggregating database runtime information and analyzing application performance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006101645894A CN101196890B (zh) 2006-12-08 2006-12-08 聚合数据库运行时信息和分析应用性能的方法及装置

Publications (2)

Publication Number Publication Date
CN101196890A true CN101196890A (zh) 2008-06-11
CN101196890B CN101196890B (zh) 2010-06-16

Family

ID=39499470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101645894A Expired - Fee Related CN101196890B (zh) 2006-12-08 2006-12-08 聚合数据库运行时信息和分析应用性能的方法及装置

Country Status (2)

Country Link
US (1) US20080140627A1 (zh)
CN (1) CN101196890B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462095A (zh) * 2013-09-13 2015-03-25 阿里巴巴集团控股有限公司 一种查询语句公共部分的提取方法及装置
CN104699788A (zh) * 2015-03-16 2015-06-10 百度在线网络技术(北京)有限公司 数据库查询方法和装置
CN104765731A (zh) * 2014-01-02 2015-07-08 国际商业机器公司 数据库查询优化方法和设备
CN105007317A (zh) * 2015-07-10 2015-10-28 深圳市创梦天地科技有限公司 一种分布式节点的数据处理方法及网关设备
WO2017076294A1 (zh) * 2015-11-05 2017-05-11 华为技术有限公司 一种确定数据库热页面的方法和装置
CN107273525A (zh) * 2017-06-23 2017-10-20 上海携程商务有限公司 函数式查询方法及系统
CN108268523A (zh) * 2016-12-30 2018-07-10 北京国双科技有限公司 数据库聚合处理方法及装置
CN109271453A (zh) * 2018-10-22 2019-01-25 阿里巴巴集团控股有限公司 一种数据库容量的确定方法和装置
CN109710642A (zh) * 2018-12-18 2019-05-03 中科曙光国际信息产业有限公司 基于大数据架构的索引聚合的并行处理系统
CN112527620A (zh) * 2020-12-24 2021-03-19 北京百度网讯科技有限公司 数据库性能分析方法及装置、电子设备、介质、产品

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8577871B2 (en) * 2008-03-31 2013-11-05 Oracle International Corporation Method and mechanism for out-of-the-box real-time SQL monitoring
AU2011224150A1 (en) * 2010-03-11 2012-09-13 Entegrity LLC Methods and systems for data aggregation and reporting
CN102314506B (zh) * 2011-09-07 2015-09-09 北京人大金仓信息技术股份有限公司 基于动态索引的分布式缓冲区管理方法
CN106980637B (zh) 2016-09-28 2019-06-07 平安科技(深圳)有限公司 Sql审核方法和装置
CN107885824A (zh) * 2017-11-07 2018-04-06 北京锐安科技有限公司 一种数据读写方法及系统
JP6760348B2 (ja) 2018-10-11 2020-09-23 株式会社富士通ゼネラル 空気調和機、データ送信方法及び空気調和システム
CN111506581B (zh) * 2020-06-17 2020-11-06 北京北龙超级云计算有限责任公司 一种数据聚合方法和服务器
CN113778994B (zh) * 2021-09-15 2024-05-17 京东科技信息技术有限公司 数据库检测方法、装置、电子设备和计算机可读介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016977B1 (en) * 1999-11-05 2006-03-21 International Business Machines Corporation Method and system for multilingual web server
JP2001331362A (ja) * 2000-03-17 2001-11-30 Sony Corp ファイル変換方法、データ変換装置及びファイル表示システム
US6947927B2 (en) * 2002-07-09 2005-09-20 Microsoft Corporation Method and apparatus for exploiting statistics on query expressions for optimization
US6996556B2 (en) * 2002-08-20 2006-02-07 International Business Machines Corporation Metadata manager for database query optimizer
KR100493882B1 (ko) * 2002-10-23 2005-06-10 삼성전자주식회사 Xml 데이터 검색을 위한 질의 처리 방법
US7047254B2 (en) * 2002-10-31 2006-05-16 Hewlett-Packard Development Company, L.P. Method and apparatus for providing aggregate object identifiers
US20040236757A1 (en) * 2003-05-20 2004-11-25 Caccavale Frank S. Method and apparatus providing centralized analysis of distributed system performance metrics
US7602725B2 (en) * 2003-07-11 2009-10-13 Computer Associates Think, Inc. System and method for aggregating real-time and historical data
US7149731B2 (en) * 2003-11-26 2006-12-12 International Business Machines Corporation Methods, systems and articles of manufacture for abstract query building with selectability of aggregation operations and grouping
US20060026179A1 (en) * 2003-12-08 2006-02-02 Brown Douglas P Workload group trend analysis in a database system
US20050229186A1 (en) * 2004-03-15 2005-10-13 Canyonbridge, Inc. Method and apparatus for dynamic runtime object aggregation
US7302422B2 (en) * 2004-04-14 2007-11-27 International Business Machines Corporation Query workload statistics collection in a database management system
US7356524B2 (en) * 2005-05-13 2008-04-08 Sap Ag Query runtime estimation using statistical query records
US7512574B2 (en) * 2005-09-30 2009-03-31 International Business Machines Corporation Consistent histogram maintenance using query feedback

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462095B (zh) * 2013-09-13 2018-06-12 阿里巴巴集团控股有限公司 一种查询语句公共部分的提取方法及装置
CN104462095A (zh) * 2013-09-13 2015-03-25 阿里巴巴集团控股有限公司 一种查询语句公共部分的提取方法及装置
CN104765731A (zh) * 2014-01-02 2015-07-08 国际商业机器公司 数据库查询优化方法和设备
CN104765731B (zh) * 2014-01-02 2018-05-18 国际商业机器公司 数据库查询优化方法和设备
CN104699788A (zh) * 2015-03-16 2015-06-10 百度在线网络技术(北京)有限公司 数据库查询方法和装置
CN105007317A (zh) * 2015-07-10 2015-10-28 深圳市创梦天地科技有限公司 一种分布式节点的数据处理方法及网关设备
CN105007317B (zh) * 2015-07-10 2019-08-06 深圳市创梦天地科技有限公司 一种分布式节点的数据处理方法及网关设备
WO2017076294A1 (zh) * 2015-11-05 2017-05-11 华为技术有限公司 一种确定数据库热页面的方法和装置
US10331652B2 (en) 2015-11-05 2019-06-25 Huawei Technologies Co., Ltd. Method and apparatus for determining hot page in database
CN108268523A (zh) * 2016-12-30 2018-07-10 北京国双科技有限公司 数据库聚合处理方法及装置
CN107273525A (zh) * 2017-06-23 2017-10-20 上海携程商务有限公司 函数式查询方法及系统
CN109271453A (zh) * 2018-10-22 2019-01-25 阿里巴巴集团控股有限公司 一种数据库容量的确定方法和装置
CN109271453B (zh) * 2018-10-22 2021-08-27 创新先进技术有限公司 一种数据库容量的确定方法和装置
CN109710642A (zh) * 2018-12-18 2019-05-03 中科曙光国际信息产业有限公司 基于大数据架构的索引聚合的并行处理系统
CN109710642B (zh) * 2018-12-18 2021-07-27 中科曙光国际信息产业有限公司 基于大数据架构的索引聚合的并行处理系统
CN112527620A (zh) * 2020-12-24 2021-03-19 北京百度网讯科技有限公司 数据库性能分析方法及装置、电子设备、介质、产品

Also Published As

Publication number Publication date
CN101196890B (zh) 2010-06-16
US20080140627A1 (en) 2008-06-12

Similar Documents

Publication Publication Date Title
CN101196890B (zh) 聚合数据库运行时信息和分析应用性能的方法及装置
US20200192900A1 (en) Order-independent multi-record hash generation and data filtering
US10552413B2 (en) Database workload capture and replay
US6801903B2 (en) Collecting statistics in a database system
US10769123B2 (en) Workload-driven recommendations for Columnstore and Rowstore indexes in relational databases
CN107092627B (zh) 记录的列状存储表示
Lin et al. Full-text indexing for optimizing selection operations in large-scale data analytics
CN104620239A (zh) 自适应查询优化
CN101110074A (zh) 基于文件系统缓存的数据加速查询方法
JP6471262B2 (ja) データ処理システム
US20140046928A1 (en) Query plans with parameter markers in place of object identifiers
KR20020028208A (ko) 데이터베이스 오브젝트 통계의 실시간 수집 방법 및 시스템
Yang et al. F1 Lightning: HTAP as a Service
Cubukcu et al. Citus: Distributed postgresql for data-intensive applications
Kalavri et al. Block sampling: Efficient accurate online aggregation in mapreduce
Kvet et al. Master Index Access as a Data Tuple and Block Locator
Wang et al. QMapper for smart grid: Migrating SQL-based application to Hive
Li et al. Efficient time-interval data extraction in MVCC-based RDBMS
CN112015742B (zh) 基于行列共存的htap数据库的数据处理方法及装置
Zeller et al. Experience report: Exploiting advanced database optimization features for large-scale sap r/3 installations
Kimura et al. Upi: A primary index for uncertain databases
Munir et al. Intermediate results materialization selection and format for data-intensive flows
Chen et al. Continuous mapreduce for in-db stream analytics
CN113553320B (zh) 数据质量监控方法及装置
Boissier et al. Improving tuple reconstruction for tiered column stores: a workload-aware ansatz based on table reordering

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100616

Termination date: 20101208