Progress analyzer for database queries

US9934261B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9934261-B2
Application numberUS-40150309-A
CountryUS
Kind codeB2
Filing dateMar 10, 2009
Priority dateMar 10, 2009
Publication dateApr 3, 2018
Grant dateApr 3, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A data processing system includes a query progress analyzer. The database processing system comprises a receiver that receives database queries including a target query directed to a database and a query analyzer. The query analyzer is coupled to the receiver and analyzes progress status of the target query based on comparison of measured target query resource usage to resource usage predicted from a query plan of the target query and measured system resource usage.

First claim

Opening claim text (preview).

What is claimed is: 1. A database processing system comprising: a receiver to receive database queries including a target query directed to a database; and a query analyzer in communication with the receiver and including a processor, the query analyzer to analyze a progress status of the target query at runtime by comparing measured target query resource usage to resource usage predicted from a query plan of the target query and to measured usage of resources by the database processing system, wherein the measured target query resource usage includes at least one of (1) an amount of central processing unit execution time; (2) a number of storage disk inputs; (3) a number of storage disk outputs; (4) an amount of memory used; or (5) a number of messages exchanged. 2. The system according to claim 1 wherein the query analyzer is to analyze the target query progress status by predicting performance characteristics based on the query plan, acquiring a snapshot of resource usage of the target query being executed for resources included in the prediction, and comparing the snapshot of resource usage to predicted total resource usage. 3. The system according to claim 1 wherein the query analyzer is to acquire a snapshot of performance statistics for the database while the database is running. 4. The system according to claim 1 wherein the query analyzer is to recommend an action based on the comparison of the measured target query resource usage to the resource usage predicted from the query plan of the target query. 5. The system according to claim 1 further including a database server to service the target query, and the query analyzer to execute on the database server. 6. The system according to claim 1 further including a database server to service the database queries. 7. The system according to claim 1 wherein the query analyzer is to analyze the target query in terms of a plurality of resource types. 8. The system according to claim 1 wherein the query analyzer is to predict performance characteristics of the target query when run in isolation on a selected database system based on the query plan of the target query. 9. The system according to claim 1 wherein the query analyzer is to measure statistics of resource usage by the database processing system and overall system usage statistics at runtime of the target query. 10. The system according to claim 1 wherein the query analyzer is to categorize executing queries in terms of a ratio of predicted to actual resource usage including consideration of elapsed time. 11. The system according to claim 1 wherein the query analyzer is to distinguish between metrics reflecting resources usable by multiple queries concurrently and resources with shared, alternate usage among multiple queries. 12. A method of operating a database processing system comprising: comparing, via a processor, measured target query resource usage to resource usage predicted from a query plan of a target query directed to a database; analyzing, via the processor, a progress status of the target query based on the comparison; and distinguishing, via the processor, between metrics reflecting resources usable by multiple queries concurrently and resources with shared, alternate usage among multiple queries based on the analysis of the progress status, wherein the measured target query resource usage includes at least one of (1) an amount of central processing unit execution time; (2) a number of storage disk inputs; (3) a number of storage disk outputs; (4) an amount of memory used; or (5) a number of messages exchanged. 13. The method according to claim 12 wherein the analyzing of the progress status of the target query includes: predicting a total resource usage based on the query plan and measured usage of resources by the database processing system; acquiring a snapshot of the measured target query resource usage for resources included in the prediction, the snapshot to be acquired during runtime of the target query; and comparing the snapshot of the measured target query resource usage to the predicted total resource usage. 14. A tangible machine readable storage medium comprising machine-readable instructions that, when executed, cause a machine to at least: compare measured target query resource usage to resource usage predicted from a query plan of a target query and to measured usage of resources by a database processing system to analyze progress status of the target query during execution of the target query; and distinguish between metrics reflecting resources usable by multiple queries concurrently and resources with shared, alternate usage among multiple queries, wherein the measured target query resource usage includes at least one of (1) an amount of central processing unit execution time; (2) a number of storage disk inputs; (3) a number of storage disk outputs; (4) an amount of memory used; or (5) a number of messages exchanged. 15. A machine readable storage medium as defined in claim 14 , wherein the machine-readable instructions, when executed, further cause the machine to: predict a total resource usage based on the query plan; acquire a snapshot of resource usage of the target query during execution for resources included in the prediction; and compare the snapshot of the resource usage of the target query during execution to predicted total resource usage. 16. The system according to claim 1 , wherein the progress status includes at least one of an elapsed time since execution of the target query began, a predicted time remaining before query completion, or a total resource usage by the target query relative to a predicted total resource usage for the target query. 17. The system according to claim 1 , wherein the query analyzer is to estimate a remaining central processing unit time for the target query by comparing a number of tuples emitted by the database processing system to an estimated output cardinality of the target query. 18. The system according to claim 1 , wherein the query analyzer is to estimate a remaining central processing unit time for the target query by converting an estimated execution time from a query optimizer into an estimate of central processing unit time and comparing the estimate of central processing unit time to the actual amount of central processing unit time consumed by the target query. 19. The system according to claim 1 , wherein the query analyzer is to estimate a remaining central processing unit time for the target query by relating a number of tuples processed by the database processing system to central processing unit time and determining the remaining central processing unit time for the target query based on the relationship and the number of tuples processed by the database processing system.

Assignees

Inventors

Classifications

  • G06F16/217Primary

    Database tuning (G06F16/2282 takes precedence; database performance monitoring G06F11/3409) · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9934261B2 cover?
A data processing system includes a query progress analyzer. The database processing system comprises a receiver that receives database queries including a target query directed to a database and a query analyzer. The query analyzer is coupled to the receiver and analyzes progress status of the target query based on comparison of measured target query resource usage to resource usage predicted …
Who is the assignee on this patent?
Kuno Harumi, Wiener Janet L, Dayal Umeshwar, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F16/217. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 03 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).