Implementing a logically partitioned data warehouse using a container map
First Claim
1. A method comprising:
- receiving at a first database server a query from a database client during a session with an application root specifying to retrieve one or more records of a database object that match one or more predicates from a plurality of member pluggable databases of the application root, wherein the plurality of member pluggable databases are contained within a container database to which the first database server provides access;
the first database server identifying one or more particular pluggable databases of the plurality of member pluggable databases that are implicated by the query based on a container map stored within the application root, wherein the container map specifies a mapping between each partitioning criterion of a set of partitioning criteria and a corresponding pluggable database of the plurality of member pluggable databases;
the first database server executing the query only on each pluggable database of the one or more particular pluggable databases to produce a respective result set of records from the database object;
the first database server aggregating the respective result set of results from each pluggable database of the one or more particular pluggable databases into an aggregated result set for the query;
the first database server sending the aggregated result set to the database client.
2 Assignments
0 Petitions
Accused Products
Abstract
In an approach, a database management system logically partitions a database object (such as a table) across multiple pluggable databases of a container database. When a database server receives a query at an application root, the database server consults a container map which provides a mapping between a set of partitioning criteria and a set of member pluggable databases of the application root. Using the container map, the database server identifies one or more pluggable databases of the set of member pluggable databases of the application root that contain records which potentially have the ability to match the predicates of the query. The database server then limits the execution of the query to the identified pluggable databases, effectively pruning away records contained by the other pluggable databases to increase the efficiency of executing the query.
-
Citations
24 Claims
-
1. A method comprising:
-
receiving at a first database server a query from a database client during a session with an application root specifying to retrieve one or more records of a database object that match one or more predicates from a plurality of member pluggable databases of the application root, wherein the plurality of member pluggable databases are contained within a container database to which the first database server provides access; the first database server identifying one or more particular pluggable databases of the plurality of member pluggable databases that are implicated by the query based on a container map stored within the application root, wherein the container map specifies a mapping between each partitioning criterion of a set of partitioning criteria and a corresponding pluggable database of the plurality of member pluggable databases; the first database server executing the query only on each pluggable database of the one or more particular pluggable databases to produce a respective result set of records from the database object; the first database server aggregating the respective result set of results from each pluggable database of the one or more particular pluggable databases into an aggregated result set for the query; the first database server sending the aggregated result set to the database client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable storage medium storing one or more sequences of instructions that, when executed by one or more processors, cause:
-
receiving at a first database server a query from a database client during a session with an application root specifying to retrieve one or more records of a database object that match one or more predicates from a plurality of member pluggable databases of the application root, wherein the plurality of member pluggable databases are contained within a container database to which the first database server provides access; the first database server identifying one or more particular pluggable databases of the plurality of member pluggable databases that are implicated by the query based on a container map stored within the application root, wherein the container map specifies a mapping between each partitioning criterion of a set of partitioning criteria and a corresponding pluggable database of the plurality of member pluggable databases; the first database server executing the query only on each pluggable database of the one or more particular pluggable databases to produce a respective result set of records from the database object; the first database server aggregating the respective result set of results from each pluggable database of the one or more particular pluggable databases into an aggregated result set for the query; the first database server sending the aggregated result set to the database client. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification