CN114791899A - 一种数据库管理方法及装置 - Google Patents

一种数据库管理方法及装置 Download PDF

Info

Publication number
CN114791899A
CN114791899A CN202110099384.7A CN202110099384A CN114791899A CN 114791899 A CN114791899 A CN 114791899A CN 202110099384 A CN202110099384 A CN 202110099384A CN 114791899 A CN114791899 A CN 114791899A
Authority
CN
China
Prior art keywords
database
resource
page
lock
database resource
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.)
Pending
Application number
CN202110099384.7A
Other languages
English (en)
Inventor
陆云飞
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110099384.7A priority Critical patent/CN114791899A/zh
Priority to PCT/CN2022/072404 priority patent/WO2022156647A1/zh
Priority to EP22742126.0A priority patent/EP4273712A1/en
Publication of CN114791899A publication Critical patent/CN114791899A/zh
Priority to US18/357,925 priority patent/US20230367670A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • 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/23Updating
    • G06F16/2308Concurrency control
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0409Adaptive resonance theory [ART] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种数据库管理方法及装置。该数据库管理方法,包括:获取数据库中第一数据库资源的统计数据,统计数据为统计得到的第一数据库资源的使用数据;从统计数据中提取第一数据库资源的第一使用特征;将第一使用特征输入竞争评估模型,获得评估结果,竞争评估模型是基于至少一个数据库资源的第二使用特征训练得到的;当评估结果表示第二数据库资源为异常资源时,输出竞争告警信息,竞争告警信息用于提示第二数据库资源发生竞争瓶颈,第二数据库资源为第一数据库资源的部分或者全部。在本申请中,通过使用竞争评估模型识别数据库***中发生竞争瓶颈的数据库资源,如此,实现对竞争瓶颈的准确定位。

Description

