FAQs

What permissions do I need on the source or destination?

Simple read on the source and write on the destination should suffice.

For precise resume token creation on the source (highest consistency guarantee), write permission is necessary to inject a dummy record.

Can I write on the source while dsync is running?

Yes.

Can I stop dsync and resume later?

Yes, you can as long as you're using the -m option to store the metadata for the data flow, or using the Enterprise (Temporal-based) version. Then dsync will not repeat already completed tasks, and will automagically resume from the latest in-progress task. This is applicable both to the initial data copy and change-data-capture (CDC).

How can I restart the process from scratch?
  1. Delete the data on the destination

  2. Clean up dsync metadata by running it with the --cleanup option.

How fast is dsync?

Dsync offers several different load levels that allow users to control the internal level of parallelism when reading data from the source and writing to the destination. Outside of that, the sync performance will depend on the following factors: 1) Provisioned/available capacity of source and destination databases 2) Network bandwidth 3) Record/row/document size 4) CPU allocated to dsync

As reference data points, consider below:

  • 97GB migration with 55M documents and 200-500 writes/sec from Cosmos DB to MongoDB took 11 minutes

  • 334GB migration with 45M documents took ~1.5 hours

What security or auth options are supported?

Dsync uses regular APIs for connecting to source and destination databases, such as MongoDB Go Driver for MongoDB. All standard auth options are supported.

How do I start dsync in a highly-available configuration?

You can run it as a docker container with a sensible restart policy.

Docker?

For any other questions not included in this FAQ section, contact us in Discord.

Last updated