Automated method for identifying and repairing logical data discrepancies between database replicas in a database cluster
First Claim
1. A system for monitoring and maintaining data consistency comprising:
- a plurality of database nodes each capable of operating independently each containing at least one database;
a transaction log for recording each insertion deletion or modification of data for each of the at least one databases in the database nodes;
a controller node in communication with the database nodes that can receive a series of database transaction requests from a client and that sends the series of database transaction requests to the plurality of database nodes and monitors the results of each of the series of database transaction request at each of plurality of database nodes for inconsistencies and when inconsistencies are detected for a database transaction request, determining the change made by the database transaction request in each of the plurality of database nodes by i) identifying the change made by the majority of the database nodes;
ii) making each of the plurality of database nodes identified as not consistent with the majority, inactive;
ii) applying changes to in each of the plurality of database nodes not conforming to the majority to cause the change made in the majority of the database nodes to be made in each of the plurality of database nodes not conforming to the majority;
iv) making each of the plurality of the database nodes previously identified as not consistent with the majority, active;
whereby the database nodes are kept consistent.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and system for monitoring and maintaining the consistency of replicated databases in a shared-nothing database cluster architecture is presented. The method involves the continuous monitoring of the database transaction logs that are maintained by the autonomous database managers that manage the individual database replicas in the cluster. In the event that data discrepancies are detected via the comparison of the transaction logs of the individual database replicas, remedial action is carried out according to configured rules in the main cluster controller. These remedial actions may include, but are not limited to, making a database node inactive within the cluster, or automatically repairing any data discrepancies that are detected among the database replicas in the cluster.
252 Citations
10 Claims
-
1. A system for monitoring and maintaining data consistency comprising:
-
a plurality of database nodes each capable of operating independently each containing at least one database; a transaction log for recording each insertion deletion or modification of data for each of the at least one databases in the database nodes; a controller node in communication with the database nodes that can receive a series of database transaction requests from a client and that sends the series of database transaction requests to the plurality of database nodes and monitors the results of each of the series of database transaction request at each of plurality of database nodes for inconsistencies and when inconsistencies are detected for a database transaction request, determining the change made by the database transaction request in each of the plurality of database nodes by i) identifying the change made by the majority of the database nodes;
ii) making each of the plurality of database nodes identified as not consistent with the majority, inactive;
ii) applying changes to in each of the plurality of database nodes not conforming to the majority to cause the change made in the majority of the database nodes to be made in each of the plurality of database nodes not conforming to the majority;
iv) making each of the plurality of the database nodes previously identified as not consistent with the majority, active;whereby the database nodes are kept consistent. - View Dependent Claims (2)
-
-
3. A method for monitoring and maintaining data consistency between a plurality of database nodes each containing at least one database, comprising the steps of:
-
a) receiving at least one database transaction request from at least one client node; b) applying the at least one database transaction request from the at least one client node to all of the database nodes; c) monitoring the plurality of database nodes and detecting inconsistencies in the results of each of the at least one database transaction request between the plurality of database nodes; d) when inconsistencies are detected for a database transaction request, determining the chance made by the database transaction request in each of the plurality of database nodes by i) identifying the change made by the majority of the database nodes; ii) making each of the plurality of database nodes identified as not consistent with the majority, inactive; ii) applying changes to in each of the plurality of database nodes not conforming to the majority to cause the change made in the majority of the database nodes to be made in each of the plurality of database nodes not conforming to the majority; iv) making each of the plurality of the database nodes previously identified as not consistent with the majority, active. whereby the database nodes are kept consistent. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10)
-
Specification