一种数据库管理方法及装置
技术领域
本申请涉及信息技术领域,特别涉及一种数据库管理方法及装置。
背景技术
随着信息化进程的加快,数据***式增长,数据库管理***(data basemanagement system,DBMS)作为数据管理、数据分析的核心软件,发挥着越来越重要的作用。
联机事务处理(on-line transaction processing,OLTP)是传统关系型数据库的主要应 用,大多关注于事务的处理效率,通常用每秒处理事务数来衡量。OLTP***强调数据库内 存效率、强调内存各种指标的命令率、强调绑定变量以及强调并发操作。
目前,OLTP***的高并发特性会导致***内资源竞争频繁,又因为***内资源众多, 使得无法准确定位出发生竞争瓶颈(competitive bottleneck)的数据库资源的位置。
发明内容
本申请提供了一种数据库管理方法及装置,以实现对发生竞争瓶颈的数据库资源的准确 定位。
第一方面,本申请提供一种数据库管理方法,该方法可以应用于数据库管理***中。 该方法可以包括:获取数据库中第一数据库资源的统计数据,统计数据为统计得到的第 一数据库资源的使用数据;从统计数据中提取第一数据库资源的第一使用特征;将第一使用特征输入竞争评估模型,获得评估结果;当评估结果表示第二数据库资源为异常资 源时,输出竞争告警信息,竞争告警信息用于提示第二数据库资源发生竞争瓶颈。这 里,竞争评估模型是基于第一数据库资源的第二使用特征训练得到的,第二数据库资源 为第一数据库资源的部分或者全部,也就是说,第二数据库资源可以为一个或者多个第 一数据资源。
在一些可能的实施方式中,上述第一数据库资源可以为数据库中锁(也可以理解为锁 对应的临界区)、页面(page)等。
可以理解的,上述竞争评估模型是基于第一数据库资源的第二使用特征训练得到的。这里,第二使用特征可以为专门用于训练竞争评估模型的第一数据库资源的使用特 征样本,也可以为由第一数据库资源的历史使用数据(或者已有使用数据)提取的使用 特征。
在一些可能的实施方式中,在输出的竞争告警信息中,可以携带第二数据库资源的 标识,如此,使得数据库管理员(data base administrator,DBA)在看到竞争告警信息后,能够根据第二数据库资源的标识,准确定位到发生竞争瓶颈的数据库资源,进而 DBA能够针对于竞争瓶颈进行精准调优,提高数据库的可维护性。
在本申请中,通过使用竞争评估模型识别数据库***中发生竞争瓶颈的数据库资源, 如此,实现对发生竞争瓶颈的资源的准确定位。进一步地,数据库管理***在定位到竞争瓶 颈之后,将竞争瓶颈告知DBA,使得DBA能够对竞争瓶颈进行精准调优,极大减轻了DBA的工作量并帮助DBA及时发现问题,提高数据库的可维护性。
在一些可能的实施方式中,上述方法还包括:当评估结果表示第二数据库资源为异 常资源时,获得第二数据库资源对应的调优信息;输出调优信息,调优信息用于提示第二数据库资源关联的调优策略。
可以理解的,为了帮助DBA分析数据库***的状态,数据库管理***还可以针对不同 的第二数据库资源关联不同的调优策略。当评估结果表示第二数据库资源为异常资源时, 数据库管理***除了输出竞争告警信息之外,还可以输出与第二数据库资源关联的调优 信息,以此来提示第二数据库资源可以采用的调优策略,使得DBA可以根据竞争告警 信息和调优信息,快速定位性能问题、分析负载下的***状态以及提供相应的调优方 案,进而增强数据库***的可维护性。
在一些可能的实施方式中,获取数据库中第一数据库资源的统计数据,包括:查询数据库中与第一数据库资源对应的第一视图,获得统计数据,其中,第一视图用于统计 第一数据库资源的使用数据。
可以理解的,第一视图可以为锁视图或者页面视图。
在一些可能的实施方式中,当第一数据库资源包括数据库中的至少一类锁时,对于 至少一类锁中的第一锁,第一视图包括以下一个数据或者多个数据的组合:第一锁的询问次数、第一锁的阻塞休眠时间、获取第一锁失败的次数、获取第一锁成功的次数。这 里,第一锁可以理解为至少一类锁中的任一类锁。
在本申请中,当第一数据库资源包括数据库中的至少一类锁时,上述第一视图还可 以包括:第一锁所在会话的标识和第一锁的锁类型。
在一些可能的实施方式中,第一数据库资源包括数据库中的至少一类锁,第二数据 库资源为异常锁。
在一些可能的实施方式中,当第二数据库资源为桶级锁(SPIN_BUCKET)时,竞 争告警信息中携带有该桶级锁关联的页面标识。
在一些可能的实施方式中,将第一使用特征输入竞争评估模型,获得评估结果,包括:计算第一使用特征与优胜特征之间的距离;若距离超过预设阈值,则输出第一评估 结果,第一评估结果用于表示第二数据库资源为异常资源;或,若距离未超过预设阈 值,则输出第二评估结果,第二评估结果用于表示第二数据库资源为非异常资源。
在一些可能的实施方式中,当第一数据库资源包括数据库中的至少一个页面时,对 于至少一个页面中的第一页面,第一视图包括以下一个数据或者多个数据的组合:第一页面所在桶的锁的询问次数、第一页面的拷贝次数、第一页面所在桶的长度。这里,第 一页面可以理解为至少一个页面中的任一个页面。
在本申请中,当第一数据库资源包括数据库中的至少一个页面时,上述第一视图还 可以包括:第一页面所在存储池的标识、第一页面所属文件、第一页面的标识、
在一些可能的实施方式中,当第一数据库资源包括数据库中的至少一个页面时,第 二数据库资源为热页。
在一些可能的实施方式中,将第一使用特征输入竞争评估模型,获得评估结果,包括:通过逻辑回归函数对第一使用特征进行二分类,输出评估结果,其中,评估结果用 于表示第二数据库资源是否为异常资源。
在一些可能的实施方式中,查询数据库中与第一数据库资源对应的第一视图,包括:通过选择语句(如select语句)查询第一视图。
第二方面,本申请提供一种数据库管理装置,该数据库管理装置可以为数据库管理系 统或者数据库管理***中的芯片或者片上***,还可以为数据库管理***中用于实现上述第 一方面或者第一方面的任一种可能的实施方式中所述的方法的功能模块。该数据库管理装 置可以上述第一方面或者第一方面的任一种可能的实施方式中所述的数据库管理***所执 行的功能,所述功能可以通过硬件执行相应的软件实现。这里的硬件或软件可以包括一个或 多个上述功能相应的模块。该数据库管理装置,包括:特征提取模块,用于:获取数据 库中第一数据库资源的统计数据,统计数据为统计得到的第一数据库资源的使用数据; 从统计数据中提取第一数据库资源的第一使用特征;评估模块,用于将第一使用特征输 入竞争评估模型,获得评估结果,竞争评估模型是基于第一数据库资源的第二使用特征 训练得到的;告警模块,用于当评估结果表示第二数据库资源为异常资源时,输出竞争 告警信息,竞争告警信息用于提示第二数据库资源发生竞争瓶颈,第二数据库资源为第 一数据库资源的部分或者全部。
在一些可能的实施方式中,告警模块,还用于:当评估结果表示第二数据库资源为异常资源时,获得第二数据库资源对应的调优信息;输出调优信息,调优信息用于提示 第二数据库资源关联的调优策略。
在一些可能的实施方式中,特征提取模块,具体用于查询数据库中与第一数据库资 源对应的第一视图,获得统计数据,其中,第一视图用于统计第一数据库资源的使用数据。
在一些可能的实施方式中,当第一数据库资源包括数据库中的至少一类锁时,对于 至少一类锁中的第一锁,第一视图包括以下一个数据或者多个数据的组合:第一锁的询问次数、第一锁的阻塞休眠时间、获取第一锁失败的次数、获取第一锁成功的次数。
在一些可能的实施方式中,第二数据库资源为为异常锁。
在一些可能的实施方式中,当第二数据库资源为桶级锁时,竞争告警信息中携带有 桶级锁关联的页面标识。
在一些可能的实施方式中,评估模块,具体用于:计算第一使用特征与优胜特征之间的距离;若距离超过预设阈值,则输出第一评估结果,第一评估结果用于表示第二数 据库资源为异常资源;或,若距离未超过预设阈值,则输出第二评估结果,第二评估结 果用于表示第二数据库资源为非异常资源。
在一些可能的实施方式中,当第一数据库资源包括数据库中的至少一个页面时,对 于至少一个页面中的第一页面,第一视图包括以下一个数据或者多个数据的组合:第一页面所在桶的锁的询问次数、第一页面的拷贝次数、第一页面所在桶的长度。
在一些可能的实施方式中,第二数据库资源为热页。
在一些可能的实施方式中,评估模块,具体用于:通过逻辑回归函数对第一使用特征进行二分类,输出评估结果,其中,评估结果用于表示第二数据库资源是否为异常资 源。
在一些可能的实施方式中,特征提取模块,用于通过选择接口查询第一视图。
在一些可能的实施方式中,第一数据库资源包括锁或页面。
第三方面,本申请提供一种数据库管理***,包括:如上述第二方面及其任一实施方式所述的数据管理装置。
第四方面,本申请提供一种电子设备,包括:处理器和存储器;处理器与存储器耦合;处理器,用于读取并执行存储器中的指令,以实现如上述第一方面或者第一方面的 任一种可能的实施方式中所述的数据库管理方法。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令在计算机上运行时,用于执行如上述第一方面或者第一方面的任一种可能的 实施方式所述的数据库管理方法。
第六方面,本申请提供一种计算机程序产品,当计算机程序产品在计算机上被执行 时,使得计算机实现如上述第一方面或者第一方面的任一种可能的实施方式所述的数据 库管理方法。
应当理解的是,本申请的第二至六方面与本申请的第一方面的技术方案一致,各方 面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例或背景技术中所 需要使用的附图进行说明。
图1示出了数据库***的一种典型的逻辑架构的示意图;
图2示出了本申请实施例的一种数据库管理方法的流程示意图;
图3示出了本申请实施例中dv_spinlocks和dv_page的一种示例;
图4示出了本申请实施例的另一种数据库管理方法的流程示意图;
图5示出了本申请实施例的又一种数据库管理方法的流程示意图;
图6示出了本申请实施例的一种数据库管理装置的结构示意图;
图7示出了本申请实施例的一种电子设备的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。以下描述中,参考形成本申 请一部分并以说明之方式示出本申请实施例的具体方面或可使用本申请实施例的具体方面的 附图。应理解,本申请实施例可在其它方面中使用,并可包括附图中未描绘的结构或逻辑变 化。例如,应理解,结合所描述方法的揭示内容可以同样适用于用于执行所述方法的对应设 备或***,且反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包含 如功能单元等一个或多个单元,来执行所描述的一个或多个方法步骤(例如,一个单元执行 一个或多个步骤,或多个单元,其中每一个都执行多个步骤中的一个或多个),即使附图中 未明确描述或说明这种一个或多个单元。另一方面,例如,如果基于如功能单元等一个或多 个单元描述具体装置,则对应的方法可以包含一个步骤来执行一个或多个单元的功能性(例 如,一个步骤执行一个或多个单元的功能性,或多个步骤,其中每一个执行多个单元中一个 或多个单元的功能性),即使附图中未明确描述或说明这种一个或多个步骤。进一步,应理 解的是,除非另外明确提出,本文中所描述的各示例性实施例和/或方面的特征可以相互组 合。
OLTP(online transaction processing),也叫联机事务处理,是表示事务性非常高的系 统,一般都是高可用的在线***,以小的事务以及小的查询为主,评估其***的时候,一般 看其每秒执行的事务(transaction)以及执行结构化查询语句(executestructured query language(SQL))的数量。在OLTP***中,单个数据库每秒处理的事务往往超过几百个, 或者是几千个,结构化查询语句(如选择语句(select语句))的执行量每秒几千甚至几万 个,可见,OLTP***的并发量很高(即高并发场景)。
对于并发量较高的***来说,不同用户(也就是进程会话)可以访问不同的资源,也可 以访问相同的资源,使得占用的资源数量较多。当多个用户同时访问同一资源时,就可能产 生资源竞争。当同一资源被足够多的用户访问时,该资源就可能成为性能瓶颈(也可以理解 为性能阻塞点或者竞争瓶颈)。但是,用户间是否竞争,如果有竞争,发生在哪里,是否达到 性能瓶颈,这些仅通过简单的***级监测是无法准确的定位出来的。
那么,为了解决这个问题,本申请实施例提供一种数据库管理方法,该方法可以应用于 数据库***(data base system,DBS)中。图1示出了数据库***的一种典型的逻辑架构的示 意图,参见图1所示,数据库***100包括数据库(data base,DB)110和数据库管理*** (data base management system,DBMS)120。
其中,数据库110是存储在数据存储器(data storage)中的有组织的数据集合,即按照特 定的数据模型组织、存储和使用的相关联的数据集合。根据组织数据所使用的数据模型的不 同,数据可分为多种类型,比如关系型数据(relational data)、图(graph)数据、时序(time series)数据等。关系型数据是使用关系模型建模的数据,通常表示为表,表中的行表示一个 对象或实体的相关值的集合。图数据,简称为“图”,用于表示对象或实体之间的关系,比如 社交关系。时间序列数据,简称时序数据,是按时间顺序记录和索引的数据列,用于描述一 个对象在时间维度上的状态变化信息。
在实际应用中,数据存储器可以包括但不限于固态硬盘(solid state disk,SSD)、磁盘阵 列、云存储或其他类型的非瞬态计算机可读存储介质。所属领域的技术人员可以理解一个数 据库***可能包括比图1中所示的部件更少或更多的组件,或者包括与图1所示组件不同的 组件,图1仅仅示出了与本发明实施例所公开的实现方式更加相关的组件。
数据库管理***120是数据库***的核心,是用于组织、存储以及维护数据的***软件。 客户端130可以通过数据库管理***120访问数据库110,数据库管理员(data baseadministrator,DBA)也通过数据库管理***120进行数据库的维护工作。数据库管理***120 提供多种功能,供客户端130建立、修改和查询数据库,其中,客户端130可以为应用程序, 也可以为用户设备。数据库管理***120所提供的功能可以包括但不限于以下几项:(1)数 据定义功能:数据库管理***120提供数据定义语言(data definition language,DDL)来定义 数据库110的结构,DDL用于刻画数据库框架,并可以被保存在数据字典中;(2)数据存取 功能:数据库管理***120提供数据操纵语言(data manipulation language,DML),实现对数 据库110的基本存取操作,比如检索、***、修改和删除;(3)数据库运行管理功能:数据 库管理***120提供数据控制功能对数据库110运行进行有效地控制和管理,以确保数据正 确有效;(4)数据库的建立和维护功能:包括数据库初始数据的载入、数据库的转储、恢复、 重组织、***性能监视、分析等功能;(5)数据库的传输:数据库管理***120提供处理数 据的传输,以实现客户端130与数据库管理***120之间的通信,通常与操作***协调完成。
下面结合上述数据库***,对本申请实施例所提供的数据库管理方法进行说明。
图2示出了本申请实施例的一种数据库管理方法的流程示意图,参见图2所示,数据库 管理方法200可以包括:
S201,数据库管理***获取至少一个数据库资源(即第一数据库资源)的统计数据。
可以理解的,数据库管理***可以采用多种方式获取第一数据库资源的统计数据,本申 请实施例不做具体限定。至少一个数据库资源的统计数据可以为在一段时间内统计得到的数 据库中的至少一个数据库资源的使用数据。这里,可以同时统计多个数据库资源的使用数 据,也可以统计一个数据库资源的使用数据,具体可以根据实际需要确定,本申请实施例不 做具体限定。
举例来说,数据库管理***可以按照预设周期(如1小时、5小时、1天、1周)访问 数据库,以获得本周期内至少一个数据库资源的统计数据。此时,统计数据可以为一个周期内所统计的至少一个数据库资源的使用数据。这里所说的预设周期可以理解为数据库管理系 统对数据库设定的统计周期、维护周期或者监听周期等。对于高并发场景来说,该预设周期 还可以设置为较短的时长,如5秒、1分钟、5分钟等,本领域普通技术人员可根据实际需 要自行设定预设周期的时长,本申请实施例不做具体限定。
或者,数据库管理***还可以根据DBA的操作访问数据库,以获得本周期内至少一个 数据库资源的统计数据。比如,DBA在数据库管理***的前台界面上触发竞争检测,数据库管理***响应该操作,访问数据库,进而获得上一次竞争检测之后至当前时刻这段时间内 统计的至少一个数据库资源的使用数据。
再者,数据库管理***也可以在满足一触发条件时访问数据库,以获得本周期内至少一 个数据库资源的统计数据。例如,触发条件可以为数据库***出现竞争瓶颈、数据库访问量 激增等,当然,触发条件可以由用户根据实际需求配置,也可以是缺省配置,本申请实施例 不做具体限定。
在一些可能的实施方式中,上述数据库资源可以为数据库中锁(也可以理解为锁对应的 临界区)、页面(page)等。
示例性的,当上述数据库资源为锁时,针对一个会话(session)中第i类锁(假设记为 spinlock_i,i为正整数),上述数据库资源的使用数据(即为锁使用数据)可以包括以下至 少一个特征:spinlock_i的询问次数(requests)、spinlock_i的阻塞休眠时间(sleeps)、获取 spinlock_i失败的次数(fails)、获取spinlock_i成功的次数(spins)。当然,锁的使用数据还 可以包括针对各类锁的其他使用数据,本申请实施例不做具体限定。
或者,当上述数据库资源为页面时,针对一个缓存池中第j个页面(假设记为page_j,j为 正整数),上述数据库资源的使用数据(即为页面使用数据)可以包括以下至少一个特征: page_j所在桶的桶级锁的询问次数(spins)、page_j的拷贝次数(memcpys)、page_j所在 桶的长度(bucket_len)。
在实际应用中,page_j所在存储池的标识(pool ID)、page_j所属文件的文件名(file)、 page_j的页面标识(page ID)、
当然,页面使用数据还可以包括其他的页面使用数据,本申请实施例不做具体限定。
需要说明的是,当上述数据库资源为其他资源时,这些数据库资源的使用数据可以包括 其他数据,本领域技术人员可以根据实际应用进行设置,本申请实施例不做具体限定。
在一些可能的实施方式中,为了统计数据库资源的使用数据,在数据库中可以创建(或 者添加)与数据库资源对应的视图(如锁视图、页面视图等),数据库管理***可以通过查 询不同的视图,获得对应的统计数据。
示例性的,可以在数据库中可以添加与各类锁对应的锁视图(如记为dv_spinlocks), dv_spinlocks用于实时查询锁使用数据,那么,数据库管理***可以访问数据库,查询 dv_spinlocks,以得到各类锁的统计数据;或者,可以在数据库中添加与页面对应的页面视 图(如记为dv_page),dv_page用于统计本周期内所有页面的使用数据,那么,数据库管理 ***可以访问数据库,查询dv_page,以得到所有页面的统计数据。
可选的,针对每个会话统计相应的dv_spinlocks,针对每个缓存池统计相应的dv_page。
在本申请实施例中,示例性的,针对OLTP***,上述锁可以且不限于下表1所示。
表1
Figure BDA0002915152550000071
当然,上述锁还可以包括OLTP***中其他类型的互斥锁、自旋锁等,也可以包括其他 数据库***中的互斥锁、自旋锁等,本申请实施例不做具体限定。
那么,针对数据库中的各类锁,dv_spinlocks可以包括统计得到的各类锁的使用数据 (也可以称为锁使用数据)。针对数据库中的各个页面,dv_page可以包括统计得到的各个页 面的使用数据(也可以称为页面使用数据)。进一步的,为了标识各类锁,dv_spinlocks除了 包括各类锁的锁使用数据之外,还可以包括:各类锁所在会话标识(session ID)、各类锁的 锁类型(type);为了标识各个页面,dv_page除了各个页面的页面使用数据之外,还可以包 括:各个页面所在存储池的标识(pool ID)、各个页面所属文件的文件名(file)、各个页 面的页面标识(page ID)。
示例性的,图3示出了本申请实施例中dv_spinlocks和dv_page的一种示例,参见图3 所示,图3中的(a)为dv_spinlocks,在dv_spinlocks中,统计了session ID为0的会话中 TXN、TXN_LIST、INC_SCN、REDO_BUFFER、COMMIT_QUEUE、CKPT_QUEUE、BUFFER、 BUCKET、SPACE、LOG_FLUSH共10类锁的锁使用数据,其中,这10类锁的spins值、 sleeps值以及fails值均为0,TXN_LIST的requests值为595968,REDO_BUFFER的requests 值为1,CKPT_QUEUE的requests值为2,BUFFER的requests值为121,BUCKET的requests 值为10796,LOG_FLUSH的requests值为1。图3中的(b)为dv_page,在dv_page中,统计 了pool ID为0的缓存池中,属于file 1(即file ID为1的文件)的page 1(即page ID为 1)的spins值为0,属于file 1的page 2的spins值为3,属于file 3的page 2的spins值为 0,属于file 1的page 1、属于file 1的page 2和属于file 3的page 2的memcpys值和 bucket_len值均为0。
需要说明的是,上述图3中的dv_spinlocks和dv_page仅为锁视图和页面视图的一种示 例,并不用于限定锁视图和页面视图。
在一些可能的实施例中,数据库管理***在查询至少一个数据库资源对应的视图时,可 以执行如select语句,以此获得至少一个数据库资源的统计数据。示例性的,select语句可 以参见图3所示的“select*from dv_spinlocks”或“select*from dv_page”。
在S201之后,执行S202,数据库管理***从统计数据中提取至少一个数据库资源的第 一使用特征。
可以理解的,数据库管理***在通过S201从数据库中获得至少一个数据库资源的使 用数据之后,可以根据这些使用数据进行特征提取,也就是提取这些使用数据中各个数据的具体数值,以此获得至少一个数据库资源的第一使用特征。
示例性的,以数据库资源的使用数据为锁使用数据为例,spinlock_i的锁使用特征F(即 第一使用特征)可以通过以下公式(1)获得:
F=(Sse,α1,α2,α3,…,αi,…,αn); (1)
其中,Sse为当前会话个数,n为锁类型的个数,αi(i=1、2、3、……、n)为 spinlock_i(即第i类锁)的锁使用特征,
Figure BDA0002915152550000081
c1i为spinlock_i的询 问次数(requests值),si为spinlock_i的阻塞休眠时间(sleeps值)、c2i为成功获取到 spinlock_i的次数(spins值),Sa为线程总的锁阻塞休眠时间(可以理解为各类锁的 sleeps值之和),Sse、n、c1i、si、c2i以及Sa均为正整数。
或者,以数据库资源的使用数据为页面使用数据为例,page_j的页面使用特征F(即 第一使用特征)可以通过以下公式(3)获得:
F=(β1,β2,β3,…,βj,…,βm); (2)
其中,βj(j=1、2、3、……、m)为page_j(即第j个页面)的页面使用特征,
Figure BDA0002915152550000082
Figure BDA0002915152550000083
cpj为page_j(即第j个页面)所在桶的锁的询问次数(spins值),cbj为page_j所在桶的锁的总询问次数(可以理解为page_j的spins值之和),cmj为page_j的拷贝次数(memcpys值),ccj为page_j所在桶的长度(bucket_len值),m,cpj、cbj、cmj以及ccj均为正整数。
需要说明的是,在一些可能的实施方式中,锁使用数据或者页面使用数据可以包括 上述一个特征或者多个特征的组合,那么,各类锁的锁使用特征的表达式或者各个页面的页面使用特征的表达式可以包括对应的一个特征的特征值或者多个特征的特征值的组合。例如,如果spinlock_i的锁使用数据包括requests和spins,则
Figure BDA0002915152550000084
Figure BDA0002915152550000085
或者
Figure BDA0002915152550000086
如果spinlock_i的锁使用数据仅包括sleeps,则
Figure BDA0002915152550000087
Figure BDA0002915152550000088
当然,锁使用数据可以包括其他的特征组合,相应的αi可以包括这些特征的特征 值组合。再者,如果page_j的页面使用数据仅包括spins,则
Figure BDA0002915152550000089
如果page_j的 页面使用数据仅包括memcpys,则βj=(cmj);如果page_j的页面使用数据仅包括 bucket_len,βj=(ccj)。如果page_j的页面使用数据包括spins、memcpys以及 bucket_len的任意组合,那么,βj可以包括
Figure BDA00029151525500000810
cmj以及ccj相应的组合。在实际应用 中,本领域技术人员可以根据实际需要设置数据库资源的使用数据,进而通过S202得 到相应的使用特征,本申请实施例对此不做具体限定。
接下来,在通过S202完成特征提取之后,执行S203,数据库管理***将至少一个数据 库资源的第一使用特征输入竞争评估模型,获得评估结果。其中,评估结果用于指示至少 一个数据库资源中一个或者多个数据库资源(即第二数据库资源)是否为异常资源(如异常锁或者热页(hot page)),异常资源即为发生竞争瓶颈的数据库资源。
可以理解的,数据库管理***将通过S202得到的至少一个数据库资源的第一使用特 征(如F)作为输入特征输入已经训练好的竞争评估模型,根据竞争评估模型的评估结果, 对至少一个数据库资源中存在竞争异常的数据库资源进行识别。例如,当输入向量为锁使 用特征时,竞争评估模型可以识别各类锁是否为异常锁,也就是识别各类锁中存在异常竞 争的锁;当输入向量为页面使用特征时,竞争评估模型可以识别各个页面是否为热页(hot page),也就是识别各个页面中存在异常竞争的页面。
可选的,上述竞争评估模型是基于至少一个数据库资源的第二使用特征训练得到的。 这里,第二使用特征可以为专门用于训练竞争评估模型的至少一个数据库资源的使用特 征样本,也可以为由至少一个数据库资源的历史使用数据(或者已有使用数据)提取的使 用特征。当然,第二使用特征还可以为其他形式,本申请实施例不做具体限定。
在一些可能的实施方式中,如果数据库资源为锁,则上述竞争评估模型可以为使用 自组织神经网络(self-organizing map,SOM)、对偶传播(counter propagation,CP)网络、自适应共振理论(adaptive resonance theory,ART)网络、k均值聚类算法(k-meansclustering algorithm)等聚类算法训练的模型。在实际应用中,竞争估计模型还可以使用其他聚类算法训练构建,本申请实施例不做具体限定。
可选的,上述竞争评估模型为使用SOM训练构建的模型时,输出层神经元个数可以根据经验选取,也可以选取与会话个数相等的数量,还可以对每个会话使用多个神经元 进行描述。
或者,如果数据库资源为页面,则上述竞争评估模型可以为使用逻辑回归算法训练 得到的二分类的分类器。在实际应用中,竞争估计模型还可以使用其他二分类算法训练构建,本申请实施例不做具体限定。
S204,当评估结果表示至少一个数据库资源中的一个或者多个数据库资源为异常资 源时,数据库管理***输出竞争告警信息,竞争告警信息用于提示一个或者多个数据库资源发生竞争瓶颈。
可以理解的,数据库管理***将至少一个数据库资源的第一使用特征(如F)作为输入向量输入竞争评估模型后,由竞争评估模型输出评估结果。如果该评估结果表示至 少一个数据库资源中的一个或者多个数据库资源为异常资源,则数据库管理***输出竞 争告警信息,以提示上述一个或者多个数据库资源发生竞争瓶颈。
在具体实施过程中,在输出的竞争告警信息中,可以携带目标数据库资源的标识,如此,使得DBA在看到竞争告警信息后,能够根据上述一个或者多个数据库资源的标 识,准确定位到发生竞争瓶颈的数据库资源,进而DBA能够针对于竞争瓶颈进行精准 调优,提高数据库的可维护性。
示例性的,当上述一个或者多个数据库资源为锁时,假设评估结果表示spinlock_i为 异常锁,那么,在竞争告警信息中可以携带spinlock_i所在会话的session ID以及spinlock_i 的type值,以向DBA准确提示spinlock_i发生竞争瓶颈。进一步地,在竞争告警信息中还 可以携带spinlock_i的requests值、sleeps值、fails值、spins值等。当然,竞争告警信息中 可还以携带spinlock_i的其他使用数据,只要是能够准确指示发生竞争瓶颈的spinlock_i即 可,本申请实施例不做具体限定。
另外,当上述一个或者多个数据库资源为页面时,假设评估结果表示page_j为热页, 那么,在竞争告警信息中可以携带page_j的pool ID、file值以及page ID,以准确指示page_j。进一步地,在竞争告警信息中还可以携带page_j的spins值、memcpys值、 bucket_len值等。当然,竞争告警信息中可还以携带page_j的其他使用数据,只要是能够准 确指示出现竞争瓶颈的page_j即可,本申请实施例不做具体限定。
进一步地,在S203之后,数据库管理方法200还可以包括S205,当评估结果表示上述一 个或者多个数据库资源为非异常资源时,数据库管理***可以将上述一个或者多个数据 库资源的第一使用特征作为第二使用特征输入竞争评估模型,以对竞争评估模型进行训 练。
可以理解的,数据库管理***将至少一个数据库资源的第一使用特征(如F)作为输入向量输入竞争评估模型后,由竞争评估模型输出评估结果。如果该评估结果表示至 少一个数据库资源中的一个或者多个数据库资源为非异常资源,也就是说至少一个数据 库资源中的部分或者全部数据库资源没有发生竞争瓶颈,则数据库管理***可以使用上 述第一使用特征对竞争评估模型进行进一步的训练,以提高竞争评估模型的准确度,进 而提升数据库***的性能。
在本申请实施例中,数据库管理***通过使用竞争评估模型识别数据库***中发生竞争 瓶颈的数据库资源,如此,实现对竞争瓶颈的准确定位。进一步地,数据库管理***在定位 到竞争瓶颈之后,将竞争瓶颈告知DBA,使得DBA能够对竞争瓶颈进行精准调优,极大减 轻了DBA的工作量并帮助DBA及时发现问题,提高数据库的可维护性。
在一些可能的实施方式中,为了进一步地减轻DBA的工作量,提供更好的用户体验, 继续参见图2所示,在S203之后,上述数据库管理方法200还可以包括:
S206,当评估结果表示一个或者多个数据库资源为异常资源时,数据库管理***获得 一个或者多个数据库资源对应的调优信息。
S205,数据库管理***输出竞争告警信息和调优信息。
这里,上述调优信息用于提示一个或者多个数据库资源所对应的调优策略。
例如,若上述异常资源为检查点队列锁,则关联的调优策略可以为调整刷新频率;若异 常资源为日志提交队列锁,则关联的调优策略可以为调整锁slot个数或者使用组提交。若异常 资源为缓冲区桶级锁,则关联的调优策略可以为调整哈希(hash)函数;若异常资源为某个热 点页,则关联的调优策略可以为调整页面存储密度、对页面所在表进行分区;如果该页面所 在表为只读表,则可以设置为常驻内存等。当然,根据不同的异常资源,可以关联不同的调 优策略,本申请实施例对此不进行具体限定。
可以理解的,为了帮助DBA分析数据库***的状态,数据库管理***还可以针对不同 的异常资源关联不同的调优策略。当S203的评估结果标识至少一个数据库资源中的一个或 者多个数据库资源为异常资源时,数据库管理***除了如S204所述输出竞争告警信息之 外,还可以输出与这一个或多个数据库资源关联的调优信息,以此来提示对于这一个或者多 个数据库资源异常资源可以采用的调优策略,使得DBA可以根据竞争告警信息和调优信 息,快速定位性能问题、分析负载下的***状态以及提供相应的调优方案,进而增强数据 库***的可维护性。
示例性的,若上述一个或者多个资源为桶级锁(SPIN_BUCKET),则数据库管理***输出的竞争告警信息中还可以携带SPIN_BUCKET所关联的页面的标识。
在一些可能的实施方式中,S206中,数据库管理***可以以视图的方式输出上述一个 或者多个数据库资源及其对应的调优信息。
下面分别以数据库资源为锁和页面为例,对上述数据库管理方法进行说明。
假设,数据库资源为锁。那么,图4示出了本申请实施例的另一种数据库管理方法的流 程示意图,数据库管理方法400可以包括:
S401,数据库通过dv_spinlocks统计各类锁的使用数据。
S402,数据库管理***使用锁使用特征F'训练SOM模型,获得竞争评估模型;这里,锁使用特征F'可以理解为上述实施例中的第二使用特征。
S403,数据库管理***通过select语句访问dv_spinlocks,获得各类锁的统计数据;
S404,数据库管理***对各类锁的统计数据进行特征提取,得到锁使用特征F;这里, F可以理解为上述实施例中的第一使用特征。
S405,数据库管理***将锁使用特征F输入竞争评估模型,即SOM模型;
S406,数据库管理***使用竞争评估模型,计算锁使用特征F中各类锁的使用特征(即 α1、α2、α3、…、αi、…、αn-1以及αn)与优胜特征点之间的距离;其中,若αi与αi对 应的优胜特征的距离超过预设阈值,则执行S407;若αi与αi对应的优胜特征的距离未超 过预设阈值,则执行S409。
S407,数据库管理***获得竞争评估模型的第一评估结果;例如,第一评估结果表示 spinlock_i为异常锁;
S408,数据库管理***输出竞争告警信息,以提示spinlock_i为异常锁;
S409,数据库管理***获得竞争评估模型的第二评估结果;例如,第二评估结果表示 spinlock_i为非异常锁。
S410,数据库管理***将spinlock_i的锁使用特征F作为锁使用特征F',返回S402, 以对竞争评估模型进行训练。
又或者,假设,数据库资源为页面。那么,图5示出了本申请实施例的又一种数据库管 理方法的流程示意图,数据库管理方法500可以包括:
S501,数据库通过dv_page统计数据库中各个页面的使用数据。
S502,数据库管理***使用页面使用特征F'训练二分类的分类器,获得竞争评估模 型;这里,页面使用特征F'可以理解为上述实施例中的第二使用特征。
S503,数据库管理***通过select语句访问dv_page,获得各个页面的统计数据;
S504,数据库管理***对各个页面的统计数据进行特征提取,得到页面使用特征F;这 里,F可以理解为上述实施例中的第一使用特征。
S505,数据库管理***将页面使用特征F输入竞争评估模型,即二分类的分类器;
S506,数据库管理***使用竞争评估模型,对页面使用特征F中各个页面的使用特征 (即β1,β2,β3,…,βj,…,βm-1及βm)进行二分类;其中,若page_j为异常页 面,则执行S507;若page_j为非异常页面,则执行S509。
S507,数据库管理***获得竞争评估模型的第一评估结果;
S508,数据库管理***输出竞争告警信息,以提示page_j为异常页面;
S509,数据库管理***获得竞争评估模型的第二评估结果;
S510,数据库管理***将page_j的页面使用特征F作为页面使用特征F',返回S502,以对竞争评估模型进行训练。
基于相同的发明构思,本申请实施例还提供一种数据库管理装置,该数据库管理装置可 以为上述数据库管理***或者数据库管理***中的芯片或者片上***,还可以为数据库管理 ***中用于实现上述实施例中任一实施方式所述的方法的功能模块。该数据库管理装置可以 实现上述实施例中任一实施方式中数据库管理***所执行的功能,所述功能可以通过硬件执 行相应的软件实现。这里的硬件或软件可以包括一个或多个上述功能相应的模块。
图6示出了本申请实施例的一种数据库管理装置的结构示意图,参见图6所示,数据库 管理装置600可以包括:特征提取模块610,用于:获取数据库中第一数据库资源的统计 数据,统计数据为统计得到的第一数据库资源的使用数据;从统计数据中提取第一数据库资源的第一使用特征;评估模块620,用于将第一使用特征输入竞争评估模型,获得 评估结果,竞争评估模型是基于第一数据库资源的第二使用特征训练得到的;告警模块 630,用于当评估结果表示第二数据库资源为异常资源时,输出竞争告警信息,竞争告 警信息用于提示第二数据库资源发生竞争瓶颈,第二数据库资源为第一数据库资源的部 分或者全部。
在一些可能的实施方式中,告警模块630,还用于:当评估结果表示第二数据库资源为异常资源时,获得第二数据库资源对应的调优信息;输出调优信息,调优信息用于 提示第二数据库资源关联的调优策略。
在一些可能的实施方式中,特征提取模块610,具体用于查询数据库中与第一数据库资源对应的第一视图,获得统计数据,其中,第一视图用于统计第一数据库资源的使 用数据。
在一些可能的实施方式中,当第一数据库资源包括数据库中的至少一类锁时,对于 至少一类锁中的第一锁,第一视图包括以下一个数据或者多个数据的组合:第一锁的询问次数、第一锁的阻塞休眠时间、获取第一锁失败的次数、获取第一锁成功的次数。
在一些可能的实施方式中,第二数据库资源为异常锁。
在一些可能的实施方式中,当第二数据库资源为桶级锁时,竞争告警信息中携带有 桶级锁关联的页面标识。
在一些可能的实施方式中,评估模块620,具体用于:计算第一使用特征与优胜特征之间的距离;若距离超过预设阈值,则输出第一评估结果,第一评估结果用于表示第 二数据库资源为异常资源;或,若距离未超过预设阈值,则输出第二评估结果,第二评 估结果用于表示第二数据库资源为非异常资源。
在一些可能的实施方式中,当第一数据库资源包括数据库中的至少一个页面时,对 于至少一个页面中的第一页面,第一视图包括以下一个数据或者多个数据的组合:第一页面所在桶的锁的询问次数、第一页面的拷贝次数、第一页面所在桶的长度。
在一些可能的实施方式中,第二数据库资源为热页。
在一些可能的实施方式中,评估模块620,具体用于:通过逻辑回归函数对第一使用特征进行二分类,输出评估结果,其中,评估结果用于表示第二数据库资源是否为异 常资源。
在一些可能的实施方式中,特征提取模块610,用于通过选择接口查询第一视图。
在一些可能的实施方式中,数据库资源包括锁或页面。
基于相同的发明构思,本申请实施例提供一种数据库管理***,包括:如上述任一项实施例所述的数据管理装置。
基于相同的发明构思,本申请实施例提供一种电子设备,图7是示出了本申请实施例 的一种电子设备的结构示意图,如图7所示,电子设备700,采用了通用的计算机硬件,包括处理器701、存储器702、总线703、输入设备704以及输出设备705。
在一些可能的实施方式中,存储器702可以包括以易失性和/或非易失性存储器形式的计算机存储媒体,如只读存储器和/或随机存取存储器。存储器702可以存储操作 ***、应用程序、其他程序模块、可执行代码、程序数据、用户数据等。
输入设备704可以用于向电子设备输入命令和信息,输入设备704如键盘或指向设备,如鼠标、轨迹球、触摸板、麦克风、操纵杆、游戏垫、***天线、扫描仪或类 似设备。这些输入设备可以通过总线703连接至处理器701。
输出设备705可以用于电子设备输出信息,除了监视器之外,输出设备705还可以为 其他***输出设各,如扬声器和/或打印设备,这些输出设备也可以通过总线703连接到处理器701。
电子设备可以通过网络接口706连接到网络中,例如连接到局域网(local areanetwork,LAN)。在联网环境下,控制备中存储的计算机执行指令可以存储在远程存 储设备中,而不限于在本地存储。
当电子设备中的处理器701执行存储器702中存储的可执行代码或应用程序时,电子 设备以执行以上实施例中的数据库管理***侧的数据库管理方法,具体执行过程参见上 述实施例,在此不再赘述。
此外,上述存储器702中存储有用于实现图6中的特征提取模块610、评估模块620及 告警模块630的功能的计算机执行指令。图6中的特征提取模块610、评估模块620及告警模块630的功能/实现过程均可以通过图7中的处理器701调用存储器702中存储的计算机执行指令来实现,具体实现过程和功能参考上述相关实施例。
基于相同的发明构思,本申请实施例提供一种计算机可读存储介质,计算机可读存 储介质存储有指令,当指令在计算机上运行时,用于执行如上述任一项实施例所述的数据库管理方法。
基于相同的发明构思,本申请提供一种计算机程序产品,当计算机程序产品在计算 机上被执行时,使得计算机实现如上述任一项实施例所述的数据库管理方法。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所 描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明 性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或 传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应 于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体 (例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非 暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可 为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、 代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD- ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储 指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连 接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字 订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输 指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包 含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连 接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使 用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)和蓝 光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各 项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、 现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指 令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术 的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模 块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块 内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件 中。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或 一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示 的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种 单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元 (包含如上文所描述的一或多个处理器)来提供。
在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以 参见其他实施例的相关描述。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任 何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应 涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (23)

