SYSTEM FOR PROVIDING SCALABLE IN-MEMORY CACHING FOR A DISTRIBUTED DATABASE
First Claim
1. A method for providing scalable in-memory caching for a distributed database, the method comprising:
- receiving a data update from a client, the data update to be applied to a database;
applying the data update to a cache, wherein the cache contains a cached copy of the database;
generating an acknowledgement, wherein the acknowledgment indicates that the data update was applied to the database;
providing the acknowledgement to the client;
communicating, by a processor after providing the acknowledgement, the data update to a replication server; and
applying the data update to the database upon receiving an indication that the data update was stored by the replication server.
2 Assignments
0 Petitions
Accused Products
Abstract
A system is described for providing scalable in-memory caching for a distributed database. The system may include a cache, an interface, a non-volatile memory and a processor. The cache may store a cached copy of data items stored in the non-volatile memory. The interface may communicate with devices and a replication server. The non-volatile memory may store the data items. The processor may receive an update to a data item from a device to be applied to the non-volatile memory. The processor may apply the update to the cache. The processor may generate an acknowledgement indicating that the update was applied to the non-volatile memory and may communicate the acknowledgment to the device. The processor may then communicate the update to a replication server. The processor may apply the update to the non-volatile memory upon receiving an indication that the update was stored by the replication server.
-
Citations
20 Claims
-
1. A method for providing scalable in-memory caching for a distributed database, the method comprising:
-
receiving a data update from a client, the data update to be applied to a database; applying the data update to a cache, wherein the cache contains a cached copy of the database; generating an acknowledgement, wherein the acknowledgment indicates that the data update was applied to the database; providing the acknowledgement to the client; communicating, by a processor after providing the acknowledgement, the data update to a replication server; and applying the data update to the database upon receiving an indication that the data update was stored by the replication server. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for providing partitioned in-memory caching for a distributed database, the system comprising:
-
partitioning a database into a plurality of tablets, wherein each of the tablets comprises one or more records of the database; storing each tablet on one of a plurality of storage units, each of the storage units associated with a local disk and a cache, wherein each cache comprises a cached copy of data stored on the associated storage unit; receiving an update to a record of the database from a client; determining the storage unit containing the record; communicating the update to the determined storage unit; applying the update to the cache associated with the determined storage unit; generating an acknowledgement indicating that the update was applied to the record in the database; providing the acknowledgement to the client; communicating, after providing the acknowledgement, the update to a replication server; and writing the update to the local disk of the determined storage unit upon receiving an indication that the update was properly handled by the replication server. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for providing scalable in-memory caching for a distributed database, the system comprising:
-
a cache operative to store a cached copy of a plurality of data items; an interface, the interface coupled to the cache, and the interface operative to communicate with a plurality of devices and at least one replication server; a non-volatile memory, the non-volatile memory coupled to the cache, the non-volatile memory operative to store the plurality of data items; a processor, the processor coupled to the non-volatile memory, the interface and the cache, the processor operative to receive, via the interface from a device of the plurality of devices, an update to one of the plurality of data items stored in the non-volatile memory, apply the update to the cache, generate an acknowledgement indicating that the update was applied to the non-volatile memory, provide, via the interface to the device of the plurality of devices, the acknowledgement, communicate, via the interface after providing the acknowledgement, the update to the replication server, and apply the data update to the non-volatile memory upon receiving an indication that the update was stored by the replication server. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification