Hacker News new | past | comments | ask | show | jobs | submit login

I'd really like access to a tiny, almost free, sql database for personal projects.

The cheapest option here is $15 a month, and similar prices for other cloud managed dbs.

Heroku was nice and I guess is still a good option, but hard to make a usable site on their free tier because of start up time.

Then there's the interesting new option from Cloudflare, D1.

Currently I just run my personal project on AWS lambda + dynamodb. It's free, but using dynamodb for relational data is a little awkward.




Check out PlanetScale [0] (if you use MySQL). Their hobby tier is free and very generous. If you get to the point of needing more, $30/mo isn't bad for what you get. It's way better than Aurora Serverless V1 or V2 which I was super excited for but turned out to not be worth it all. It failed scaling so much that I had to crank it up before an event or it would never find a good "migration point" or whatever they called it. Aurora Serverless' marketing is straight lies and their pricing is opposite of what I think of when I hear "serverless", $45/mo per DB if you want a single instance in V1 or 0.5 of one in V2. At least V1 allowed you to scale to 0, they removed that in V2.

[0] https://planetscale.com/


You can spin up a $5/mo instance on any of the low cost cloud and install MySQL or whatever.

Why go the more pricey/complicated route?


While I agree with you, the answer is that some people don't want to manage the DB. This means patching the OS, patching the database, and making backups (with reasonable disaster recovery). While you could do all of this, many ask, "How much of my time will be spent DevOp'ing (like learning how to do it and then executing)?" If the number of hours is over some threshold, they might prefer to pay someone to do all of that.


I think people tend to overthink about running your own db.

There is nothing to patch manually. Security updates are handled automatically via "unattended-upgrades" for Ubuntu and when the OP says,

> tiny, almost free, sql database for personal projects

running "mysqldump" on a cron job sounds enough to me.

> with reasonable disaster recovery

You may send that dump file to any S3 based storage anywhere in the world for a decent disaster recovery. (Tools like restic allows automatic data rotation easily.)

Launching an instance (even use "MySQL" app instance cloud providers provide) and installing MySQL with 1 command, write a few lines of shell script to take a daily backup should take at most an hour.

Optionally, install Caddy web server and set up a few lines for PHP fpm or for other languages a single line to reverse proxy for automatic Let's Encrypt and your site is up. I'm sure there are plenty of tutorials on that.

Once things are up, there's nothing to manage. It gives you flexibility with lower price, not to mention gives you the little knowledge you likely want to have down the road.


100% agree ! When did "running your own db" became such a code-smell !?

Sure at the higher of traffic and usage you might want to outsource, but it's stupidly easy to get reasonable performance and security with the defaults or the most basic of configs.

You can actually learn a lot about db's (and become a better user of the db) by actually knowing what some of the configs do as well.


running your own db is not a code smell, it's a productivity smell if you're a one/two person startup - are you so good at running your own db that the people a cloud provider would put on the job would be definitely and probably significantly worse at it than you? If so, keep on with it, if not maybe consider if you can afford to have someone do it for you.


If like the original poster, I want to spend less than 15 dollars a month then I would be forced to run my own DB. If price is predominant you have to do it yourself.

I am not the OP but I setup a fairly expensive server to run my Postgres,redis,and other fire and forget processes. Now, five years later, I have never once had to login to change anything.

And thanks to that I saved thousands of dollars versus what I would have paid for a managed systems of the same performance so I could do all kinds of wild experimental projects that would’ve otherwise been too expensive.

The uptime has been phenomenal. We would have hit 5 years uptime, except briefly the data center caught fire resulting in a few hours of downtime.


This !


>are you so good at running your own db that the people a cloud provider would put on the job would be definitely and probably significantly worse at it than you?

Most of the time, I don't need to be as good or better then the cloud provider. I just need to "be good enough".


If they don't want to do any of that, spin up an SQLite db on a local machine and sync it to Google Drive (or equivalent).

It's free, probably faster in many cases and several times simpler than any alternative.


Ansible. Every morning I run two commands that are wrappers around "apt-get update" and "apt-get upgrade" that upgrade the entire fleet of servers I manage. They're the same two commands every morning and they're in my bash history. It's really not that hard.


You don't need to do that if you're satisfied with the current version. It rarely breaks but mostly it doesn't give you anything unless you needed the specific new version.

Just keep unattended-upgrades do the important updates without any manual labors.


Have you looked into fly.io? They have a very generous free tier for hobby level projects.

https://fly.io/docs/about/pricing/


even if the free tier is exhausted, their 1GB disk development PostgreSQL when billed is $2.09 per month. that's cheap.

Development - Single node, 1x shared CPU, 256MB RAM, 1GB disk

https://fly.io/docs/about/pricing/#postgresql-clusters https://fly.io/docs/reference/postgres/


There's also https://railway.app/ too. I find their free tier incredibly generous and I am using their managed postgres instance for my side projects (I am not affiliated)


https://supabase.com/pricing

2 free 500MB PostgreSQL db's, paused after a week of inactivity