1.一种数据库管理方法,其特征在于,包括:
获取数据库中第一数据库资源的统计数据,所述统计数据为统计得到的所述第一数据库资源的使用数据;
从所述统计数据中提取所述第一数据库资源的第一使用特征;
将所述第一使用特征输入竞争评估模型,获得评估结果,所述竞争评估模型是基于所述第一数据库资源的第二使用特征训练得到的;
当所述评估结果表示第二数据库资源为异常资源时,输出竞争告警信息,所述竞争告警信息用于提示所述第二数据库资源发生竞争瓶颈,所述第二数据库资源为所述第一数据库资源的部分或者全部。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述评估结果表示所述第二数据库资源为异常资源时,获得所述第二数据库资源对应的调优信息;
输出所述调优信息,所述调优信息用于提示所述第二数据库资源关联的调优策略。
3.根据权利要求1或2所述的方法,其特征在于,所述获取数据库中第一数据库资源的统计数据,包括:
查询所述数据库中与所述第一数据库资源对应的第一视图,获得所述统计数据,其中,所述第一视图用于统计所述第一数据库资源的使用数据。
4.根据权利要求3所述的方法,其特征在于,当所述第一数据库资源包括所述数据库中的至少一类锁时,对于所述至少一类锁中的第一锁,所述第一视图包括以下一个特征或者多个特征的组合:
所述第一锁的询问次数、所述第一锁的阻塞休眠时间、获取所述第一锁失败的次数、获取所述第一锁成功的次数。
5.根据权利要求4所述的方法,其特征在于,所述第二数据库资源为异常锁。
6.根据权利要求4或5所述的方法,其特征在于,当所述第二数据库资源为桶级锁时,所述竞争告警信息中携带有所述桶级锁关联的页面标识。
7.根据权利要求3所述的方法,其特征在于,当所述第一数据库资源包括所述数据库中的至少一个页面时,对于所述至少一个页面中的第一页面,所述第一视图包括以下一个特征或者多个特征的组合:
所述第一页面所在桶的锁的询问次数、所述第一页面的拷贝次数、所述第一页面所在桶的长度。
8.根据权利要求7所述的方法,其特征在于,所述第二数据库资源为热页。
9.根据权利要求3至8任一项所述的方法,其特征在于,所述查询所述数据库中与所述第一数据库资源对应的第一视图,包括:
通过选择语句查询所述第一视图。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述将所述第一使用特征输入竞争评估模型,获得评估结果,包括:
计算所述第一使用特征与优胜特征之间的距离;
若所述距离超过预设阈值,则输出第一评估结果,所述第一评估结果用于表示所述第二数据库资源为异常资源;或,
若所述距离未超过预设阈值,则输出第二评估结果,所述第二评估结果用于表示所述第二数据库资源为非异常资源。
11.根据权利要求1至9任一项所述的方法,其特征在于,所述将所述第一使用特征输入竞争评估模型,获得评估结果,包括:
通过逻辑回归函数对所述第一使用特征进行二分类,输出所述评估结果,其中,所述评估结果用于表示所述第二数据库资源是否为异常资源。
12.根据权利要求1至11任一项所述的方法,其特征在于,所述第一数据库资源包括锁或页面。
13.一种数据库管理装置,其特征在于,包括:
特征提取模块,用于:获取数据库中第一数据库资源的统计数据,所述统计数据为统计得到的所述第一数据库资源的使用数据;从所述统计数据中提取所述第一数据库资源的第一使用特征;
评估模块,用于将所述第一使用特征输入竞争评估模型,获得评估结果,所述竞争评估模型是基于所述第一数据库资源的第二使用特征训练得到的;
告警模块,用于当所述评估结果表示第二数据库资源时,输出竞争告警信息,所述竞争告警信息用于提示所述第二数据库资源发生竞争瓶颈,所述第二数据库资源为所述第一数据库资源的部分或者全部。
14.根据权利要求13所述的装置,其特征在于,所述告警模块,还用于:当所述评估结果表示所述第二数据库资源为异常资源时,获得所述第二数据库资源对应的调优信息;输出所述调优信息,所述调优信息用于提示所述第二数据库资源关联的调优策略。
15.根据权利要求13或14所述的装置,其特征在于,所述特征提取模块,具体用于查询所述数据库中与所述第一数据库资源对应的第一视图,获得所述统计数据,其中,所述第一视图用于统计所述第一数据库资源的使用数据。
16.根据权利要求15所述的装置,其特征在于,当所述第一数据库资源包括所述数据库中的至少一类锁时,对于所述至少一类锁中的第一锁,所述第一视图包括以下一个特征或者多个特征的组合:所述第一锁的询问次数、所述第一锁的阻塞休眠时间、获取所述第一锁失败的次数、获取所述第一锁成功的次数。
17.根据权利要求15所述的装置,其特征在于,当所述第一数据库资源包括所述数据库中的至少一个页面时,对于所述至少一个页面中的第一页面,所述第一视图包括以下一个数据或者多个数据的组合:所述第一页面所在桶的锁的询问次数、所述第一页面的拷贝次数、所述第一页面所在桶的长度。
18.根据权利要求15至17任一项所述的装置,其特征在于,所述特征提取模块,用于通过选择接口查询所述第一视图。
19.根据权利要求13至18任一项所述的装置,其特征在于,所述评估模块,具体用于:计算所述第一使用特征与优胜特征之间的距离;若所述距离超过预设阈值,则输出第一评估结果,其中,所述第一评估结果用于表示所述第二数据库资源为异常资源;或,若所述距离未超过预设阈值,则输出第二评估结果,所述第二评估结果用于表示所述第二数据库资源为非异常资源。
20.根据权利要求13至18任一项所述的装置,其特征在于,所述评估模块,具体用于:通过逻辑回归函数对所述第一使用特征进行二分类,输出所述评估结果,其中,所述评估结果用于表示所述第二数据库资源是否为异常资源。
21.根据权利要求13至20任一项所述的装置,其特征在于,所述第一数据库资源包括锁或页面。
22.一种电子设备,其特征在于,包括:处理器和存储器;所述处理器与所述存储器耦合;所述处理器,用于读取并执行所述存储器中的指令,以实现如权利要求1至12任一项所述的数据库管理方法。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令;当所述指令在计算机上运行时,用于执行如权利要求1至12任一项所述的数据库管理方法。
CN202110099384.7A 2021-01-25 2021-01-25 一种数据库管理方法及装置 Pending CN114791899A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110099384.7A CN114791899A (zh) 2021-01-25 2021-01-25 一种数据库管理方法及装置
PCT/CN2022/072404 WO2022156647A1 (zh) 2021-01-25 2022-01-17 一种数据库管理方法及装置
EP22742126.0A EP4273712A1 (en) 2021-01-25 2022-01-17 Database management method and apparatus
US18/357,925 US20230367670A1 (en) 2021-01-25 2023-07-24 Database management method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110099384.7A CN114791899A (zh) 2021-01-25 2021-01-25 一种数据库管理方法及装置

