Column smart mechanism for column based database
First Claim
1. A method comprising:
- receiving a request for an online transactional processing (OLTP) transaction through an input device to access data in a column-based storage of a database contained in a data storage device, the OLTP transaction including a query to access a first set of columns in the column-based storage;
in the event a cache includes column information for the OLTP transaction, entering a learned mode;
responsive to entering the learned mode;
determining a second set of columns that are needed by the OLTP transaction, the determining including comparing the OLTP transaction to a plurality of previously processed OLTP transactions stored in the cache;
optimizing the query of the OLTP transaction to access the second set of columns in the cache, wherein the second set of columns is smaller than the first set of columns; and
processing the OLTP transaction with the column information in the cache based on the optimized query;
in the event the cache does not include the column information for the OLTP transaction, entering a learning mode and selecting columns from the column-based storage of the database, caching column names or indices relating to the selected columns, and entering the learned mode and processing the OLTP transaction with the column information in the cache,wherein the selection of columns is based on the OLTP transaction and includes only columns necessary for the OLTP transaction; and
outputting at least a portion of a result of the OLTP transaction to an output device.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present disclosure may provide a system and method for processing an online transactional processing (OLTP) transaction on a column-based storage of a database. The method may include receiving a request of the OLTP transaction to access data on the column-based storage. A determination may be made whether a cache associated with the database includes column information for the OLTP transaction. If the cache includes the column information for the OLTP transaction, the method may include processing the OLTP transaction with the column information in the cache. If the cache does not include the column information for the OLTP transaction, the method may include selecting columns from the column-based storage of the database.
18 Citations
19 Claims
-
1. A method comprising:
-
receiving a request for an online transactional processing (OLTP) transaction through an input device to access data in a column-based storage of a database contained in a data storage device, the OLTP transaction including a query to access a first set of columns in the column-based storage; in the event a cache includes column information for the OLTP transaction, entering a learned mode; responsive to entering the learned mode; determining a second set of columns that are needed by the OLTP transaction, the determining including comparing the OLTP transaction to a plurality of previously processed OLTP transactions stored in the cache; optimizing the query of the OLTP transaction to access the second set of columns in the cache, wherein the second set of columns is smaller than the first set of columns; and processing the OLTP transaction with the column information in the cache based on the optimized query; in the event the cache does not include the column information for the OLTP transaction, entering a learning mode and selecting columns from the column-based storage of the database, caching column names or indices relating to the selected columns, and entering the learned mode and processing the OLTP transaction with the column information in the cache, wherein the selection of columns is based on the OLTP transaction and includes only columns necessary for the OLTP transaction; and outputting at least a portion of a result of the OLTP transaction to an output device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 14, 15, 16, 17, 18, 19)
-
-
8. A non-transitory computer readable storage medium storing one or more programs configured to be executed by a processor, the one or more programs comprising instructions for:
-
receiving a request for an online transactional processing (OLTP) transaction to access data in a column-based storage of a database, the OLTP transaction including a query to access a first set of columns in the column-based storage; determining whether a cache associated with the database includes column information for the OLTP transaction; in the event the cache includes the column information for the OLTP transaction, entering a learned mode; responsive to entering the learned mode; determining a second set of columns that are needed by the OLTP transaction, the determining including comparing the OLTP transaction to a plurality of previously processed OLTP transactions stored in the cache; optimizing the query of the OLTP transaction to access the second set of columns in the cache, wherein the second set of columns is smaller than the first set of columns; and processing the OLTP transaction with the column information in the cache based on the optimized query; in the event the cache does not include the column information for the OLTP transaction, entering a learning mode and selecting columns from the column-based storage of the database, caching column names or indices relating to the selected columns, and entering the learned mode and processing the OLTP transaction with the column information in the cache, wherein the selection of columns is based on the OLTP transaction and includes only columns necessary for the OLTP transaction. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A system, comprising:
-
one or more processors; and memory storing one or more programs for execution by the one or more processors, the one or more programs including instructions for; receiving a request for an online analytical processing (OLAP) transaction to access data in a column-based storage of a database; receiving a request for an online transactional processing (OLTP) transaction, the OLTP transaction including a query to access a first set of columns in the column-based storage; determining whether a cache associated with the database includes column information for the OLTP transaction; in the event the cache includes the column information for the OLTP transaction, entering a learned mode; responsive to entering the learned mode, determining a second set of columns that are needed by the OLTP transaction, the determining including comparing the OLTP transaction to a plurality of previously processed OLTP transactions stored in the cache; optimizing the query of the OLTP transaction to access the second set of columns in the cache, wherein the second set of columns is smaller than the first set of columns; and processing the OLTP transaction with the column information in the cache based on the optimized query; in the event the cache does not include the column information for the OLTP transaction, entering a learning mode and selecting columns from the column-based storage of the database, caching column names or indices of the columns selected from the column-based storage of the database, and entering the learned mode and processing the OLTP transaction with the column information in the cache, wherein the selection of columns is based on the OLTP transaction and includes only columns necessary for the OLTP transaction.
-
Specification