Integration of optimization and execution of relational calculation models into SQL layer

US9619514B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9619514-B2
Application numberUS-201414307092-A
CountryUS
Kind codeB2
Filing dateJun 17, 2014
Priority dateJun 17, 2014
Publication dateApr 11, 2017
Grant dateApr 11, 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.

A query is received by a database server from a remote application server. The query is associated with a calculation scenario that defines a data flow model that includes one or more nodes that each define one or more operations for execution by a calculation engine on the database server. Thereafter, the database server instantiates a runtime model of the calculation scenario based on the nodes of the instantiated calculation scenario. Subsequently, one or more of the nodes are identified as being convertible into a relational database format. These nodes are then used to form a container node. An execution plan of the runtime model of the calculation scenario including the container node is built that is executed by the database server to result in a data set which is provided by the database server to the application server.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, by a database server from a remote application server, a query associated with a calculation scenario that defines a data flow model that includes one or more nodes that each define one or more operations for execution by a calculation engine on the database server; instantiating, by the database server, a runtime model of the calculation scenario based on the nodes of the calculation scenario; optimizing the instantiated calculation scenario by identifying one or more of the nodes as being convertible into a relational database format and adding the identified nodes to form a container node; building an execution plan of the runtime model of the calculation scenario based on operations defined by the nodes of the instantiated scenario including the container node; executing, by the database server, the operations defined by the execution plan to result in a data set; and providing, by the database server to the application server, the data set. 2. A method as in claim 1 , wherein the instantiated calculation scenario is optimized using a calculation engine optimizer prior to building the execution plan. 3. A method as in claim 1 , wherein the execution plan is built using a relational database optimizer. 4. A method as in claim 3 , wherein the relational database optimizer converts the nodes into an execution plan. 5. A method as in claim 1 , wherein at least a portion of paths and/or attributes defined by the calculation scenario are not required to respond to the query, and wherein the instantiated calculation scenario omits the paths and attributes defined by the calculation scenario that are not required to respond to the query. 6. A method as in claim 1 , wherein at least one of the calculation nodes filters results obtained from the database server. 7. A method as in claim 1 , wherein at least one of the calculation nodes sorts results obtained from the database server. 8. A method as in claim 1 , wherein the calculation scenario is instantiated in a calculation engine layer by the calculation engine. 9. A method as in claim 8 , wherein the calculation engine layer interacts with a physical table pool and a logical layer, the physical table pool comprising physical tables containing data to be queried, and the logical layer defining a logical metamodel joining at least a portion of the physical tables in the physical table pool. 10. A method as in claim 9 , wherein the calculation engine invokes an SQL processor for executing set operations. 11. A method as in claim 1 , wherein an input for each calculation node comprises one or more of: a physical index, a join index, an OLAP index, and another calculation node. 12. A method as in claim 1 , wherein the executing comprises: forwarding the query to a calculation node in the calculation scenario that is identified as a default node if the query does not specify a calculation node at which the query should be executed. 13. A non-transitory computer program product storing instructions which, when executed by at least one data processor forming part of at least one computing device, result in operations comprising: receiving, by a database server from a remote application server, a query associated with a calculation scenario that defines a data flow model that includes one or more nodes that each define one or more operations for execution by a calculation engine on the database server; instantiating, by the database server, a runtime model of the calculation scenario based on the nodes of the calculation scenario; optimizing the instantiated calculation scenario by identifying one or more of the nodes as being convertible into a relational database format and adding the identified nodes to form a container node; building an execution plan of the runtime model of the calculation scenario based on operations defined by the nodes of the instantiated scenario including the container node; executing, by the database server, the operations defined by the execution plan to result in a data set; and providing, by the database server to the application server, the data set. 14. A computer program product as in claim 13 , wherein the instantiated calculation scenario is optimized using a calculation engine optimizer prior to building the execution plan. 15. A computer program product as in claim 13 , wherein the execution plan is built using a relational database optimizer. 16. A computer program product as in claim 15 , wherein the relational database optimizer converts the nodes into an execution plan. 17. A method comprising: receiving, by a database server from a remote application server, a query associated with a calculation scenario that defines a data flow model that includes one or more nodes that each define one or more operations for execution by a calculation engine on the database server; instantiating, by the database server, a runtime model of the calculation scenario based on the nodes of the calculation scenario; optimizing the instantiated calculation scenario by identifying one or more of the nodes as being convertible into a relational database format and adding the identified nodes to form a container node; building an execution plan of the runtime model of the calculation scenario based on operations defined by the nodes of the instantiated scenario including the container node; executing, by the database server, the operations defined by the execution plan to result in a data set, wherein the executing converts contents of the container node into a relational optimizer graph, optimizes the relational optimizer graph, builds and executes a sub-execution plan using the optimized relational optimizer graph that returns an intermediate result for consumption by the execution plan; and providing, by the database server to the application server, the data set. 18. A method as in claim 17 , wherein the instantiated calculation scenario is optimized using a calculation engine optimizer prior to building the execution plan. 19. A method as in claim 17 , wherein the execution plan is built using a relational database optimizer. 20. A method as in claim 19 , wherein the relational database optimizer converts the nodes into an execution plan.

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 US9619514B2 cover?
A query is received by a database server from a remote application server. The query is associated with a calculation scenario that defines a data flow model that includes one or more nodes that each define one or more operations for execution by a calculation engine on the database server. Thereafter, the database server instantiates a runtime model of the calculation scenario based on the nod…
Who is the assignee on this patent?
Mindnich Tobias, Han Jeong Ae, Merx Johannes, and 4 more
What technology area does this patent fall under?
Primary CPC classification G06F16/2453. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 11 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).