Publications (1)

Publication Number Publication Date
CN114791899A true CN114791899A (zh) 2022-07-26

Family

ID=82459289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110099384.7A Pending CN114791899A (zh) 2021-01-25 2021-01-25 一种数据库管理方法及装置

Country Status (4)

Country Link
US (1) US20230367670A1 (zh)
EP (1) EP4273712A1 (zh)
CN (1) CN114791899A (zh)
WO (1) WO2022156647A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6642806B2 (ja) * 2013-10-14 2020-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ロック無効化とロックの選択を用いたデータ共有のための適応プロセス
US10678775B2 (en) * 2016-12-20 2020-06-09 International Business Machines Corporation Determining integrity of database workload transactions
CN111708793A (zh) * 2020-06-18 2020-09-25 辽宁振兴银行股份有限公司 一种分布式应用锁实现方法及装置
CN112100188B (zh) * 2020-09-01 2024-05-28 上海交通大学 基于机器学习的并发控制方法及***
CN112181840B (zh) * 2020-09-30 2023-09-26 深圳前海微众银行股份有限公司 一种数据库状态的确定方法及装置、设备、存储介质

Also Published As

Publication number Publication date
US20230367670A1 (en) 2023-11-16
WO2022156647A1 (zh) 2022-07-28
EP4273712A1 (en) 2023-11-08