Supabase developer here. Just to clarify, inactivity means "no api calls, no dashboard usage", so your project only gets paused if it's truly inactive for a full week. If you have an application with any sort of usage at all you should not get paused.


Do you have HA or replicas? Last time I asked I got no reply


Cockroachdb serverless is a pretty nice option too. Super easy to spin up an instance and get started since it's mostly postgres compatible.

Planetscale has a similar offering with mysql compatibility but I've not tried it.


I started this side project originally to answer that same question: https://www.dbaasreview.com/

Someone else mentioned Fly.io, have a look at Render too.


FWIW: https://render.com/docs/free#free-postgresql-databases

> free databases are deleted [after 90 + 14 days]

> (unless they are upgraded to a paid plan)


If you truly want small and quick, use SQLite as a proof of concept.


The more I've worked with sqlite, the more I've been impressed. Spins up as a file that can be put in source control. Supports SQL - all the basic stuff one might try to pull off with a small MySQL instance. The main gotcha is you get a single, local node. For most personal workloads, it covers the basics really well.


Take this: https://www.hetzner.com/webhosting

1,90 €/month with a TLD included. Won't get much cheaper for a "carefree" solution.


Webhosting is usually limited to PHP, and that looks to be the case here too.


- Supabase

- Fly.io

- railway.app

- render.com

- Oracle Cloud free tier

These are the services that I know of that you can get some kind of relation DB to run on for free


I have a similar desire, I'm considering trying out AWS' RDS Aurora Serverless v2. (ugh, that's a mouthful) Full Postgres/MySQL but extremely quick scale up and down so as long as you have small use, it shouldn't cost a ton.

I'm also super interested in Cloudflare D1, looking to get my hands on it and try it out.


Check out PlanetScale [0] (MySQL). It's free for hobby projects and then a flat $30/mo (+usage if you go over their very high limits). You can run your dev/qa/prod environment all on one "database" using their branches and you also get zero-downtime schema changes which is pretty sweet. I've been very happy with them so far.

I migrated from RDS Aurora Serverless V1 after being frustrated with the high prices (V2 is even worse) and the annoyance of sleeping DBs (for my dev/qa environments, I couldn't afford $45x3/mo). Now I get all 3 for only $30/mo and safe/easy schema migrations. It's been a joy to work with and their support has been very responsive. This week is a "launch week" for them so you'll probably see a few posts about it this week and I encourage you check them out if you are looking for scalable managed MySQL DBs.

[0] https://planetscale.com/


Aurora Serverless v2 doesn't scale to zero, though. Minimum capacity costs $43/month.


V2 is a garbage fire and that was before I knew it didn't scale to zero.

It doubles the cost of V1 and they have the gall to say:

> most Aurora Serverless customers can lower costs by moving to v2 due to a lower starting capacity of 0.5 ACU (vs. 1 ACU in v1)

Oh, why thank you AWS, how kind of you. I can go to 0.5? That doesn't matter at all, the price is the save as 1 ACU on V1.

D1 is interesting but if you want Serverless MySQL then check out PlanetScale [0]. It's free for hobby projects (it will turn off if you go 1 week with no activity) and then it's a flat $30/mo and you can have 2 production branches and 5 development branches. I've been very happy with them so far. The usage-based pricing is a little scary (I know I don't think in rows read/written) but the limits are super high and so far my usage has been barely a blip.

[0] https://planetscale.com/


Thanks for the heads up - I'm using Aurora Serverless v1 which isn't perfect - I guess I won't be jumping to v2 any time soon then.


Probably not super popular, but last I checked (a couple months ago), Oracle Cloud will give you up to 2 free Oracle Autonomous (managed) SQL databases and I think if you work the free storage / virtual CPUs right, up to 4 virtual servers that you can put other unmanaged dbs on with their free tier.


I tried to sign up for that from the EU and it was very painful; I didn't manage to get through it. That feels very much like Oracle though.


I think those can be MySQL if that matters, unfortunately no postgres.


Linode's shared-CPU VPS is $5/mo. You can easily run SQLite3 or MariaDB something else in there.


Why not just host it on a Raspberry Pi? May as well host the entire project on it. If your Internet provider doesn't let external clients directly access your connection, tunnel it through the cheapest VPS you can find. Or just host the whole thing on said cheap VPS.


> using dynamodb for relational data is a little awkward

It was not built to serve relational needs. You can bend it that way, though. Of course it will look like something that has been bent.


Lots of answers below but no one has yet asked what you want the db to do? Know nowing your specific needs will make it easier to give meaningful recommendations.


Supabase free tier is hard to beat. Worth checking out!


+ the client libraries are well documented and work great (on JS at least). Big fan of Supabase


In case anyone is wondering, you can use it as a straight-up "plain" PostgreSQL database if desired.


https://server.pro smallest VPS plan costs $5 and has one click installer for MySQL.


Same here - and particularly one that could serve multiple hobby projects, while using both dev and prod envs (so minimal cost could already be 2-3x).


Have you looked at planetscale.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: