Comparison between Fauna and Mongo Realm?

Realm seems to offer all the get things done features of Fauna. Can a summary be provided of the differences please.

From my understanding Fauna is all about consistency, however consistency is only a practical concern when you have enough users and usage to justify it, at which point you are probably already rolling in the money and can hire a team to address consistency then.

Realm touts offline-first as a primary feature, yet I cannot find any information on Fauna about their offline support.

1 Like

Lets compare,
MongoDB Realm example

* (7,200,000 messages) * ((1 write + 3 reads) / message) = 28,800,000 requests
* (28,800,000 requests) - (1,000,000 free tier requests) = 27,800,000 requests
* (27,800,000 requests) * ($0.000002 / request) = **$55.60**

Fauna Equivalent:

(7,200,000 messages) * ((1 write + 3 reads) / message) =
7,200,000 Writes + 21,600,000 reads
(skipping free tier)
$18 for writes, $10.8 for reads. 
Sum - $28.8
TCO - compute units --??
Fauna transfer - Free

So without TCOs Fauna is 50% less.
I don’t know if TCOs will fill up remaining 50%.

Also Fauna FQL is functional kind of language rarely seen in DBs.
And storage is billed separately. At $25 M5 MongoDB you get only 5GB of storage.

The biggest difference i see is in free tier.
Mongo goes with 1,000,000 request free tier while Fauna is 100Kreads/50kwrites and 500K TCOs

2 Likes

They are very different…

Fauna is a serverless operational database accessed over an API, for storing and serving data that must be secure, highly available, consistent, and connected. We do not have out-of-the-box offline sync but you can use the temporality features for some of the same goals.

Realm is an embedded mobile database (like SQLite) that syncs to the cloud. Basically for local app storage with periodic backups. It runs on the client device so it cannot be secure, highly available, or scalable beyond the device boundaries.

You could easily use both of them in the same application if you wanted to.

To your other point, data consistency is key for productivity…you will have a hard time (as we did at Twitter) accomplishing anything else if you have to work around possible data corruption at every moment. I lived the experience you describe and I don’t recommend it. Simple things like guaranteeing unique usernames, managing inventory of digital goods, restricting access to private data, etc., shouldn’t be hard.

2 Likes

To me it sounds like Realm would be good for storing the actual data of a project like a collaborative notes app like Notion (where you go offline pretty often and don’t necessarily care about consistency until you reconnect), but Fauna would be good for managing the user account details?

Or, you could use a well-engineered, highly experienced json store/database on the client: PouchDB (CloudDB’s brother-in-JavaScript).

Mongo – not appealing here, on track record if that’s not gossip.

Liked the idea of the separation of powers, PouchDb on client, Fauna in the universe-reaching with dependability cloud.

So for 24 hours to 7 days offline, it will cost $150/month? What happens when they are offline for more than 7 days?

That depends on how you structure your data model; historical data older than 7 days will be removed, but the latest version of each record will always be available even if it’s older than 7 days.

Presumably in this scenario you would do a total cache refresh anyway and not rely on temporality.

Also, temporality is now available without limits in the free plan.