I’m considering using Realm Sync for a new project, but I’m trying to understand if I’m misunderstanding the pricing.
If I understand the pricing (and that’s a big “if”), Firestore seems a lot more economical. Unless I’m missing something, the free tier seems far better on Firestore as well as the pricing after that (seems like it’s half the cost of realm sync).
Firebase Pricing https://cloud.google.com/firestore/pricingFirebase Prices for Requests
Reads $0.036 per 100,000 documents
Writes $0.108 per 100,000 documents
Delete $0.012 per 100,000 documentsData Storage = $0.108 / GB per monthLet’s say that averages out to around 0.072 per 100,000 requests (excluding deletes)
Realm Sync Pricing https://docs.mongodb.com/realm/billing/ $0.2 per 100,000 requests (effectively double if I’m reading it correctly).
Plus a sync cost of 0.00000008 / min.
Plus data transfer = $0.12 / GB
Seems like Realm double/triple charges for syncs (since it charges for the requests, sync time, and data transfer), and the cost per request being more than double than Firestore
I guess the biggest difference is with Firebase you’re going to be paying a monthly fee for storage but I think the requests will be the most costly aspect of most apps (I could be wrong). Beyond that, Firestore isn’t truly off-line first.
Check out the examples for example mobile product cost:
Firebase Example:
Realm Example (go-to mobile application section on the Realm Pricing Page above as I’m restricted in posting images or additional links)
The costs per request seem to be the big differentiator. The free tier seems to be more generous with Firebase as well. Am I missing something or is Realm significantly more costly when compared with Firestore?
I am not sure a comparison can be made between the two products as they serve different purposes.
Realm is an offline first database and all of the app data is persisted locally and syncing in the background when necessary. On the other hand, Firebase is an online first database and data exists in the cloud* and sync’s continually.
So while you can compare some numbers, the bottom line is that if you’re fetching Realm data that has already been sync’d it’s local and (essentially) $0 cost. Whereas if you’re fetching Firebase data it will pull from the server at a cost.
I would suggest evaluating how the app is going to be used - mostly offline first or online first and once you have clarity on that, comparing pricing would be more applicable.
*while firebase offers offline persistence, it’s designed for brief outages, like when a train disconnects as it goes through a tunnel.
Firestore pricing is based on reads/writes per collection and Realm has it per request. Doesn’t that make a big difference or am I missing something? From this point of view it seems that Firestore might be a lot more expensive if there is a need to read/write/delete multiple collections/documents.
For example - you want to execute query of 500 collections/documents.
So for Firestore this will count as 500 reads, but for Realm this will count as 1 request. Same goes for writes/deletes. Could you please confirm this?
So if this is correct, then it looks like Realm might be a lot cheaper when it comes to application that needs to query/modify/delete multiple collections/documents?