Patent ID: 8090710
Filing Date: 2012-01-03
Classification: G06F

Abstract:
1. A method for improving the efficiency of database query processing on a distributed database, comprising: receiving a query of the database, wherein the database includes a collection of data records subdivided into a plurality of database portions, wherein each of the plurality of database portions is stored on one of a plurality of compute nodes and wherein each compute node includes a respective partial index of the data records stored on the respective compute node, wherein the partial indexes are generated from an index of all the data records in the database, so that each partial index is limited to those data records on the respective compute node; distributing the query to one or more compute nodes of the plurality of compute nodes for execution; executing, by the one or more compute nodes, the query operation against the data records of the respective compute node using the respective partial index; and during query execution, monitoring the use of the partial index stored on the first compute node in executing the database query; refactoring the plurality of database portions of the collection of database records, based at least in part on the monitored use of the partial index; distributing each of the plurality of re-factored database portions to one of the plurality of compute nodes; generating an index for at least one of the re-factored database portions distributed to one of the plurality of compute nodes; and storing the generated index on the compute node storing the database records reflected in the generated index.