Relocating derived cache during data rebalance to maintain application performance
First Claim
1. A computer-executed method comprising:
- maintaining a database on persistent storage of a storage device;
maintaining one or more derived caches in memory of the storage device;
wherein a particular derived cache, of the one or more derived caches, includesinformation;
derived from a unit of data, from the database, that is stored persistently in a particular region of the persistent storage, andthat is accessed to compute one or more values for queries;
wherein the storage device is configured to compute the one or more values for the queries from values stored in the unit of data;
wherein the unit of data is in a different format from the particular derived cache;
determining to copy the unit of data, that is stored in the particular region of the persistent storage, to a second storage device;
in response to determining to copy the unit of data, that is stored in the particular region of the persistent storage, to the second storage device;
copying the unit of data, that is stored in the particular region of the persistent storage, to the second storage device, andcopying the particular derived cache to the second storage device;
wherein the copy of the unit of data is in a different format from the copy of the particular derived cache; and
accessing said particular derived cache at the second storage device to compute second one or more values for a particular query;
wherein the second storage device is configured to compute the second one or more values for the particular query from values stored in the copy of the unit of data;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
According to embodiments, a derived cache that is derived from a first instance of particular data is used to speed up queries and other operations over a second instance of the particular data. Traditionally, a DBMS generates and uses derived cache data only for the database data from which the derived data was derived. However, according to embodiments, derived cache data associated with a first instance of database data is relocated to the location of a second, newly created, instance of the database data. Since the derived cache data is derived from an identical copy of the database data, the cache data derived for the first instance can successfully be used to speed up applications running over the second instance of the database data.
273 Citations
14 Claims
-
1. A computer-executed method comprising:
-
maintaining a database on persistent storage of a storage device; maintaining one or more derived caches in memory of the storage device; wherein a particular derived cache, of the one or more derived caches, includes information; derived from a unit of data, from the database, that is stored persistently in a particular region of the persistent storage, and that is accessed to compute one or more values for queries; wherein the storage device is configured to compute the one or more values for the queries from values stored in the unit of data; wherein the unit of data is in a different format from the particular derived cache; determining to copy the unit of data, that is stored in the particular region of the persistent storage, to a second storage device; in response to determining to copy the unit of data, that is stored in the particular region of the persistent storage, to the second storage device; copying the unit of data, that is stored in the particular region of the persistent storage, to the second storage device, and copying the particular derived cache to the second storage device; wherein the copy of the unit of data is in a different format from the copy of the particular derived cache; and accessing said particular derived cache at the second storage device to compute second one or more values for a particular query; wherein the second storage device is configured to compute the second one or more values for the particular query from values stored in the copy of the unit of data; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause:
-
maintaining a database on persistent storage of a storage device; maintaining one or more derived caches in memory of the storage device; wherein a particular derived cache, of the one or more derived caches, includes information; derived from a unit of data, from the database, that is stored persistently in a particular region of the persistent storage, and that is accessed to compute one or more values for queries; wherein the storage device is configured to compute the one or more values for the queries from values stored in the unit of data; wherein the unit of data is in a different format from the particular derived cache; determining to copy the unit of data, that is stored in the particular region of the persistent storage, to a second storage device; in response to determining to copy the unit of data, that is stored in the particular region of the persistent storage, to the second storage device; copying the unit of data, that is stored in the particular region of the persistent storage, to the second storage device, and copying the particular derived cache to the second storage device; wherein the copy of the unit of data is in a different format from the copy of the particular derived cache; and accessing said particular derived cache at the second storage device to compute second one or more values for a particular query; wherein the second storage device is configured to compute the second one or more values for the particular query from values stored in the copy of the unit of data. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification