CN107885780A - 一种针对分布式查询执行的性能数据收集方法 - Google Patents
一种针对分布式查询执行的性能数据收集方法 Download PDFInfo
- Publication number
- CN107885780A CN107885780A CN201710946082.2A CN201710946082A CN107885780A CN 107885780 A CN107885780 A CN 107885780A CN 201710946082 A CN201710946082 A CN 201710946082A CN 107885780 A CN107885780 A CN 107885780A
- Authority
- CN
- China
- Prior art keywords
- node
- calculate
- plan
- query
- calculate node
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种针对分布式查询执行的性能数据收集方法,包括以下步骤:管理节点优化器生成查询计划,并下发到计算节点上运行;计算节点根据收到的查询计划依次执行,并收集运行状态信息,包括BUFFERS、COST、TUPLES及特殊计划算子执行参数;计算节点把收集的查询运行状态信息发送给管理节点;管理节点收集到计算节点发送的运行状态信息,整理后展示给用户。有益效果:通过增加管理节点收集每个计算节点执行性能信息并展示给用户的流程,解决了分布式集群DBMS系统查询执行性能信息收集和展示缺陷。可以根据执行性能信息查看:a)集群数据分布是否均匀;b)计算节点计算资源是否合理;c)查询中哪个计算节点为查询的瓶颈。更易于用户进行SQL调优。
Description
技术领域
本发明涉及数据库技术领域,具体来说,涉及一种针对分布式查询执行的性能数据收集方法。
背景技术
在基于分布式的集群DBMS系统中,数据库管理节点和计算节点分布在多台物理机器,实际应用的数据特点不同,计算节点的数据分配可能会出现不均匀,再加上每台物理机器实际执行的硬件资源的不同,每个计算节点的实际执行情况会有很大不同。因此需要收集分布式集群 DBMS 系统中查询执行的性能,根据收集结果判断哪些节点执行出现瓶颈,并对查询语句进行调优。
现有技术中,通常将查询运行性能状态收集从原来的单机行为转换为集群行为。单机数据库系统中,查询执行器会记录每个计划算子执行的状态信息,包括:
1)BUFFERS:用来显示实际执行时,缓冲区的使用情况;
2)COST:数据库系统的优化器做出的预估执行时间代价;
3)TUPLES:实际执行时,计划算子返回的元组条数;
4)节点特殊参数:排序方法及内外存使用情况。
SQL 语句 EXPLAIN ANALYZE 会根据查询依次展示计划算子的运行性能信息。
分布式的集群DBMS系统的每个计算节点类似于一个单机数据库实例。执行EXPLAIN ANALYZE 时,计算节点也可以收集每个计划算子的状态信息,但管理节点并没有收集每个计算节点的信息。因此,EXPLAIN ANALYZE 无法展示集群行为的查询运行状态信息。
针对相关技术中的问题,目前尚未提出有效的解决方案。
本发明中可能会涉及的一些关键术语如下:
SQL处理服务进程:在数据库系统中处理具体的SQL业务的进程,在本文中简称服务进程,或者服务器进程。
事务管理节点:处理和管理事务请求,主要工作包含:事务号申请,快照申请,记录事务提交等。
管理节点:分布式数据库系统中,接受客户端连接,并解释SQL,返回结果集。在本发明中,此节点会收集计算节点实际执行的性能数据。
计算节点:存储和进行SQL计算的节点。在本发明中,此节点会向管理节点发送查询实际执行的性能相关数据。
计划算子:优化器根据 SQL 语句做出在数据库内部实际执行的查询计划,查询计划中的每个步骤为计划算子,如扫描节点、排序节点等。
发明内容
针对相关技术中的上述技术问题,本发明提出一种针对分布式查询执行的性能数据收集方法,能够弥补现有系统的缺陷,更易于用户进行 SQL 调优。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种针对分布式查询执行的性能数据收集方法,包括以下步骤:
S1 管理节点优化器生成查询计划,并下发到计算节点上运行;
S2 计算节点根据收到的查询计划依次执行,并收集运行状态信息,包括BUFFERS、COST、TUPLES及特殊计划算子执行参数;
S3 计算节点把收集的查询运行状态信息发送给管理节点;
S4 管理节点收集到计算节点发送的运行状态信息,整理后展示给用户。
进一步的,计算节点收集本地查询执行性能数据具体包括:
S21 按照查询计划执行查询;
S22 每个计划算子开始执行前记录当前状态,包括开始时间和缓冲区数;
S23计划算子执行结束后,计算该计划算子状态,包括结束时间和缓冲区数;
S24 计划算子执行完成后,把执行状态信息发送给管理节点。
作为优选,S4中管理节点收集系统中所有计算节点的运行态性能信息,按照计划算子实际执行时间和处理元组条数排序,使分布式集群 DBMS 系统可以收集和展示查询执行性能信息。
进一步的,管理节点收集计算节点查询执行性能数据具体包括:
S41 计算节点收集查询执行性能数据;
S42 根据查询计划,计算节点顺序发送每个计划算子的性能数据;
S43 管理节点收集所有的计算节点发来的数据,查询计划中每个计划算子数据放在同一个链表中;
S44 展示用户执行数据时,会遍历计算算子的链表,按照执行时间和返回条数时间排序,显示出查询时间最长和最短,及返回数据条数最长和最短的计算节点执行性能数据。
本发明的有益效果:通过增加管理节点收集每个计算节点执行性能信息并展示给用户的流程,解决了分布式集群 DBMS 系统查询执行性能信息收集和展示缺陷。可以根据执行性能信息查看:a)集群数据分布是否均匀;b)计算节点计算资源是否合理;c)查询中哪个计算节点为查询的瓶颈。更易于用户进行SQL调优。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的一种针对分布式查询执行的性能数据收集方法的流程示意图;
图2是根据本发明实施例所述的计算节点收集本地查询执行性能数据的流程示意图;
图3是根据本发明实施例所述的管理节点收集计算节点查询执行性能数据的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1至3所示,根据本发明实施例所述的一种针对分布式查询执行的性能数据收集方法,包括以下步骤:
S1 管理节点优化器生成查询计划,并下发到计算节点上运行;
S2 计算节点根据收到的查询计划依次执行,并收集运行状态信息,包括BUFFERS、COST、TUPLES及特殊计划算子执行参数;
S3 计算节点把收集的查询运行状态信息发送给管理节点;
S4 管理节点收集到计算节点发送的运行状态信息,整理后展示给用户。
进一步的,计算节点收集本地查询执行性能数据具体包括:
S21 按照查询计划执行查询;
S22 每个计划算子开始执行前记录当前状态,包括开始时间和缓冲区数;
S23计划算子执行结束后,计算该计划算子状态,包括结束时间和缓冲区数;
S24 计划算子执行完成后,把执行状态信息发送给管理节点。
作为优选,S4中管理节点收集系统中所有计算节点的运行态性能信息,按照计划算子实际执行时间和处理元组条数排序,使分布式集群 DBMS 系统可以收集和展示查询执行性能信息。
进一步的,管理节点收集计算节点查询执行性能数据具体包括:
S41 计算节点收集查询执行性能数据
S42 根据查询计划,计算节点顺序发送每个计划算子的性能数据
S43 管理节点收集所有的计算节点发来的数据,查询计划中每个计划算子数据放在同一个链表中
S44 展示用户执行数据时,会遍历计算算子的链表,按照执行时间和返回条数时间排序,显示出查询时间最长和最短,及返回数据条数最长和最短的计算节点执行性能数据。
综上所述,借助于本发明的上述技术方案,通过增加管理节点收集每个计算节点执行性能信息并展示给用户的流程,解决了分布式集群 DBMS 系统查询执行性能信息收集和展示缺陷。可以根据执行性能信息查看:a)集群数据分布是否均匀;b)计算节点计算资源是否合理;c)查询中哪个计算节点为查询的瓶颈。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种针对分布式查询执行的性能数据收集方法,其特征在于,包括以下步骤:
S1 管理节点优化器生成查询计划,并下发到计算节点上运行;
S2 计算节点根据收到的查询计划依次执行,并收集运行状态信息,包括BUFFERS、COST、TUPLES及特殊计划算子执行参数;
S3 计算节点把收集的查询运行状态信息发送给管理节点;
S4 管理节点收集到计算节点发送的运行状态信息,整理后展示给用户。
2.根据权利要求1所述的针对分布式查询执行的性能数据收集方法,其特征在于,计算节点收集本地查询执行性能数据具体包括:
S21 按照查询计划执行查询;
S22 记录每个计划算子在开始执行前的当前状态,包括开始时间和缓冲区数;
S23计划算子执行结束后,记录该计划算子状态,包括结束时间和缓冲区数;
S24 计划算子执行完成后,把执行状态信息发送给管理节点。
3.根据权利要求1所述的针对分布式查询执行的性能数据收集方法,其特征在于,S4中管理节点收集系统中所有计算节点的运行态性能信息,按照计划算子实际执行时间和处理元组条数排序,使分布式集群 DBMS 系统可以收集和展示查询执行性能信息。
4.根据权利要求1或3所述的针对分布式查询执行的性能数据收集方法,其特征在于,管理节点收集计算节点查询执行性能数据具体包括:
S41 计算节点收集查询执行性能数据;
S42 根据查询计划,计算节点顺序发送每个计划算子的性能数据;
S43 管理节点收集所有的计算节点发来的数据,查询计划中每个计划算子数据放在同一个链表中;
S44 展示用户执行数据时,会遍历计算算子的链表,按照执行时间和返回条数时间排序,显示出查询时间最长和最短,及返回数据条数最长和最短的计算节点执行性能数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710946082.2A CN107885780A (zh) | 2017-10-12 | 2017-10-12 | 一种针对分布式查询执行的性能数据收集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710946082.2A CN107885780A (zh) | 2017-10-12 | 2017-10-12 | 一种针对分布式查询执行的性能数据收集方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107885780A true CN107885780A (zh) | 2018-04-06 |
Family
ID=61781419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710946082.2A Pending CN107885780A (zh) | 2017-10-12 | 2017-10-12 | 一种针对分布式查询执行的性能数据收集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107885780A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815295A (zh) * | 2019-02-18 | 2019-05-28 | 国家计算机网络与信息安全管理中心 | 分布式集群数据导入方法及装置 |
CN111813761A (zh) * | 2020-06-23 | 2020-10-23 | 浙江大华技术股份有限公司 | 一种数据库管理方法、装置以及计算机存储介质 |
CN111813761B (zh) * | 2020-06-23 | 2024-07-12 | 浙江大华技术股份有限公司 | 一种数据库管理方法、装置以及计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102608970A (zh) * | 2012-03-05 | 2012-07-25 | 浪潮通信信息系统有限公司 | 一种基于集中管理、自动调度的分布式数据采集的方法 |
CN102638372A (zh) * | 2012-04-17 | 2012-08-15 | 浪潮(北京)电子信息产业有限公司 | 一种分布式集群系统及其实现方法 |
CN103782295A (zh) * | 2011-09-15 | 2014-05-07 | 甲骨文国际公司 | 分布式数据管理系统中的查询说明计划 |
US20160092465A1 (en) * | 2014-09-30 | 2016-03-31 | Code 42 Software, Inc. | Shared file system predictive storage techniques |
-
2017
- 2017-10-12 CN CN201710946082.2A patent/CN107885780A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103782295A (zh) * | 2011-09-15 | 2014-05-07 | 甲骨文国际公司 | 分布式数据管理系统中的查询说明计划 |
CN102608970A (zh) * | 2012-03-05 | 2012-07-25 | 浪潮通信信息系统有限公司 | 一种基于集中管理、自动调度的分布式数据采集的方法 |
CN102638372A (zh) * | 2012-04-17 | 2012-08-15 | 浪潮(北京)电子信息产业有限公司 | 一种分布式集群系统及其实现方法 |
US20160092465A1 (en) * | 2014-09-30 | 2016-03-31 | Code 42 Software, Inc. | Shared file system predictive storage techniques |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815295A (zh) * | 2019-02-18 | 2019-05-28 | 国家计算机网络与信息安全管理中心 | 分布式集群数据导入方法及装置 |
CN111813761A (zh) * | 2020-06-23 | 2020-10-23 | 浙江大华技术股份有限公司 | 一种数据库管理方法、装置以及计算机存储介质 |
CN111813761B (zh) * | 2020-06-23 | 2024-07-12 | 浙江大华技术股份有限公司 | 一种数据库管理方法、装置以及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105956175B (zh) | 网页内容爬取的方法和装置 | |
CN103955502B (zh) | 一种可视化olap的应用实现方法及系统 | |
US7769744B2 (en) | Missing index analysis and index useage statistics | |
US8386508B2 (en) | System and method for parallel query evaluation | |
US11132365B2 (en) | Query plan based on a data storage relationship | |
US8126874B2 (en) | Systems and methods for generating statistics from search engine query logs | |
US8635617B2 (en) | Tracking requests that flow between subsystems using transaction identifiers for generating log data | |
CN103607463B (zh) | 定位数据存储系统和存储方法 | |
CN109189782A (zh) | 一种区块链商品交易查询中的索引方法 | |
CN107273267A (zh) | 基于elastic组件的日志分析方法 | |
US10216782B2 (en) | Processing of updates in a database system using different scenarios | |
JP2013519941A (ja) | eコマーストランザクションデータ会計のための方法およびシステム | |
CN106202569A (zh) | 一种基于大数据量的清洗方法 | |
US20080065588A1 (en) | Selectively Logging Query Data Based On Cost | |
WO2007036932A2 (en) | Data table management system and methods useful therefor | |
CN107769963A (zh) | 一种内容分发网络故障定位方法和装置 | |
CN103034735A (zh) | 一种大数据分布式文件导出方法 | |
CN108369550B (zh) | 实时更改来自不同源的数据 | |
CN107783985A (zh) | 一种分布式数据库查询方法、装置及管理系统 | |
CN107491463B (zh) | 数据查询的优化方法和系统 | |
Cuzzocrea et al. | A distributed system for answering range queries on sensor network data | |
US10114874B2 (en) | Source query caching as fault prevention for federated queries | |
CN107370830B (zh) | 基于大数据的行业信息推送系统及方法 | |
CN112346950A (zh) | 基于查询日志分析的数据库索引性能估计系统与方法 | |
US8583754B2 (en) | Business flow distributed processing system and method |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180406 |
|
RJ01 | Rejection of invention patent application after publication |