Limitations

These are current limitations of dsync— take note that these areas may require manual intervention or special consideration during your migration process.

General

DDL and Index Replication

Currently, dsync does not replicate Data Definition Language (DDL) statements or indexes from the source to the destination. This means that any database schema changes or index configurations must be handled separately to ensure they are correctly applied to the destination.

Conflicts on the Destination

Dsync does not manage conflicts on the destination system. If documents with the same _id already exist on the destination, they will be overwritten by the incoming data from the source. As a result, users need to take care when migrating data to avoid unintended overwrites.

Cosmos DB

Partitioning

Current data partitioning for Cosmos DB only works for collections with _id values of the ObjectId type. It works best when the values are evenly distributed through the lifetime of the collection, which is true for most applications.

vCore Cosmos DB

vCore Cosmos version only supported as a destination as it doesn't expose the ChangeStream API yet.

Number of namespaces

We cap the number of namespaces to 8 when Cosmos DB is used as a source. This is due to a performance impact that we observed with more than 10-15 parallel ChangeStreams. You can use namespace filtering to specify which namespaces to sync.

Replication Lag reporting

Since Cosmos DB change stream events don't expose any sequence number, we rely on an approximate client-generated sequencing mechanism. Due to its approximate nature, the reported replication lag might be greater than the actual value.

Last updated