Optimized database appliance
First Claim
1. A system for processing a query on a database comprising:
- a database catalog comprising database table locality information, record locality information, execution engine information and characteristics of the system components;
a query optimizer receiving the query and accessing the database catalog to create a query execution plan comprising locality-based database operations;
a central database operation processor providing a first execution engine executing the query execution plan by performing at least a portion of the locality-based database operations and distributing at least a portion of the locality-based database operations as a subplan;
a second database operation processor providing a second execution engine executing the subplan received from the central database operation processor;
a storage unit storing at least a portion of database tables and records connected to at least one of the central database operation processor and the second database operation processor;
a data communications network connecting the central database operation processor to the second database operation processor; and
wherein at least one of the database operations can be executed on either the first execution engine or the second execution engine.
8 Assignments
0 Petitions
Accused Products
Abstract
A system from processing database queries allows for cost and locale based distribution for execution of database queries. The database queries are executed on execution engines that provide flexible configuration and overlapping functionality. The system reduces various costs, including elapsed time, required to perform database queries. The system provides processing of a database query using a database catalog comprising database table locality information, record locality information and execution engine information. A query optimizer receives the query and accesses the database catalog to create a query execution plan comprising locality-based database operations. A central database operation processor providing a first execution engine executes the query execution plan by performing at least a portion of the locality-based database operations and distributing at least a portion of the locality-based database operations as a subplan. A second database operation processor providing a second execution engine executes the subplan received from the central database operation processor. At least one of the database operations can be executed on either the first execution engine or the second execution engine. A storage unit stores at least a portion of database tables and records. A data communications network connects the central database processor to the second database processor.
128 Citations
27 Claims
-
1. A system for processing a query on a database comprising:
-
a database catalog comprising database table locality information, record locality information, execution engine information and characteristics of the system components;
a query optimizer receiving the query and accessing the database catalog to create a query execution plan comprising locality-based database operations;
a central database operation processor providing a first execution engine executing the query execution plan by performing at least a portion of the locality-based database operations and distributing at least a portion of the locality-based database operations as a subplan;
a second database operation processor providing a second execution engine executing the subplan received from the central database operation processor;
a storage unit storing at least a portion of database tables and records connected to at least one of the central database operation processor and the second database operation processor;
a data communications network connecting the central database operation processor to the second database operation processor; and
wherein at least one of the database operations can be executed on either the first execution engine or the second execution engine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for generating a distributed locality-based execution plan comprising:
-
receiving a database query;
parsing and validating the database query to produce a query tree; and
optimizing the query tree to produce a locality-based execution plan by accessing a database catalog comprising database table locality information, record locality information and execution engine information, the locality-based execution plan containing instructions for a central database operation processor providing a first execution engine to execute the locality-based execution plan by performing at least a portion of the locality-based database operations and distributing at least a portion of the locality-based database operations as a subplan to a second database operation processor providing a second execution engine, wherein at least one of the database operations can be executed on either the first execution engine or the second execution engine.
-
-
26. An apparatus for generating a distributed locality-based execution plan comprising:
-
means for receiving a database query;
means for parsing and validating the database query to produce a query tree; and
means for optimizing the query tree to produce a locality-based execution plan by accessing a database catalog comprising database table locality information, record locality information and execution engine information, the locality-based execution plan containing instructions for a central database operation processor providing a first execution engine to execute the locality-based execution plan by performing at least a portion of the locality-based database operations and distributing at least a portion of the locality-based database operations as a subplan to a second database operation processor providing a second execution engine, wherein at least one of the database operations can be executed on either the first execution engine or the second execution engine.
-
-
27. A computer program product comprising:
-
a computer usable medium for generating a distributed locality-based execution plan;
a set of computer program instructions embodied on the computer usable medium, including instructions to;
receive a database query;
parse and validating the database query to produce a query tree; and
optimize the query tree to produce a locality-based execution plan by accessing a database catalog comprising database table locality information, record locality information and execution engine information, the locality-based execution plan containing instructions for a central database operation processor providing a first execution engine to execute the locality-based execution plan by performing at least a portion of the locality-based database operations and distributing at least a portion of the locality-based database operations as a subplan to a second database operation processor providing a second execution engine, wherein at least one of the database operations can be executed on either the first execution engine or the second execution engine.
-
Specification