Database replication
First Claim
1. A method for detecting data loss in a replicated database, comprising:
- receiving, at a database server, a request from a client application for performing a data transaction on persistent data storage;
sending the request to a set of replication servers;
receiving, from each replication server, an acknowledgement for the request, including a start sequence number and an end sequence number for data associated with the client application that is stored in local cache of the replication server, and a latest committed sequence number for data associated with the client application that was written to the persistent data storage by the replication server;
determining a maximum value of latest committed sequence numbers received from the set of replication servers;
examining, for each replication server, whether there is a gap between the start sequence number for data stored in local cache of the replication server and the maximum value of the latest committed sequence numbers; and
based on the examining, determining whether there is an occurrence of loss of data associated with the client application.
2 Assignments
0 Petitions
Accused Products
Abstract
A database server receives a request from a client application for performing a data transaction on persistent data storage. The request is sent to a set of replication servers. An acknowledgement for the request is received from each replication server, including a start sequence number and an end sequence number for data that is stored in local cache of the replication server, and a latest committed sequence number for data that was written to the persistent data storage by the replication server. A maximum value of latest committed sequence numbers received from the set of replication servers is determined. For each replication server, it is examined whether there is a gap between the start sequence number for data stored in local cache and the maximum value of the latest committed sequence numbers. Based on the examining, it is determined whether there is an occurrence of loss of data.
-
Citations
10 Claims
-
1. A method for detecting data loss in a replicated database, comprising:
-
receiving, at a database server, a request from a client application for performing a data transaction on persistent data storage; sending the request to a set of replication servers; receiving, from each replication server, an acknowledgement for the request, including a start sequence number and an end sequence number for data associated with the client application that is stored in local cache of the replication server, and a latest committed sequence number for data associated with the client application that was written to the persistent data storage by the replication server; determining a maximum value of latest committed sequence numbers received from the set of replication servers; examining, for each replication server, whether there is a gap between the start sequence number for data stored in local cache of the replication server and the maximum value of the latest committed sequence numbers; and based on the examining, determining whether there is an occurrence of loss of data associated with the client application. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer program product, suitably embodied in a non-transitory machine-readable medium and including instructions executable by a processor for detecting data loss in a replicated database, the instructions configured to cause the processor to perform operations comprising:
-
receiving, at a database server, a request from a client application for performing a data transaction on persistent data storage; sending the request to a set of replication servers; receiving, from each replication server, an acknowledgement for the request, including a start sequence number and an end sequence number for data associated with the client application that is stored in local cache of the replication server, and a latest committed sequence number for data associated with the client application that was written to the persistent data storage by the replication server; determining a maximum value of latest committed sequence numbers received from the set of replication servers; examining, for each replication server, whether there is a gap between the start sequence number for data stored in local cache of the replication server and the maximum value of the latest committed sequence numbers; and based on the examining, determining whether there is an occurrence of loss of data associated with the client application. - View Dependent Claims (7, 8, 9, 10)
-
Specification