Hacker News new | ask | show | jobs
by ohstopitu 3136 days ago
I think that there are various reasons to pick DBs.

Blindly picking a SQL DB (mysql/postgres etc.) is quite expensive from the get-go (a production ready mysql/postgres would cost ~30$/m).

Mongo costs ~$10/m (MongoDB Atlas), Google's Datastore is Pay as you Go (so your initial cost is close to $0 till you get paying customers), AWS's DynamoDB is similarly priced as well.

Sure, sadly all those noSQL solutions get really expensive as your usage goes up to normal non-webscale proportions, but at that point you have the $ to invest in a SQL solution.

The above was mentioned with bootstrapped startups/services in mind. Not your usual million funded valley companies.

2 comments

$30/month doesn't seem "quite expensive" to me, not if it saves you a single hour of developer time each month. If that is breaking the bank then you're already in trouble. In the case of a company in heavy development mode you can run the database locally or on a cheap $5 VM. Databases are pretty easy to migrate around when they're not in production and can be taken offline.
Hmm, how are you deploying things that a database costs $30/m? I just put it on the same server as the application worker and split it off if I need more performance later.
I'm personally a fan of: https://www.heroku.com/postgres

Since it's free below 10K rows and only $9 for 10M. And, the dataclips feature always comes in handy.

maybe I'm doing this wrong, but if I use RDS / Cloud SQL / Compose etc - a normal base cluster + another failover cluster + hourly/daily backups (based on your release schedule) all add up to around 30 - 50 based on various cloud providers.
Hmm, can't you just install a database on one of the servers and later migrate to one of the managed datastores if you need it? That migration should be pretty simple with minimal downtime.
You can start with one server with postgres installed on it and when you need to scale to multiple application servers, you can run postgres on another server.

For backing up postgres, all you have to do is setup a cron job that backs up the postgres' data directory to S3/Google Drive/Dropbox every hour/day.

If you want proper replication and failover then you can probably use 2 digital ocean droplets each for $5/month and another $5 VM for the application server itself.