PATTERN FOR INTEGRATING PRIMARY AND SECONDARY DATA STORES IN A SHARDED DATA DOMAIN
First Claim
1. A method comprising:
- receiving, by a data access logic (DAL) framework comprising one or more processors, a request for a write operation of a record, the DAL framework managing cache persistence associated with a sharded database, a secondary data store and an alternative key global indexes (AKGI) database;
initializing the secondary data store by updating metadata of the record in the secondary data store, the metadata including a primary key (PK) associated with the record and an alternative key (AK) hash value associated with the record;
performing, based on the PK and the AK hash value, a write operation of the record in the AKGI database and the sharded database, respectively; and
updating content data of the record in the secondary data store in response to determining that the write operation is successfully completed.
2 Assignments
0 Petitions
Accused Products
Abstract
Example systems and methods for integrating a sharded primary data store (e.g., a source-of-truth relational database management system), a secondary data store (e.g., external cache) and an external global index are described. The approach implements a modified read-through/write-through data access pattern that integrates read and write flows in order to support high-concurrency environments while maintaining immediate consistency between all three stores. Writes are handled using a three-phase flow that avoids concurrency-related race conditions and the need to block in the secondary store in order to maintain cross-store consistency. Reads are never dirty and will repair the secondary store as needed, presenting an immediately consistent view of data to application consumers.
30 Citations
20 Claims
-
1. A method comprising:
-
receiving, by a data access logic (DAL) framework comprising one or more processors, a request for a write operation of a record, the DAL framework managing cache persistence associated with a sharded database, a secondary data store and an alternative key global indexes (AKGI) database; initializing the secondary data store by updating metadata of the record in the secondary data store, the metadata including a primary key (PK) associated with the record and an alternative key (AK) hash value associated with the record; performing, based on the PK and the AK hash value, a write operation of the record in the AKGI database and the sharded database, respectively; and updating content data of the record in the secondary data store in response to determining that the write operation is successfully completed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
receiving, by a data access logic (DAL) framework comprising one or more processors, a request for a read operation of a record, the DAL framework managing cache persistence associated with a sharded database, a level 2 (L2) cache, and an alternative key global indexes (AKGI) database; determining whether the L2 cache includes the record; and in response to a determination that the L2 cache includes the record; generating an alternative key (AK) hash value associated with the record, searching the L2 cache to identify a primary key (PK) associated with the record using the AK hash value, and retrieving the record using the PK value. - View Dependent Claims (10, 11, 12, 13)
-
-
14. An apparatus comprising:
-
a memory configured to store data and one or more sets of instructions; and one or more processors coupled to the memory, the one or more processors configured to execute the one or more sets of instructions and perform operations comprising; receiving a request for a write operation of a record in a level 2 (L2) cache associated with a sharded database and an alternative key global indexes (AKGI) database; determining whether the L2 cache includes the record; and in response to a determination that the L2 cache includes the record; initializing the L2 cache by updating metadata of the record in the L2 cache, the metadata including a primary key (PK) associated with the record and an alternative key (AK) hash value associated with the record, performing, based on the PK and the AK hash value, a write operation of the record in the AKGI database and the sharded database, respectively, and updating content data of the record in the L2 cache in response to determining that the write operation is successfully completed. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification