Apparatus and method for identifying asynchronous data in redundant data stores and for re-synchronizing same
First Claim
1. A computer storage product with a computer readable medium having computer code executed by a computer, said computer code including executable instructions to compare databases, said computer code comprising executable instructions to:
- identify a segment of a first database comprising a batch of rows of said first database;
compress said batch of rows of said first database;
identify non-key data and key data in said compressed batch of rows of said first database, including a begin key value and an end key value;
perform a hash on said identified non-key data to create first hash data;
process at least said identified begin key value and said identified end key value to identify a corresponding segment of a second database;
perform a hash on at least a portion of said identified corresponding segment of said second database to create second hash data;
compare said created first hash data with said created second hash data to identify said identified segment of said first database is conditionally out of synchronization with said identified corresponding segment of said second database to establish a conditionally out of synchronization state at a first time;
allow a latency period after said first time for said first database and said second database to synchronize through existing synchronization mechanisms;
determine after said latency period that said identified segment of said first database is not in synchronization with said identified corresponding segment of said second database to form a post-latency out of synchronization state; and
re-synchronize, in response to said post-latency out of synchronization state, said identified segment of said first database with said identified corresponding segment of said second database during dynamic operation of said first database and said second database.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer readable medium includes executable instruction to compare databases. The executable instructions are configured to identify when a segment of a first database is conditionally out of synchronization with a corresponding segment of a second database to establish a conditionally out of synchronization state at a first time. Executable instructions allow a latency period after the first time in which changes are made to the first database and the second database. Executable instructions also determine after the latency period whether the segment of the first database is in synchronization with the corresponding segment of the second database. Executable instructions also populate a resynchronization table, which is used by a replication mechanism to bring asynchronous rows into synchronization.
-
Citations
18 Claims
-
1. A computer storage product with a computer readable medium having computer code executed by a computer, said computer code including executable instructions to compare databases, said computer code comprising executable instructions to:
-
identify a segment of a first database comprising a batch of rows of said first database; compress said batch of rows of said first database; identify non-key data and key data in said compressed batch of rows of said first database, including a begin key value and an end key value; perform a hash on said identified non-key data to create first hash data; process at least said identified begin key value and said identified end key value to identify a corresponding segment of a second database; perform a hash on at least a portion of said identified corresponding segment of said second database to create second hash data; compare said created first hash data with said created second hash data to identify said identified segment of said first database is conditionally out of synchronization with said identified corresponding segment of said second database to establish a conditionally out of synchronization state at a first time; allow a latency period after said first time for said first database and said second database to synchronize through existing synchronization mechanisms; determine after said latency period that said identified segment of said first database is not in synchronization with said identified corresponding segment of said second database to form a post-latency out of synchronization state; and re-synchronize, in response to said post-latency out of synchronization state, said identified segment of said first database with said identified corresponding segment of said second database during dynamic operation of said first database and said second database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method, comprising:
-
identifying, at a computer system, a segment of a first database comprising a batch of rows of said first database; compressing said batch of rows of said first database; identifying non-key data and key data in said compressed batch of rows of said first database, including a begin key value and an end key value; performing a hash on said non-key data to create first hash data; processing at least said identified begin key value and said identified end key value to identify a corresponding segment of a second database; performing a hash on at least a portion of said identified corresponding segment of said second database to create second hash data; comparing said created first hash data with said created second hash data to identify said identified segment of said first database is conditionally out of synchronization with said identified corresponding segment of said second database to establish a conditionally out of synchronization state at a first time; allowing a latency period after said first time for said first database and said second database to synchronize through existing synchronization mechanisms; determining after said latency period that said identified segment of said first database is not in synchronization with said identified corresponding segment of said second database to form a post-latency out of synchronization state; and re-synchronizing, in response to said post-latency out of synchronization state, said identified segment of said first database with said identified corresponding segment of said second database during dynamic operation of said first database and said second database.
-
-
18. A computer system comprising a processor and a memory in communication with said processor, said memory having therein computer code executable by said computer system, said computer code comprising executable instructions to:
-
identify a segment of a first database comprising a batch of rows of said first database; compress said batch of rows of said first database; identify non-key data and key data in said compressed batch of rows of said first database, including a begin key value and an end key value; perform a hash on said identified non-key data to create first hash data; process at least said identified begin key value and said identified end key value to identify a corresponding segment of a second database; perform a hash on at least a portion of said identified corresponding segment of said second database to create second hash data; compare said created first hash data with said created second hash data to identify said identified segment of said first database is conditionally out of synchronization with said corresponding segment of said second database to establish a conditionally out of synchronization state at a first time; allow a latency period after said first time for said first database and said second database to synchronize through existing synchronization mechanisms; determine after said latency period that said identified segment of said first database is not in synchronization with said identified corresponding segment of said second database to form a post-latency out of synchronization state; and re-synchronize, in response to said post-latency out of synchronization state, said identified segment of said first database with said identified corresponding segment of said second database during dynamic operation of said first database and said second database.
-
Specification