tabteca
Sign in
ES EN

Free-tier databases: what to check first

Choosing a free database is not about comparing gigabytes. It is about inactivity pauses, project counts, concurrent connections and how you get your data out the day you want to leave.

When picking a database with a free plan, size in gigabytes is almost always the least important number. What decides whether the project still works in six months is something else: whether the database pauses when nobody is using it, how many projects you are allowed, how many concurrent connections it takes, and how easy it is to move your data somewhere else.

No small project fills a modern provider’s free storage. The other things, though, do happen — and they happen early.

Inactivity pausing is factor number one

Many free tiers suspend the database after a period without queries and wake it on the next one. For a project in development that is ideal: you don’t burn resources while you aren’t working. For a demo you show clients, or a project with occasional visitors, it is precisely the worst possible behaviour, because the first request after the pause is the one a person sees.

Before deciding, answer two questions: how long until it sleeps? and how long to wake? A one-second wake is a detail; a thirty-second one is a different product.

If your project has irregular but real traffic, prioritise a provider that doesn’t pause, even at the cost of storage.

Projects and branches: the limit you hit first

The second common stumble. It is normal to need at least three databases per project — development, staging and production — and many free plans give you one or two in total, for everything.

This is where providers diverge most. The ones offering database branching — cheap copies of the schema to work in parallel, in the style of Neon — solve the problem differently: instead of counting projects they count branches, which fits a pull-request workflow much better.

Check whether staging counts against the limit too. It usually does.

Concurrent connections, not queries

A limit that surprises anyone coming from their own server. Postgres reserves memory per connection, so free plans cap how many can be open at once. With a traditional server and its pool, this is invisible. With serverless functions — where nearly everything ends up today — each invocation tends to open its own, and the cap is reached on very little traffic.

The answer is a connection pooler, and the thing to establish is whether the provider includes one or leaves it to you. Providers like Supabase or Neon ship one; with others, it is your job.

If you are deploying to serverless or edge functions, this matters more than storage.

Which kind of database you actually need

It is worth pausing here, because picking the wrong family costs far more than picking the wrong provider:

  • Relational (Postgres, MySQL). The sensible default. If in doubt, this. Everyone understands it, the documentation is endless, and migrating between Postgres providers is realistic.
  • Document (MongoDB). Comfortable when the data is irregular and you don’t yet know its final shape. MongoDB Atlas has a permanent free tier.
  • Key-value / cache (Redis). Not the main database: the layer beside it, for sessions, queues and rate limits. Upstash charges per request, which suits small projects well.
  • Distributed SQLite. Interesting for fast reads close to the user, with Turso as a free-tier option. Less mature for write-heavy work.
  • Vector. Only if you are doing semantic search or retrieval for language models. Qdrant has a free tier. Otherwise, don’t complicate things.

The full list, with each one’s limits, is in data and backend.

Backups and exit

Two questions, both uncomfortable:

Does the free plan include automatic backups? Often not, or only for the last few days. If your project holds people’s data, this is not optional: set up a periodic dump yourself even if the provider promises something.

Can you get the data out without asking permission? With Postgres or MySQL the answer is yes by definition: pg_dump and done. With proprietary databases it depends, and that is where you find out whether you are choosing a provider or signing a mortgage. It is the same criterion we apply in the free-plan limits nobody reads.

A short method for deciding

Four steps, in this order:

  1. Pick the family based on the shape of your data, not on which provider is fashionable.
  2. Rule out by pausing if your project will get real visitors, however few.
  3. Check projects and connections against how you will actually deploy.
  4. Test the export on day one, with the database empty. It costs five minutes then and is impossible later.

And one note that holds for the whole directory: free plans change without notice. Each provider’s official pricing page beats any comparison, this one included.

Frequently asked questions

Which free database is best for starting a project? For most projects, managed Postgres. It is the most portable standard there is, documentation is abundant, and if the provider stops suiting you, you can move to another Postgres without rewriting the application. Choosing between specific providers depends more on inactivity pausing and project counts than on raw performance.

Can I use a free database in production? Yes, if the project tolerates what a free plan doesn’t guarantee: no availability commitment, possible pausing and limited backups. For an internal project, a demo or a product still validating its idea, that is perfectly reasonable. For something with paying customers, no.

What happens when I exceed the free storage? It depends on the provider: some block writes and allow reads, some suspend the project, and some charge the overage. That is the question to ask before it happens, because the three consequences are very different.

Do I need a vector database to work with AI? Not always. Postgres with the pgvector extension covers semantic search well for small and medium projects, and saves you one more service to maintain. A dedicated vector database earns its place when volume or latency stop fitting.

Is self-hosting the database better? Self-hosting removes the free-plan limit and adds the work of running it: upgrades, backups, security and the late-night calls. For a solo project, a managed service usually wins until the bill gets significant. What is worth doing is choosing something you could self-host the day you need to.

The directory is the other half of this

115 services with a genuinely free plan, each one with its limits spelled out. No sign-up needed to start looking.

Explore the directory

← All articles

Keep reading

5 min read

Web scraping: where to start

What web scraping is, when it beats an official API, and the five decisions that determine whether your scraper lasts a month or breaks on Tuesday.

ScrapingDataGuides

5 min read

Free scraping tools that hold up

The six pieces a scraper needs — HTTP client, parser, browser, queue, storage and alerts — and which options have a genuinely free plan for each.

ScrapingFree planGuides

5 min read

Free SEO tools for a small project

The seven pieces you need to measure and fix the SEO of a small project without paying anything, and what to check in each one's free plan before you set it up.

SEOFree planGuides