US 12,423,199 B2
Systems and methods for synchronizing between a source database cluster and a destination database cluster
Ryan Chipman, Westwood, MA (US); Lingzhi Deng, Jersey City, NJ (US); Tim Fogarty, Amsterdam (NL); Max Jacob Hirschhorn, New York, NY (US); Samyukta Lanka, New York, NY (US); Judah Schvimer, New York, NY (US); Andrew Michalski Schwerin, Providence, RI (US); Randolph Tan, Astoria, NY (US); and Mark Porter, Seattle, WA (US)
Assigned to MongoDB, Inc., New York, NY (US)
Filed by MongoDB, Inc., New York, NY (US)
Filed on Jun. 5, 2023, as Appl. No. 18/329,043.
Claims priority of provisional application 63/349,336, filed on Jun. 6, 2022.
Claims priority of provisional application 63/349,392, filed on Jun. 6, 2022.
Prior Publication US 2023/0393958 A1, Dec. 7, 2023
Int. Cl. G06F 16/00 (2019.01); G06F 11/20 (2006.01); G06F 16/23 (2019.01); G06F 16/27 (2019.01); G06F 16/28 (2019.01)
CPC G06F 11/2041 (2013.01) [G06F 16/2365 (2019.01); G06F 16/2379 (2019.01); G06F 16/27 (2019.01); G06F 16/285 (2019.01)] 18 Claims
OG exemplary drawing
 
1. A system comprising:
at least one processor configured to execute one or more first operations to replicate one or more associated partitions of data from a source database cluster to a destination database cluster, to monitor a respective change stream comprising data indicative of a change of data in the one or more partitions associated with the replicator, and to execute one or more second operations to translate the change of data to one or more database operations to be performed to the destination database cluster;
wherein the execution of the one or more first operations to replicate associated one or more partitions of data is interleaved with the execution of one or more second operations to translate the change of data to one or more data base operations;
wherein each of the source database cluster and the destination database cluster is a shard cluster comprising multiple shard servers hosting multiple shards of data;
wherein the at least one processor is configured to:
replicate data on a respective subset of the source database cluster to the destination database cluster; and
replicate data from a first subset of the source database cluster to the destination database cluster at least partially in parallel with replicating data from a second subset of the source database cluster to the destination database cluster.