Why go the more pricey/complicated route?
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.
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.
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.
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".
It's free, probably faster in many cases and several times simpler than any alternative.
Just keep unattended-upgrades do the important updates without any manual labors.
Development - Single node, 1x shared CPU, 256MB RAM, 1GB disk
https://fly.io/docs/about/pricing/#postgresql-clusters https://fly.io/docs/reference/postgres/
2 free 500MB PostgreSQL db's, paused after a week of inactivity
Planetscale has a similar offering with mysql compatibility but I've not tried it.
Someone else mentioned Fly.io, have a look at Render too.
> free databases are deleted [after 90 + 14 days]
> (unless they are upgraded to a paid plan)
1,90 €/month with a TLD included. Won't get much cheaper for a "carefree" solution.
- 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'm also super interested in Cloudflare D1, looking to get my hands on it and try it out.
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.
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.
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.
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.