Data processing method and related apparatus
US-2024152807-A1 · May 9, 2024 · US
US9619514B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9619514-B2 |
| Application number | US-201414307092-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 17, 2014 |
| Priority date | Jun 17, 2014 |
| Publication date | Apr 11, 2017 |
| Grant date | Apr 11, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
Query optimisation · CPC title
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.