loading...
Cover image for Is there such thing as a truly free cloud database?

Is there such thing as a truly free cloud database?

micahlt profile image Micah Lindley ・1 min read

I'm building a news platform powered by Vercel's Serverless Functions. Posts are to be stored in some kind of database where Vercel's functions can retrieve and return the data. However, as far as I can tell I'll need to use a database outside of Vercel as they don't support long-term data.

So in a word, I'm looking for a free cloud database with a simple API that has:

  • No request limits
  • High storage limits, or none

Have any of you found a service like this? If you have, I'd love to take a look and see if it would work for me. Currently I'm using Google's Cloud Firestore which is convenient, but its limits on the free Spark plan are very restrictive.

Discussion

markdown guide
 

I have two suggestions. You can go with Prismic since you don't need a complex database structure as far as I understand. But, if you want more control over what you do, you can use MongoDB Atlas. Both have generous quotas for free tier.

You can look at: Using Prismic with Next.js.

 

Thanks so much! I'll definitely check those out!

 

Remember to verify if the service offers a write API. At the moment, Prismic doesn't. However, there are other API based CMSs, like Storyblok, which do.

Good luck!

 

Check out Supabase. It's in alpha, but it's completely free - no limits. The database is a full Postgres instance so you can hammer it as much as you want

 

Wow, sounds great! Thank you so much!

 

No request limits
High storage limits, or none

It seems unrealistic that this would truly exist for free with no strings attached. I'd say your best bet is to find a way to get x free credits from one of the cloud providers. There are often promos around these sort of things that can go a long way.

 

Thanks Ben! You really never know if this kind of stuff exists though. For example, why does GitHub offer unlimited file space and unlimited reads and writes? They could make devs pay for that but they just don't. Thanks for the advice though, I'll definitely investigate that. 👍

 

Check out AWS DynamoDB
Its a NoSql database service by Amazon. It has really generous free tier limits and good performance too.

  • 25 GB of storage(approx)
  • 25 Writes/Read per second capacity.

If you are storing posts from Vercel, you can allocate the full read/write capacity to just one table, or you can distribute that capacity across multiple tables.
Note:
You would have to use aws-sdk to connect to DynamoDB directly without using API Gateway for zero charges.

Also storing data in table incurs zero data transfer charge, but pulling out data from table to does. The free tier limit for data transfer(out) is

  • 15 GB/month for first year
  • 1 GB/month afterwards
 

25 ops/s? You could get that hosting something at home on an old box. An app could hit that with a single page load on one client.

 

I've actually looked at hosting the server on my own machine, but I've decided not to open up my home network to potential invasion. 😃

 

I know. But, you've got 25 GB of storage.

It doesn't matter how much it is if you can't access the way you need to.

I don't know about you but writing 25 entries to a table in one second is pretty good for me. I can store 25 articles in 1 second without paying a cent.

Writing is going to be pretty asymmetric, and 25 should be fine, except perhaps for the initial load. Reading though is going to be more problematic. One place I worked the initial page load was ~100 database reads.

You are right. Almost all databases are read heavy, rather than write heavy.
For a real database load that's exposed to public reads, you need to handle the scaling, or in other words, pay up.

 

Just rent a cheap general purpose vps and install any database system you want on it. I find 5$ VPSes to be good enough.

 

Why do you think something like this would even exist?

I'm going to make an argument by bringing this to a ridiculous extension. Let's suppose a service like this does exist. What would prevent Amazon from moving to it, cutting their database infrastructure costs to zero?

Quite obviously, no one would be willing to support Amazon for free, so there has to be limits. You just need to figure out what ones are acceptable to you. I agree with Ben below. You also might just want to get one of the providers and set a billing limit for what overage is worth to you (say alert at $5, stop at $10). "Not free" may still be in a hobbyist range, with the free tier plus a coffee or two.

 

Have you checked FaunaDB? It offers a generous free tier, with up to 5GB storage.

 

I would myself be interested in knowing such a service, I don't think one such service truly exists.
Few things I've tried, may be they fit your use-case:

  1. Using Herokuapp - Postgres 10K rows limit on Hobby Addon: elements.heroku.com/addons/heroku-...

  2. Cloudflare worker with KV store. - Limits: developers.cloudflare.com/workers/...

  3. Decentralised protocols like IPFS, DAT which are also available over JS and HTTP protocols via gateways, this enables them to work on regular web-browsers etc.

I am happy to spend some time with any of the above to help you come up with a reasonable Proof of Concept.

 

Thanks! I'll definitely take a look at those.

 

You can try Mongo Atlas. I use it for many of my personal projects.
mongodb.com/cloud/atlas

 

You can choose one from here :db-engines.com/en/ranking
It's just a list but will surely help you with choosing db

 
 

FaunaDB has a generous free tier and is cloud-native. I've used it in several projects with success.

fauna.com/

 

Even there is such as thing, i don't think it will be secure or reliable.

 

You never know. I often cite GitHub as an example. Why do they provide unlimited repositories, unlimited pushes and pulls, and no storage limits?