Integration of calculation models into SQL layer

US9846724B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9846724-B2
Application numberUS-201414540792-A
CountryUS
Kind codeB2
Filing dateNov 13, 2014
Priority dateNov 13, 2014
Publication dateDec 19, 2017
Grant dateDec 19, 2017

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.

According to an aspect, a database system for integrating calculation models into execution plans includes a first engine configured to parse a query to be applied on a database. The first engine is configured to invoke a second engine during query compilation. The second engine is configured to instantiate a calculation model based on the query, and the second engine is configured to derive a converted calculation model by converting the calculation model into a format compatible with the first engine. The first engine is configured to incorporate the converted calculation model into an execution plan during the query compilation and execute the query on the database according to execution plan.

First claim

Opening claim text (preview).

What is claimed is: 1. A database system for converting and integrating calculation models into execution plans, the database system comprising: at least one processor; a non-transitory computer-readable medium configured to store executable instructions that when executed by the at least one processor are configured to implement: a structured query language (SQL) engine configured to parse a query to be applied on a relational database, and obtain an SQL model having a first format, the SQL engine configured to invoke a calculation engine to obtain a calculation model, the calculation model having a second format not compatible with the SQL engine, the calculation engine configured to convert, during query compilation and before execution, the second format of the calculation model to the first format that is compatible with the SQL engine, the SQL engine configured to incorporate, during query compilation and before execution, the converted calculation model into an execution plan, the execution plan also having the SQL model, the SQL engine configured to optimize the execution plan having both the converted calculation model and the SQL model by reordering join operators and pushing an aggregation operator downstream in the execution plan, the SQL engine configured to execute the query on the relational database according to the optimized execution plan. 2. The database system of claim 1 , wherein the SQL engine is configured to determine whether or not the calculation model includes at least one non-relational operator, and the calculation engine is configured to convert the second format of the calculation model to the first format in response to the determination that the calculation model does not include the at least one non-relational operator. 3. The database system of claim 1 , wherein, before converting, the calculation engine is configured to instantiate the calculation model by merging the query with the calculation model and removing one or more attributes from the calculation model that are not required by the query. 4. The database system of claim 1 , wherein the second format of the calculation model is a directed acyclic graph (DAG), the DAG being a format not compatible with the SQL engine. 5. The database system of claim 1 , wherein the first format is a Query Optimization (QO) graph that is compatible with the SQL engine. 6. The database system of claim 1 , wherein the calculation model includes a plurality of operators within the second format, wherein one of the plurality of operators is converted to two or more operators in the first format. 7. The database system of claim 2 , wherein, in response to the determination that the calculation model includes the at least one non-relational operator, the calculation model is not converted, but rather the calculation engine is configured to execute the calculation model to obtain intermediate results, and the SQL engine is configured to combine the intermediate results with the SQL model for further execution by the SQL engine. 8. The database system of claim 1 , wherein the converted calculation model is joined with the SQL model within the execution plan. 9. The database system of claim 1 , wherein the query specifies a calculation view that incorporates an attribute view, the SQL engine configured to obtain the SQL model for the attribute view, the SQL engine configured to invoke the calculation engine to obtain the calculation model for the calculation view, the execution plan integrating both the SQL model and the converted calculation model such that the calculation model is not separately executed to obtain intermediate results. 10. A computer program product tangibly embodied on a non-transitory computer-readable storage medium and including executable code that, when executed, is configured to cause at least one processor to: parse, by a structured query language (SQL) engine, a query to be executed on a relational database; obtain, by the SQL engine, an SQL model having a first format; invoke, by the SQL engine, a calculation engine to obtain a calculation model, the calculation model having a second format that is not compatible with the SQL engine; determine, by the SQL engine, whether or not the calculation model includes at least one non-relational operator; convert, by the calculation engine, during query compilation and before execution, the second format of the calculation model to the first format in response to the determination that the calculation model does not include the at least one non-relational operator, the first format being compatible with the SQL engine; incorporate, by the SQL engine, during query compilation and before execution, the converted calculation model into an execution plan, the converted calculation model being joined with the SQL model within the execution plan; optimize, by the SQL engine, the execution plan having the converted calculation model joined with the SQL model including reordering join operators, and pushing an aggregation operator downstream in the execution plan; and execute, by the SQL engine, the query on the relational database according to the execution plan. 11. The computer program product of claim 10 , wherein the executable code includes instructions that, when executed by the at least one processor, are configured to: instantiate, by the calculation engine, the calculation model by merging the query with the calculation model and removing one or more attributes from the calculation model that are not required by the query; and optimize, by the calculation engine, the calculation model before converting the second format of the calculation model to the first format. 12. The computer program product of claim 10 , wherein the second format is a directed acyclic graph (DAG), and the first format is a Query Optimization (QO) graph, wherein the executable code to convert the second format of the calculation model to the first format includes instructions to convert the DAG to the QO graph. 13. The computer program product of claim 10 , wherein, in response to the determination that the calculation model includes the at least one non-relational operator, the calculation model is not converted, but rather is executed to obtain intermediate results, and the intermediate results are combined with the SQL model for further execution by the SQL engine. 14. The computer program product of claim 10 , wherein the calculation model includes a plurality of operators within the second format, wherein one of the plurality of operators is converted to two or more operators in the first format. 15. A method for converting and integrating calculation models into execution plans, the method being performed by at least one processor, the method comprising: parsing, by a structured query language (SQL) engine, a query to be executed on a relational database, the query requiring a calculation model and an SQL model, the SQL model having a first format, the calculation model having a second format not compatible with the SQL engine; determining, by the SQL engine, whether the calculation model is convertible into the first format by determining whether or not the calculation model includes at least one non-relational operator; converting, by a calculation engine, during query compilation and before execution, the second format of the calculation model to the first format in response to the determination that the calculation model does not include the at least one non-relational operator; integrating, by the SQL engine, during query compilation and before execution, the converted calculation mode

Assignees

Inventors

Classifications

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 US9846724B2 cover?
According to an aspect, a database system for integrating calculation models into execution plans includes a first engine configured to parse a query to be applied on a database. The first engine is configured to invoke a second engine during query compilation. The second engine is configured to instantiate a calculation model based on the query, and the second engine is configured to derive a …
Who is the assignee on this patent?
Weyerhaeuser Christoph, Mindnich Tobias, Merx Johannes, and 4 more
What technology area does this patent fall under?
Primary CPC classification G06F16/24542. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 19 2017 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).