System and Method for Parallel Optimization of Database Query using Cluster Cache
AssigneeHuawei Technologies Co., Ltd.
InventorsPrasanna Venkatesh Ramamurthi, Mahesh Kumar Behera
Life of this patent
Estimating the term…
Abstract
A system and method for parallel optimization of database query using cluster cache improves the performance of group by aggregates by avoiding the merge phase of parallel aggregation with the use of dynamic clustering and by caching the clustering information and storing them in local memory of worker thread. The caching of cluster information is based on user configuration to avoid overuse of system memory.
Claims23
A system for parallel optimization of a database query requesting data from a database, wherein the system comprising:
- a memory;
- a processor coupled to the memory and configured to:
- cluster data present in the database based on the database query received when the query needs clustering, wherein the database query is determined to need clustering based on at least one of a nature or a statistics of the database query received;
- displaying a result of the query to a user after query processing;
- retain the clustered data to create at least one cluster cache comprising a cluster metadata, at least one data element, and the clustered data retained;
- and
- reuse the clustered data from the cluster cache for query processing when a new query is received and when the new query is matched with at least one of the at least one data element or cluster metadata.
A method for parallel optimization of a database query requesting data from a database, wherein the method comprising:
- determining whether the database query needs clustering based on at least one of a nature or/or a statistics of the database query received;
- clustering data present in the database based on the database query received when the query needs clustering, wherein the database query is determined to need clustering based on at least one of a nature or a statistics of the database query received;
- displaying result of the query to a user when the query needs clustering;
- retaining the clustered data;
- creating at least one cluster cache comprising a cluster metadata, at least one data element, and the clustered data;
- and
- reusing the clustered data from the cluster cache for the processing of a new query when the new query is received and when the new query is matched with at least one of the at least one data element or cluster metadata.
Dependencies are inferred from the claim text.