Database replication
First Claim
1. A method comprising:
- providing, to a user associated with a client application, a set of different levels of quality guarantee associated with a database server, wherein the database server is configured for performing reads and writes on persistent data storage for the client application;
receiving, from the user, selection of a particular level of quality guarantee from the set of different levels of quality guarantee;
responsive to receiving the selection of the particular level of quality guarantee, determining values of one or more attributes associated with the database server, the one or more attributes including different values for different levels of quality guarantee; and
based on determining the values of the one or more attributes, configuring a set of replications servers for performing read and write operations on the persistent data storage based on the read and write requests from the client application;
receiving, at a database server, a write request;
in response to receiving the write request, selecting, by the database server, a set of multiple replication servers based on the determined value of the one or more attributes;
sending the data from the database server to the selected set of multiple replication servers for writing to the persistent data storage;
determining that less than all of the replication servers successfully wrote the data to the persistent data storage; and
in response to determining that less than all of the replication servers successfully wrote the data to the persistent data storage, selecting, by the database server and based on the determined value of the one or more attributes, one or more additional replication servers as replacement for the replication servers that did not successfully write the data to persistent storage; and
sending the data from the database server to the additional replication servers.
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
25 Claims
-
1. A method comprising:
-
providing, to a user associated with a client application, a set of different levels of quality guarantee associated with a database server, wherein the database server is configured for performing reads and writes on persistent data storage for the client application; receiving, from the user, selection of a particular level of quality guarantee from the set of different levels of quality guarantee; responsive to receiving the selection of the particular level of quality guarantee, determining values of one or more attributes associated with the database server, the one or more attributes including different values for different levels of quality guarantee; and based on determining the values of the one or more attributes, configuring a set of replications servers for performing read and write operations on the persistent data storage based on the read and write requests from the client application; receiving, at a database server, a write request; in response to receiving the write request, selecting, by the database server, a set of multiple replication servers based on the determined value of the one or more attributes; sending the data from the database server to the selected set of multiple replication servers for writing to the persistent data storage; determining that less than all of the replication servers successfully wrote the data to the persistent data storage; and in response to determining that less than all of the replication servers successfully wrote the data to the persistent data storage, selecting, by the database server and based on the determined value of the one or more attributes, one or more additional replication servers as replacement for the replication servers that did not successfully write the data to persistent storage; and sending the data from the database server to the additional replication servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer program product embodied in a non-transitory machine-readable medium and including instructions executable by one or more computers, the instructions configured to cause the one or more computers to perform operations comprising:
-
providing, to a user associated with a client application, a set of different levels of quality guarantee associated with a database server, wherein the database server is configured for performing reads and writes on persistent data storage for the client application; receiving, from the user, selection of a particular level of quality guarantee from the set of different levels of quality guarantee; responsive to receiving the selection of the particular level of quality guarantee, determining values of one or more attributes associated with the database server, the one or more attributes including different values for different levels of quality guarantee; and based on determining the values of the one or more attributes, configuring a set of replications servers for performing read and write operations on the persistent data storage based on the read and write requests from the client application; receiving, at a database server, a write request; in response to receiving the write request, selecting, by the database server, a set of multiple replication servers based on the determined value of the one or more attributes; sending the data from the database server to the selected set of multiple replication servers for writing to the persistent data storage; determining that less than all of the replication servers successfully wrote the data to the persistent data storage; and in response to determining that less than all of the replication servers successfully wrote the data to the persistent data storage, selecting, by the database server and based on the determined value of the one or more attributes, one or more additional replication servers as replacement for the replication servers that did not successfully write the data to persistent storage; and sending the data from the database server to the additional replication servers.
-
Specification