EFFICIENT READ REPLICAS
First Claim
Patent Images
1. A method, comprising:
- performing, by multiple nodes of a database service that includes a primary node, a plurality of read replicas each having a cache, and a distributed storage service;
receiving, from a client of the database service, a write request directed to a given data record in a database table, wherein the write request specifies a modification to be made to the given data record;
generating a redo log record representing the modification to be made to the given data record;
sending the redo log record to a particular server node of the distributed storage service that stores a version of the data page comprising the given data record; and
sending the redo log record to the plurality of read replicas, wherein the redo log record indicates that a cached version of the given data record stored in respective caches of the plurality of read replicas is stale;
wherein a subsequent request for the given data record received by a read replica of the plurality of read replicas includes the read replica requesting a current version of the given data record from the distributed storage service.
1 Assignment
0 Petitions
Accused Products
Abstract
A database system may receive a write request that specifies a modification to be made to a particular data record stored by the database system. A log record representing the modification to be made to the particular data record may be sent to a storage service of the database system. An indication (e.g., log record or other indication) that indicates a cached version of the particular data record stored in a read replica'"'"'s cache is stale may be sent to a read replica. For a subsequent read of the particular data record received by the read replica, the read replica may request the particular data record from the storage service.
100 Citations
21 Claims
-
1. A method, comprising:
performing, by multiple nodes of a database service that includes a primary node, a plurality of read replicas each having a cache, and a distributed storage service; receiving, from a client of the database service, a write request directed to a given data record in a database table, wherein the write request specifies a modification to be made to the given data record; generating a redo log record representing the modification to be made to the given data record; sending the redo log record to a particular server node of the distributed storage service that stores a version of the data page comprising the given data record; and sending the redo log record to the plurality of read replicas, wherein the redo log record indicates that a cached version of the given data record stored in respective caches of the plurality of read replicas is stale; wherein a subsequent request for the given data record received by a read replica of the plurality of read replicas includes the read replica requesting a current version of the given data record from the distributed storage service. - View Dependent Claims (2, 3, 4)
-
5. A system, comprising:
-
one or more computing nodes, each of which comprises at least one processor and a memory, wherein the one or more computing nodes are configured to collectively implement a database service, and where the database service comprises a primary node, a read replica having a cache, and a distributed storage service; wherein the primary node is configured to; receive a write request that specifies a modification to be made to a particular data record stored by the database service, send a redo log record representing the modification to be made to the particular data record to a server node of the distributed storage service that stores a version of a data page comprising the particular data record, and send an indication to the read replica indicating that a cached version of the particular data record in the cache of the read replica is stale. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable storage medium storing program instructions, wherein the program instructions are computer-executable to implement a read replica of a database service, wherein the read replica is configured to:
-
receive a log record, from a primary node, that indicates that a cached version of particular data in a cache of the read replica is stale, wherein the log record is indicative of an update to the particular data stored by the database service; receive, from a client of the database service, a request to read the particular data; and send a request for a current version of the particular data to a distributed storage service of the database service. - View Dependent Claims (18, 19, 20, 21)
-
Specification