Database calculation engine with dynamic top operator

US10275490B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10275490-B2
Application numberUS-201514607762-A
CountryUS
Kind codeB2
Filing dateJan 28, 2015
Priority dateJan 28, 2015
Publication dateApr 30, 2019
Grant dateApr 30, 2019

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 database server receives a query from a remote application server that is associated with a calculation scenario. The calculation scenario defines a data flow model that includes one or more calculation nodes that each define one or more operations to execute on the database server. A top operator node of the calculation nodes specifies a plurality of attributes and the query requests a subset of the attributes specified by the top operator node; Thereafter, the database server instantiates the calculation scenario so that it is optimized by requesting only the subset of attributes. The database server then executes the operations defined by the calculation nodes of the optimized calculation scenario to result in a responsive data set. The database server then provides the data set 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 calculation nodes, the query requesting a responsive dataset retrieved from a database, the query further requesting the responsive dataset to be sorted based on a subset of attributes that includes a first attribute but not a second attribute, the one or more calculation nodes including a top operator node specifying a top operation, the top operation being a dynamic top operation based on the top operator node including a dynamic top operator flag, the top operation being a static top operation based on the top operator excluding the dynamic top operator flag, the static top operation sorting the responsive dataset based on a superset of base attributes that includes both the first attribute and the second attribute regardless of the query requesting the responsive dataset to be sorted based only on the subset of attributes, the dynamic top operation sorting the responsive dataset based on the subset of base attributes requested by the query instead of the superset of attributes; detecting that the top operator node includes the dynamic top operator flag; in response to detecting that the top operator node includes the dynamic top operator flag, instantiating the calculation scenario at least by omitting the second attribute from the superset of base attributes, the omission of the second attribute optimizing the calculation scenario by at least preventing the responsive dataset from being sorted based on attributes not requested by the query; executing, by the database server, the operations defined by the calculation nodes of the optimized calculation scenario to generate a response to the query, the response to the query including the responsive data set sorted based on the subset of attributes including the first attribute but not the second attribute; and providing, by the database server to the application server, the response to the query. 2. A method as in claim 1 , wherein at least a portion of paths and/or attributes defined by calculation nodes of the calculation scenario other than the top operator node 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. 3. A method as in claim 1 , wherein top operation further filters the sorted responsive data set to obtain a top portion of the sorted responsive data set results obtained from the database server. 4. A method as in claim 1 , wherein the calculation scenario is instantiated in a calculation engine layer by a calculation engine. 5. A method as in claim 4 , 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. 6. A method as in claim 5 , wherein the calculation engine invokes structured query language (SQL) processor for executing set operations. 7. A method as in claim 1 , wherein an input for each of the one or more calculation nodes comprises one or more of: a physical index, a join index, an online analytical processing (OLAP) index, and another calculation node. 8. A method as in claim 7 , wherein each of the one or more calculation nodes has at least one output table that is used to generate the data set. 9. A method as in claim 8 , wherein at least one calculation node of the one or more calculation nodes consumes an output table of another calculation node. 10. A method as in claim 1 , wherein the database is a column-oriented in-memory database. 11. 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 indicate a specific calculation node at which the query should be executed. 12. A method as in claim 1 , wherein the calculation scenario comprises database metadata. 13. A non-transitory computer program product storing instructions which, when executed by at least one hardware data processor forming part of at least one computing system, 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 calculation nodes, the query requesting a responsive dataset retrieved from a database, the query further requesting the responsive dataset to be sorted based on a subset of attributes that includes a first attribute but not a second attribute, the one or more calculation nodes including a top operator node specifying a top operation, the top operation being a dynamic top operation based on the top operator node including a dynamic top operator flag, the top operation being a static top operation based on the top operator excluding the dynamic top operator flag, the static top operation sorting the responsive dataset based on a superset of base attributes that includes both the first attribute and the second attribute regardless of the query requesting the responsive dataset to be sorted based only on the subset of attributes, the dynamic top operation sorting the responsive dataset based on the subset of base attributes requested by the query instead of the superset of attributes; detecting that the top operator node includes the dynamic top operator flag; in response to detecting that the top operator node includes the dynamic top operator flag, instantiating the calculation scenario at least by omitting the second attribute from the superset of base attributes, the omission of the second attribute optimizing the calculation scenario by at least preventing the responsive dataset from being sorted based on attributes not requested by the query; executing, by the database server, the operations defined by the calculation nodes of the optimized calculation scenario to generate a response to the query, the response to the query including the responsive data set sorted based on the subset of attributes including the first attribute but not the second attribute; and providing, by the database server to the application server, the response to the query. 14. A computer program product as in claim 13 , wherein at least a portion of paths and/or attributes defined by calculation nodes of the calculation scenario other than the top operator node 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. 15. A computer program product as in claim 13 , wherein the top operation further filters the sorted responsive data set to obtain a top portion of the sorted responsive data set results obtained from the database server. 16. A computer program product as in claim 13 , wherein the calculation scenario is instantiated in a calculation engine layer by a calculation engine. 17. A computer program product as in claim 16 , 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 physi

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 US10275490B2 cover?
A database server receives a query from a remote application server that is associated with a calculation scenario. The calculation scenario defines a data flow model that includes one or more calculation nodes that each define one or more operations to execute on the database server. A top operator node of the calculation nodes specifies a plurality of attributes and the query requests a subse…
Who is the assignee on this patent?
Weyerhaeuser Christoph, Mindnich Tobias, Pekel Isil, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F16/24549. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 30 2019 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).