Device Sync and Edge Server are Deprecated

Yes, it’s actually deprecated now already and will be sunset in a year.

I’m interested in this, what problems did you have?

We have now spoken to several of the vendors suggested by MongoDB as well as a couple that weren’t on the list. Interestingly, none of the proposed partners for this issue currently support this.

So very clearly, Mongo have dropped a hot potato here with no actual plan, which is not good business.

Several of the providers are either in the process of building a solution or are planning to in the next 2 quarters.

I saw some people here suggesting Ditto would not entertain smaller projects, but based on my conversation with them this was not the case (although we aren’t small but in terms of spend, it isn’t near the numbers I’ve seen here). However, their MongoDB connector is unlikely to be ready before the end of Q4 and in our case, Flutter is unlikely to be supported before Q1 next year. So although they could be a viable option, it won’t be until perhaps March next year which would only give us 6 months to try and transition.

All of the providers I spoke to were incredibly helpful and did not try to ‘sell’ their service. They simply stated where they were at and how they believe this could be resolved.

For those who aren’t in a position to swap out their backend / MongoDB itself whilst also removing Device Sync / Realm, I would suggest having a conversation with both Ditto and PowerSync. ObjectBox is also a very viable solution but because of the systems we have in our backend, it seems unlikely that we can properly integrate with them at this stage (although I hope this changes).

Hopefully this helps a few people here.

2 Likes

Hello,

I just want to share this repository I made (I think there may be other options to do the same out there) to create dummy data using a MongoDB App Services (formerly known as Realm) schema.

The goal here is that if you need to test something and you need to create several documents with a fixed schema, you can use this CLI tool to automate this process.

I know there is a lot of tools to convert from a JSON MongoDB Schema to documents, however, this project is adapted to do the same with an App Services Schema.

The repo is located here: GitHub - josmanperez/realm-schema: CLI tool to create random documents out of Realm Schema with MIT license.

Cheers,

1 Like

We had several companies use MongoDB directly from their backend. Would that work for you? If not, it would be great if you could share the reasons to better understand user needs. Btw, ObjectBox also offers a GraphQL interface that should cover several use cases. If yours isn’t covered, we’d like to learn how we can improve.

Hi Marcus,

We are already in touch by email so I will respond to you there to not muddy this thread too much with things that are quite specific to our business.

1 Like

Hello there!

It’s been a while so my memory is a little fuzzy.

None of the libraries had validation on the database layer. Mongodb supports a BSON schema to provide validation.

In one or both using a string as the _id was basically impossible.

There were also compatibility problems with class validator and swagger but I don’t remember exactly.

Mapping to and from Objectid requires a conversion each time. We did it with class validator. There were problems when using plainToInstance but that is more of a class validator issue.

There were no automappers from entity to database model (at least none that we could find that worked in all our cases)

If you have any specific questions please let me know.

I double checked with the team, the Ditto Flutter SDK for mobile is scheduled to be feature complete, and released for Public Preview mid October 2024. It should bepossible to get started on integration work before Q1.

This is just to clarify, and be as transparent with the timelines as we can possibly be.

1 Like

how much does the sync cost

I asked many times for Ditto pricing, but they refused to give me plan pricing.
there is no transparency

They do not answer when you request plan pricing cost

This not my experience. They did give me an estimate but confirmed its TBD. Id suggest reaching out to them.

I found them to be quite transparent and open about where they are at.

1 Like

I don’t view .NET … It’s prospect?

thanks
Luigi

I haven’t received exact prices either, but it’s clear that if you have a dedicated mongodb server, you pay $x,xx for it… to stream data from your dedicated database you need stream processing which costs $0.19/hr, this will definitely increase your cost, now you have two mongodb services (the one that broke your legs) plus ditto, which really seems to be a friendly company comparable to mongo, at this point in the market. it also has its costs (even if they are still unknown)… so you can migrate your entire environment to ditto without using mongodb, using ditto’s big peer as the source of truth.
But I reinforce, Ditto is promising, but they are still in the process of turning their technology into a product, and in my experience the migration was great, but my use case is not dependent on mongodb.

I had to do a lot of code work to adapt everything and retest it, but in this situation you can’t escape, so throw up your hands and put on your developer hat as soon as possible.

My answer above on prices was that we’ll have adequate prices for the larger atlas device sync customer base, but if you really want to continue with integrated mongodb, prepare your pocket.

Ditto also has the premium option of integrating with a kafka and you integrate with other databases. but I didn’t go into that.

https://cdn.bfldr.com/2URK6TO/as/4ngjrpbb4m8zn3bv6rcx9hkq/MongoDB__Ditto_Reference_Architecture_Guide

see this document, you need new mongodb services to integrate with ditto.

Abandoning the mongodb database makes me lose a lot of internal control resources, but makes my users gain a lot more power. we need to be adaptable.

my luck is that i made the code as simple as possible, querying all the data and grouping it in a google functions function. this made the migration of the external endpoints not so painful.

some aggregates had to be deconstructed, but to be honest, I took the opportunity to optimize my code within the existing limitations, and it’s acceptable.

We wish we could offer .NET, but we have to focus on the MongoDB integration for now. Thus, we don’t have plans for .NET at this point.

Just to add my input here. I already responded on Reddit last month when it was first announced.

Like many others, I’d put significant effort into integrating Device Sync into an app.In this case, a cross-platform C++ audio plugin and application. I was literally a month or two away from launching a major update with synchronised data.

I’d been in close communication via GitHub and then messages with the main developer of the Realm C++ SDK. We even had a call with the Atlas Device sync representatives. I had planned to do a talk at the upcoming Audio Developer Conference about my journey with various synchronised database solutions, and how I arrived at RealmDB, with contributions from the Realm C++ developer. It was in fact him who informed me of the news.

As others have noted, I have little interest in MongoDB itself. I am not married to a database. SQL or NoSQL, whatever does the job. It’s the sync functionality that is most valuable to me. After this fiasco, as others have written, I’ve lost trust in MongoDB as a company.

For me, Couchbase Lite and Capella is the only current viable alternative. I’ll be porting my code over soon.

1 Like