What database would YOU use to build a new social app to (hopefully) scale to 100K users?

(Peter Alvin) #1

I’m new to this, but it seems to be that the least painful way to write an “offline first” social network app would be to use a auto-synching database like Google “Cloud Firestore” or Realm Object Server because I believe it would greatly reduce the amount of server-side REST or GraphQL programming.

The client-side React Native code would just be driven by local objects that would auto-persist to the cloud.

(BTW, I can’t use Realm because Realm Object Server [self-hosted, no less…] costs over $2,000 for 500 users… so getting to 100K would bankrupt me.)

Any feedback? What would YOU use? What is the current state-of-the-art or best practice? Seems every app developer immediately hits this architecture issue and has to pick something!

(Prasanna Mestha) #2

You can use firebase to host your front-end app. And as speed is an important factor, you can either use ReactJs or AMP for building your UI.

Additionally, for the back-end, I would suggest you to buy a VPS at AWS or digitalocean as they provide droplets at cheaper prices. With proper optimization, a VPS could handle 10,000+ real-time users at just ~$10 per month. This would cut down your costs drastically.

If you need any assistance, you could contact me at prasannamesta@gmail.com

(Bruno Lemos) #3

I work on a project that has more than 100k users.
We currently use postgres (on heroku) as the main database and firebase for the realtime chat (and some punctual realtime data). The database cost (including the replications) is around $3k/mo.

(Brunoreis) #4

There are also pouch and couchdb. And IBM cloudant.

(Christian Tucker) #5

This answer is much more realistic than saying “Use a shared VPS instance on AWS and slap a server application on it to scale forever.”

We also use the same tech stack, PostgreSQL on Heroku and Firebase for realtime communication. Heroku is not cheap though, but scaling to 100,000 active users doesn’t happen overnight. (Usually…)