| CPC G06F 16/178 (2019.01) [G06F 11/0772 (2013.01); G06F 11/1658 (2013.01); G06F 16/128 (2019.01); G06F 16/1734 (2019.01); G06F 16/214 (2019.01); G06F 16/2322 (2019.01); G06F 16/2379 (2019.01)] | 17 Claims |

|
1. A computer-implemented method for syncing data from a first database accessible by a first computing system to a second database accessible by a second computing system, the method comprising:
receiving a first set of data change events occurring in the first database over a period of time, the first set of data change events possibly failing to include particular data change events occurring in the first database during the period of time;
storing the first set of data change events in a synchronization store, the first set of data change events corresponding to a first set of data records;
synchronizing the first set of data records from the first database to the second database, the synchronizing possibly failing to synchronize a failed subset of one or more data records of the first set of data records;
reviewing a bin log of the first database to identify a second set of data change events occurring in the first database over the period of time, the second set of data change events corresponding to a second set of data records;
accessing the synchronization store to retrieve the first set of data change events;
comparing the second set of data change events against the first set of data change events to determine a third set of data change events, the third set of data change events including at least the particular data change events, the third set of data change events corresponding to a third set of one or more data records;
determining the failed subset of one or more data records;
writing sync failure information regarding the failed subset of one or more data records to a failure store;
removing any data records of the failed subset of one or more data records from the third set of one or more data records; and
synchronizing the third set of one or more data records from the first database to the second database.
|