AUTOMATIC CACHING OF SCAN AND RANDOM ACCESS DATA IN COMPUTING SYSTEMS
First Claim
1. A method comprising:
- responsive to requests from a database server to access data units stored in one or more storage systems, determining that at least certain data units accessed by the requests are not found in a cache;
associating the certain data units with data access patterns, each unit of the certain data units associated with a particular data access pattern of the data access patterns, the data access patterns including a scan data access pattern and a random data access pattern;
applying one or more caching policies to determine when to cache particular data units of the certain data units, based at least partially on the data access patterns associated with the certain data units;
storing at least one of the particular data units in the cache responsive to the requests, based on the one or more caching policies;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Approaches, techniques, and mechanisms are disclosed for improved caching in database systems that deal with multiple data access patterns, such as in database systems that interface with both OLTP and Data Warehouse clients. A cache is deployed between a database server and a storage system that stores data units. Some of the data units accessed by the database server are buffered within the cache. The data units may be associated with data access patterns, such as a random data access pattern or a scan data access pattern, in accordance with which the database server is or appears to be accessing the data units. A processor selects when to cache data units accessed by the database server, based at least on the associated data access patterns. Recent access counts may also be stored for the data units, and may further be utilized to select when to cache data units.
38 Citations
26 Claims
-
1. A method comprising:
-
responsive to requests from a database server to access data units stored in one or more storage systems, determining that at least certain data units accessed by the requests are not found in a cache; associating the certain data units with data access patterns, each unit of the certain data units associated with a particular data access pattern of the data access patterns, the data access patterns including a scan data access pattern and a random data access pattern; applying one or more caching policies to determine when to cache particular data units of the certain data units, based at least partially on the data access patterns associated with the certain data units; storing at least one of the particular data units in the cache responsive to the requests, based on the one or more caching policies; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15)
-
-
12. The method of 1, further comprising associating a given data unit of the certain data units with a given data access pattern of the data access patterns based on one or more of:
- an access pattern indicator in metadata associated with a most recent request in which the given data unit is involved, a characteristic of the most recent request, or a characteristic of the given data unit.
-
13. One or more non-transitory computer-readable media storing instructions that, when executed by the one or more computing devices, cause performance of:
-
responsive to requests from a database server to access data units stored in one or more storage systems, determining that at least certain data units accessed by the requests are not found in a cache; associating the certain data units with data access patterns, each unit of the certain data units associated with a particular data access pattern of the data access patterns, the data access patterns including a scan data access pattern and a random data access pattern; applying one or more caching policies to determine when to cache particular data units of the certain data units, based at least partially on the data access patterns associated with the certain data units; storing at least one of the particular data units in the cache responsive to the requests, based on the one or more caching policies. - View Dependent Claims (14, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer system comprising:
-
one or more processors; one or more interfaces communicably coupled to one or more database servers and one or more storage systems; one or more storage media configured to store a cache comprising cache lines in which are cached data units, from the one or more storage systems, that were accessed by the database server; one or more storage media configured to store cache metadata, the cache metadata including at least recent access counts reflecting how frequently the data units have been accessed over a recent period of time; wherein the one or more processors are configured to; associate data units with data access patterns in accordance with which the database server is or appears to be accessing the data units; and select whether to cache data units accessed by the database server, based at least on the associated data access patterns and the recent access counts. - View Dependent Claims (26)
-
Specification