Facilitating query pushdown in a multi-tiered database environment
AssigneeInternational Business Machines Corporation
InventorGopi K. Attaluri
Life of this patent
Estimating the term…
Abstract
A query pushdown system determines whether all, some or none of the query predicates of an object-oriented query received at an object level of a database may be executed in a relational level of the database. The determined query predicates are pushed down to the relational level and executed in the relational level. The results of the query execution are transferred to the object level. In addition, data sets corresponding to query predicates that could not be executed in the relational level are also transferred to the object level. Any results and data sets are applied to the remaining query predicates which are executed in the object level.
Claims87
A method of executing a query against a multi-tiered database on a data storage device connected to a computer, the method comprising:
- receiving the query at a first level of the multi-tiered database, wherein the first level comprises an object level and the query comprises an object-oriented query that includes one or more query predicates;
- at the first level, determining which query predicates can be executed in a second level of the multi-tiered database, wherein the second level comprises a relational level, by converting the query predicates into a boolean predicate tree having one or more parent and child nodes and by identifying a pushdown preference of a parent node based on its child nodes and operators associated with its child nodes, and
- executing the determined query predicates in the second level.
An apparatus for executing a query against a multi-tiered database comprising:
- a computer having a data store connected thereto, wherein the data store stores data;
- and
- one or more computer programs, performed by the computer, for receiving the query at a first level of the multi-tiered database, when the first level comprises an object level and the query comprises an object-oriented query that includes one or more query predicates;
- at the first level, for determining which query predicates can be executed in a second level of the multi-tiered database, wherein the second level comprises a relational level, by converting the query predicates into a boolean predicate tree having one or more parent and child nodes and by identifying a pushdown preference of a parent node based on its child nodes and operators associated with its child nodes;
- and for executing the determined query predicates in the second level.
The apparatus of cairn 31, further comprising transferring the result from the second level to the first level.
An article of manufacture comprising a computer program carrier readable by a computer and embodying one or more instructions executable by the computer to perform steps for executing a query against a multi-tiered database, comprising:
- receiving the query at a first level of the multi-tiered database, here the first level comprises an object level and the query comprises an object-oriented query that includes one or more query predicates;
- at the first level, determining which query predicates can be executed in a second level of the multi-tiered database, wherein the second level comprises a relational level, by converting the query predicates into a boolean predicate tree having one or more parent and child nodes and by indentifying a pushdown preference of a parent node based on its child nodes and operators associated with its child nodes;
- and
- executing the determined query predicates in the second level.
The article of manufacture of 59, wherein executing generates a result.
The article of manufacture of dada 66, wherein a parent node is assigned a partial pushdown preference when a first child node has been assigned a partial pushdown preference and a second child node has been assigned a partial pushdown preference, wherein the child nodes are joined by a conjunctive operator.
Dependencies are inferred from the claim text.