Partition based sync, transition to Flexible Sync?

I am migrating my app to MongoDb Realm/Atlas sync and just heard about Flexible sync.

Will there be a migration path from the partition based sync? Will you be able to use both strategies or do you need to choose?

In my app, each user has it’s own private data (where using userId as partitionKey would be a natural choice), but there are definitely other areas where collaboration in different ways would be a great opportunity.

Could I still use the partion based sync for private user data, and then use flexible sync for the more collaborative features? What gets me a bit worried is that it looks like Flexible sync is applied on the app configuration, so I guess that means they can’t be used at the same time?

For my case, the migration from a local realm app/custom sync to use Atlas for sync has already taken way longer than it should have for various reasons, and this adds new dimensions to the migration :wink: I want to get rid of the custom sync as soon as possible, but don’t want to build something that I will have to do a lot of work migrating away from straight away.

Flexible Sync development is still in the early stages and I would not expect a public Beta until the end of the year. Even after the Beta is launched we still could make breaking changes until it goes GA so it should not be used in production.

Once it does go GA we will offer some sort of migration but for right now we do plan to allow both Partition based Sync Apps and Query based Sync apps to function side by side. This is really far into the future right now so its difficult to give explicit guidance on how exactly the two systems will function side by side until we get closer. However, the migration to Flexible sync should be pretty straightforward since if you think about it, Partition based sync is essentially an equality match query on a string, int or objectId - ie. a really simple query.

3 Likes

Thanks @Ian_Ward!

So if I understand you correctly, then I shouldn’t be afraid to put my partition based sync into production then.

The first step is definitely just to get each users private data in there and this doesn’t require any fine grained permissions. Just doing this alone will have a lot of benefits (improved sync performance compared the current custom solution, better reliability, less code etc), but the features that require more fine grained permissions can definitely wait.

Totally understand that it is too early to give exact recommendations, just wanted to make sure I don’t get a lot of extra work down the line if I go live now :wink:

If you’re using query based/partial sync, does that mean you’re also tied to the legacy Realm Cloud (which will be shut down on Nov 1, 2021)?

Flexible Sync is a reimagining of query-based sync for MongoDB Realm and will continue as a supported implementation of the new product for many years into the future.

Take a look at the blog and demo here -
https://developer.mongodb.com/article/realm-flexible-sync-preview/

Are there any plans to continue Realm Cloud until GA of Flexible Sync?

@Harry_Netzer There are no plans to extend the legacy Sync Realm Cloud termination date.

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.