Analysis updated 2026-08-14 · repo last pushed 2017-12-01
Migrate a MongoDB database to new hardware with minimal downtime using continuous sync.
Create a live backup database that stays up to date with changes from production.
Set up a separate MongoDB instance for analytics that mirrors your production data.
Archive a record of all database activity by copying the oplog without applying changes.
| qihoo360/mongosync | dk8827/ra-port | faldyrd/auto-2026 | |
|---|---|---|---|
| Stars | 155 | 157 | 157 |
| Language | C++ | C++ | C++ |
| Last pushed | 2017-12-01 | — | — |
| Maintenance | Dormant | — | — |
| Setup difficulty | hard | hard | easy |
| Complexity | 4/5 | 4/5 | 1/5 |
| Audience | ops devops | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Must be compiled from C++ source and explicitly must not use C++11 support due to compilation errors.
mongosync is a tool for copying data between two MongoDB databases. It was built by the database and infrastructure team at Qihoo 360 to move data from one MongoDB server to another, whether you are doing a full copy, keeping a destination database continuously updated with changes, or just archiving a record of what changed. The tool supports three main modes. The first is a straightforward data clone, which copies your existing records from a source database to a destination. The second goes further by also replaying the source database's "oplog" onto the destination, meaning any new writes, updates, or deletes happening on the source are applied to the destination in real time. The third mode simply copies the oplog itself without applying the changes, which is useful if you want to keep an archive of database activity without modifying your destination data. This would be useful for a team migrating a database to new hardware, creating a live backup that stays in sync, or setting up a separate database for analytics that mirrors production data. You can configure exactly what gets copied by specifying particular databases or collections, and you can even filter records so only certain data is transferred. It supports authentication on both sides, so you can securely connect to protected servers. In terms of performance, the team tested it by moving about 36 million records (roughly 1 GB of data) in just over six minutes, achieving around 96,000 operations per second. They note that the main bottleneck is how fast the destination database can write, so using multiple connections can speed things up if your target server can handle the load. The project is written in C++ and must be compiled before use, though the README notes it should not be compiled with C++11 support due to errors that arise.
A tool for copying data between two MongoDB databases, supporting one-time copies, continuous real-time syncing, and oplog archiving. Built in C++ for high-performance data migration and backup.
Mainly C++. The stack also includes C++, MongoDB.
Dormant — no commits in 2+ years (last push 2017-12-01).
The license terms are not specified in the repository documentation, so you should verify permissions before using this tool.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.