There are three components:
You can use each separately or together. So you can
Is this all correct? (Thank you)
Realm is an embedded, object-oriented database that lets you build real-time, offline-first applications. Its SDKs also provide access to Atlas App Services, a secure backend that can sync data between devices, authenticate and manage users, and run serverless JavaScript functions.
MongoDB belongs to "Databases" category of the tech stack, while Realm can be primarily classified under "Mobile Database". "Document-oriented storage" is the primary reason why developers consider MongoDB over the competitors, whereas "Good" was stated as the key factor in picking Realm.
Both a developer and a commercial edition was released, along with a business license for integrating with other database management systems such as PostgreSQL. In spring 2019, MongoDB acquired Realm for 39 million USD.
Atlas is the UI that sets up a database cluster, which you can connect to like any other via MongoDB Compass, etc. Use realm sync to create a synced realm that partitions your mongo db atlas database into a local realm and syncs data between the database and all clients who use it.
below are some notes for your questions. I'm just getting setup with MongoDB and Realm, myself.
Realm Database: Local Storage & Persistence
Correct - Client (on-device / local) storage
Realm Sync: Sync Realm Databases between clients and the Mongo DB Atlas
Somewhat confusingly, there's 2 different implementations of Realm Sync:
Mongo DB Atlas: A Cloud Database.
Correct - A database cluster + UI that is used in most tutorials to setup data models & database configuration.
Based on those understandings, you're correct that these tools can be used differently to have each of these setups. For instance...
Just store data locally with Realm Database and not sync it
Just normal old Realm for whatever client you need
Just store data on Mongo DB Atlas without using realm sync, using standard queries to access the data.
Any cloud MongoDB database provider. Atlas is the UI that sets up a database cluster, which you can connect to like any other via MongoDB Compass, etc.
Use realm sync to create a synced realm that partitions your mongo db atlas database into a local realm and syncs data between the database and all clients who use it.
MongoDB Realm with Sync (#2 above). For this, I've found the Task Tracker tutorial most helpful.
Hope that helps!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With