Similar Documents

Publication Publication Date Title
US9928281B2 (en) Lightweight table comparison
US10459971B2 (en) Method and apparatus of generating image characteristic representation of query, and image search method and apparatus
US9886347B2 (en) Data replication in a database management system
US9600513B2 (en) Database table comparison
CN104035923B (zh) 查询数据的方法及装置
US9953050B2 (en) Garbage collection of versions driving the garbage collection of multi-version concurrency control timestamps
US20160078361A1 (en) Optimized training of linear machine learning models
US10572508B2 (en) Consistent query execution in hybrid DBMS
US20230139783A1 (en) Schema-adaptable data enrichment and retrieval
EP3794461B1 (en) Automatic database query load assessment and adaptive handling
Yu et al. Two birds, one stone: a fast, yet lightweight, indexing scheme for modern database systems
WO2022068540A1 (zh) 一种数据库状态的确定方法及装置、设备、存储介质
WO2017020735A1 (zh) 一种数据处理方法、备份服务器及存储***
US20050097130A1 (en) Tracking space usage in a database
CN117033424A (zh) 慢sql语句的查询优化方法、装置和计算机设备
US20180275961A1 (en) Method and system for fast data comparison using accelerated and incrementally synchronized cyclic data traversal algorithm
Kvet et al. Analysis of current trends in relational database indexing
EP3227794A1 (en) Unstructured search query generation from a set of structured data terms
CN114791899A (zh) 一种数据库管理方法及装置
US11953979B2 (en) Using workload data to train error classification model
WO2023224707A1 (en) Anomaly score normalisation based on extreme value theory
US11520834B1 (en) Chaining bloom filters to estimate the number of keys with low frequencies in a dataset
Kim et al. Optimally leveraging density and locality to support limit queries
CN112464631B (zh) 一种报表导出方法、装置和设备
US20230394043A1 (en) Systems and methods for optimizing queries in a data lake

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination