The Blog

10 Free Cloud Databases You Should Consider (And 1 You Shouldn’t)

Calendar Icon 08.13.2021
aws-section-divider aws-section-divider

The rise in cloud databases has made it much easier to manage your data. With a cloud database, you pay somebody else to handle all the fiddly bits and you just write application code that stores data.

But what if you could skip the part where you had to pay?

More and more providers are offering free cloud databases, which give you a certain amount of free storage and throughput. Don’t mistake a free database for generosity — this is a sales tactic. Every free database has limits, and you have to pay to raise them. The business’ hope is that by the time you hit the limits, you’ll prefer to start paying than to go elsewhere. 

Free databases are fine for small or hobby projects, but don’t fool yourself into thinking they’re a solution that can grow forever. If you only need to store a moderate amount of data, you’re working on a hobby project, or you’re on a shoestring budget, you could try one of these free options.

1. Heroku Postgres

Heroku is a platform for running apps in the cloud, and you can run a free PostgreSQL database alongside your app. Postgres is a relational database that’s compatible with SQL. This is a great option if you’re running your app on Heroku, but it also works if your app lives elsewhere — you can connect to the database from outside Heroku.

The Hobby Dev plan gives you 1GB of storage and 10,000 rows.

Who it’s for: Heroku Postgres is a great choice if you want a relational database.

2. Heroku Redis

Heroku also lets you run a free Redis cluster alongside your Heroku apps. Redis is a key-value data store, often used as a cache or a message broker. As with Heroku Postgres, you can use Heroku Redis with an app on Heroku or connect to it externally.

The Hobby Dev plan only gives you 25MB of storage, the smallest amount on this list. But if your application fits, it’s a great choice.

Who it’s for: Look at Heroku Redis if a small key-value store fits your needs.

3. MongoDB Atlas

MongoDB is a key-value store that lets you store and retrieve rows as JSON documents. It’s a flavor of NoSQL database, so you don’t define a complete schema upfront — you just insert documents. 

MongoDB Atlas is a fully managed cloud version of MongoDB. The Shared plan gives you a single database with up to 5GB of storage.

Who it’s for: I’d try this if I wanted a key-value store that didn’t fit into Heroku Redis.

4. Oracle Cloud Free Tier

Oracle know a thing or two about databases, and it’s pretty generous with its Always Free cloud services:

You have to explicitly upgrade to a paid account, so you won’t get an unexpected bill. If you just want the Always Free databases, you never have to upgrade, and you’ll never pay a penny. If you want to test out the paid level of services, there’s a free 30-day trial period with $300 of credits, but anything you create is deleted at the end of the trial if you don’t upgrade.

Who it’s for: The generous limits and perpetually free databases make Oracle a compelling choice if you have a lot of data.

5. Neo4j Aura

If you’re one of the cool kids, you might have heard of Neo4j, a graph database. You can represent your data as a graph and store that graph directly, rather than squishing it into rows and columns.

You can get a fully managed cloud instance of Neo4j using Neo4j Aura. The Aura Free plan gives you a single database with up to 50,000 nodes and 175,000 relationships.

Who it’s for: Check out Neo4j Aura if you want a graph database.

6. DataStax Astra DB

Apache Cassandra is a popular database engine for write-heavy workloads like IoT telemetry and transaction logging. It doesn’t support ACID transactions or relational queries; don’t mistake it for something like MySQL.

You can run Cassandra in the cloud with DataStax Astra DB. You can sign up for the free tier without a credit card. You get $25 of credit a month, which gives you 40GB of storage and a generous amount of throughput (the exact amount varies by region and provider).

Who it’s for: This is worth checking out if your workloads are a good fit for Cassandra.

7. Google Sheets

A spreadsheet program might not look like a traditional database, but squint and the resemblance becomes clear. Data is stored in rows and columns, you can search and filter your rows, and there’s an API to access your data. It won’t scale as far or fast as other databases, but for small-to-medium apps, it’s more than sufficient.

Google Sheets shines when you’re working with non-technical stakeholders. Google’s collaborative editing is second to none, and a spreadsheet interface is more well-known than something like SQL. It dramatically lowers the bar to viewing, sharing, and editing your data.

You can also use Google Forms as a way to get data into your spreadsheet, which may save you the work of building your own front-end.

Who it’s for: Try Google Sheets if you want a simple database that’s easy for non-technical users to work with.

8. Airtable

Airtable is another database masquerading as a spreadsheet, but with more power than Google Sheets.

You create Tables, which you fill with data, similar to a spreadsheet. Then you can run queries and save them as Views. A View can be more than a simple spreadsheet — you can also arrange the data as a Gantt chart, a calendar or a Kanban board. You can enforce a schema with field types, attach files to a spreadsheet, and use a REST API to get data in and out. Like Google Sheets, there’s an interface for collaborative editing.

The Free plan lets you create as many databases as you like, with 1,200 records and 2GB of storage per database, or Base. Unlike Google Sheets, there are paid plans if you want more storage.

Who it’s for: Airtable is a good choice if you want a spreadsheet-like interface and room to grow later.

9. Microsoft Azure free account

If you’re a new Azure customer, you can sign up for a free account. This includes a mixture of services — some free forever, some for the first year — including several cloud databases:

A free Azure account also comes with a $200 credit to spend in the first 30 days, which you could use to pay for a database if you only need it for a short period.

If you start with an Azure free account, you have to explicitly opt-in to a paid account, so there’s no risk of surprise charges. You have to opt in to a paid account after 30 days; after that, your services stop working and data is deleted. If you do go for the paid solution, you can set up a spending limit to keep your bill manageable.

Who it’s for: This is a good choice if you want to learn how to use Azure.

10. Google Cloud Free Tier

If you’re a new Google Cloud customer, you can sign up for a free trial. This includes a $300 credit to spend in the first 90 days, which you could use to run a short-lived database.

You have to upgrade to a paid account after 90 days or when your credits run out; after that, your data is deleted. There’s no way to enforce a hard spending limit if you upgrade, so be careful about what you spin up — this could leave you with an unexpected bill.

The Google Cloud Free Tier includes 1GB of storage with Cloud Firestore, a NoSQL document database.

Who it’s for: I’d consider this if I wanted to get some experience with Google Cloud in particular. Otherwise, the risk of an unexpected bill from a paid account would cause me to look elsewhere.

You may be surprised that I haven’t mentioned the AWS Free Tier, even though it features no less than six database offerings, including DynamoDB and RDS. (Route 53 isn’t available in the Free Tier because it’s too valuable to give away.)

I’ve avoided mentioning it because the AWS Free Tier is free in name only.

The problems with the AWS Free Tier are numerous and well-documented. It’s easy to run up an unexpected bill, even for experienced cloud engineers. The “Free” databases all come with soft limits that you can accidentally exceed, and you only get a warning that you’ve spent money after the fact.

There are lots of good choices for a free cloud database, but AWS ain’t one of them.

aws-section-divider