Predictive query parsing time and optimization

US2020183936A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2020183936-A1
Application numberUS-201816214280-A
CountryUS
Kind codeA1
Filing dateDec 10, 2018
Priority dateDec 10, 2018
Publication dateJun 11, 2020
Grant date

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 query is preprocessed for features identified by a Data Manipulation Language (DML) in the text of the query. A machine-learning algorithm uses the features as input and provides as output a predicted query parsing execution time needed by a query parser to parse the query. The predicted query parsing time is provided as input to a query optimizer. The query optimizer uses the predicted query parsing time as a factor in optimizing a query execution plan for the query. Subsequently, the query execution plan is executed against a database as the query.

First claim

Opening claim text (preview).

1 . A method, comprising: parsing a query for features present in the query; inputting the features as an input to a trained machine-learning algorithm; receiving as an output from the trained machine-learning algorithm an estimated amount of time necessary for a query parser to fully parse the query into database constructs; and processing the estimated amount of time and the database constructs and producing a query execution plan for the query that accounts for the estimated amount of time in combination with the database constructs. 2 . The method of claim 1 , wherein parsing further includes processing the parsing as a preprocessor of the query parser before the query parser fully parses the query into the database constructs. 3 . The method of claim 1 , wherein parsing further includes parsing the features as reserved syntax that identifies database operations for a given Data Manipulation Language (DML) format of the query. 4 . The method of claim 3 , wherein parsing further includes identifying the given DML format as a Structured Query Language (SQL) format. 5 . The method of claim 4 , wherein identifying further includes identifying semantics within the query representing database views, nested views, and join indexes. 6 . The method of claim 5 , wherein identifying further includes recording with the features a frequency with which each semantic appears within the query. 7 . The method of claim 1 , wherein receiving further includes receiving the output as a classification identifier that identifies a classification time range that the estimated amount of time falls within. 8 . The method of claim 1 , wherein receiving further includes receiving the estimated amount of time as an actual predicted time for parsing the query by the query parser. 9 . The method of claim 1 , wherein processing further includes passing the query to the query parser and the estimated amount of time to a query optimizer for the producing of the query execution plan. 10 . The method of claim 1 further comprising: scheduling the query for execution at a scheduled time; and processing the query execution plan for the query against a database at the scheduled time. 11 . The method of claim 1 further comprising: obtaining an actual parsing execution time for parsing the query by the query parser; and providing the actual parsing execution time with a query identifier for the query back to the trained machine-learning algorithm for dynamic learning and adjustment by the trained machine-learning algorithm based on the actual parsing execution time required by the query parser. 12 . A method, comprising: iteratively training a machine-learning algorithm with features extracted from queries and with actual parsing execution times required by a query parser when parsing the queries into database constructs for further processing by a query optimizer and producing a trained machine-learning algorithm that when provided a candidate query with candidate features produces as output a predicted parsing execution time predicted for the query parser based on the candidate query; extracting specific features from a submitted query for execution against a database; inputting the specific features into the trained machine-learning algorithm; receiving a specific predicted parsing execution time back from the trained machine-learning algorithm; and producing a query execution plan for executing the submitted query based at least in part on the specific predicted parsing execution time provided by the trained machine-learning algorithm. 13 . The method of claim 12 , wherein iteratively training further includes training the machine-learning algorithm as a regression-based neural network. 14 . The method of claim 12 , wherein iteratively training further includes training the machine-learning algorithm as a classification-based neural network. 15 . The method of claim 12 , wherein producing further includes providing the submitted query to the query parser that produces database constructs from the submitted query and providing the specific predicted parsing execution time with the database constructs to a query optimizer for producing the query execution plan. 16 . The method of claim 12 , wherein providing further includes adjusting, by the query optimizer, the query execution plan based on a Service Level Agreement (SLA) associated with the submitted query in view of the specific predicted parsing execution time. 17 . The method of claim 12 further comprising, identifying an actual query execution time for executing the query execution plan and when the specific predicted parsing execution time and/or the actual query execution time exceeds a threshold amount of time, caching the query execution plan in memory. 18 . The method of claim 12 further comprising, identifying resources required by the query execution plan and based on the specific predicted parsing execution time and a total number of the resources performing one or more of: scheduling the submitted query for execution to ensure a Service Level Agreement (SLA) for the submitted query is satisfied by the resources at a scheduled time; dynamically increasing priorities for the resources to ensure the SLA is satisfied at the scheduled time; and dynamically increase the total number of resources to ensure the SLA is satisfied. 19 . A database, comprising: at least one hardware processor; a non-transitory computer-readable storage medium having executable instructions representing a query parsing time predictor, a query parser, and a query optimizer; the query parsing time predictor configured to execute on the at least one hardware processor from the non-transitory computer-readable storage medium and to perform processing to: extract features from a query, process the features to provide a predicted parsing execution time for the query parser to parse the query into database constructs, provide the query to the query parser, and provide the predicted parsing execution time to the query optimizer; the query parser configured to execute on the at least one hardware process from the non-transitory computer-readable storage medium and to perform processing to parse the query into the database constructs; and the query optimizer configured to execute on the at least one hardware processor from the non-transitory computer-readable storage medium and to perform processing to use the predicted parsing execution time along with the database constructions to produce a query execution plan for the query. 20 . The database of claim 19 , wherein query parsing time predictor is further configured to pass the features as input to a trained regress ion-based neural network or a trained classification-based neural network and receive the predicted parsing execution time as output from the trained regression-based neural network of the trained classification-based neural network.

Assignees

Inventors

Classifications

  • Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound · CPC title

  • Supervised learning · CPC title

  • Feedforward networks · CPC title

  • Managing SLA; Interaction between SLA and QoS · CPC title

  • using machine learning or artificial intelligence · CPC title

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 US2020183936A1 cover?
A query is preprocessed for features identified by a Data Manipulation Language (DML) in the text of the query. A machine-learning algorithm uses the features as input and provides as output a predicted query parsing execution time needed by a query parser to parse the query. The predicted query parsing time is provided as input to a query optimizer. The query optimizer uses the predicted query…
Who is the assignee on this patent?
Teradata Us Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/24545. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 11 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).