Why do developers choose different types of databases?
An intro to how companies like Elastic, MongoDB, Snowflake, Confluent and AWS compete.
Last updated: May 11, 2025
You wouldn’t think there’d be so much fanfare – and such colossal budgets – around data storage. And yet there are 6 public companies in the U.S. that have built billion+ dollar database businesses, from $ORCL to $ESTC to $SNOW. Not to mention the public clouds that sell database products ($AMZN, $GOOG, $DOCN, etc.), plus supporting tooling for infrastructure ($DDOG, $NEWR, etc.).
How should you understand the differences between all of these seemingly similar databases? What do developers actually use databases for anyway? And why would one be better than another?
This post will run through everything that an investor needs to know to effectively understand the difference between different databases and how they’re positioned in the market. So far in this category, we’ve covered Elastic , MongoDB , Snowflake , and Confluent , plus AWS .
If you’re still getting up to speed on what databases are, you’ll want to read Technically’s beginner's guide to databases. We also have more in depth posts on a few of the categories listed there, like production databases,relational databases, NoSQL databases, and more.
You can also refer back to the database database if you like having a cheat sheet.
Terms Mentioned
Companies Mentioned
What developers use different databases for
There’s an incredible diversity of database use cases, and it can get overwhelming to understand them all. Why would you use Redis for this? Couldn’t you just use Postgres? Do I need a Vector Database ?
If you’re trying to understand a new data store, or the difference between two, ask these two questions.
How does the data get used?
The first question to ask is: what’s the point of this data in the first place? What apps does it power, what does it help a developer accomplish? Is it for:
A SaaS-style app, like Gmail or Salesforce? This is a production database , and you have many options, from relational databases like PostgreSQL and MySQL to NoSQL platforms like MongoDB or Firebase.
Long analytics queries from a data team? This is a data warehouse , and you might be picking between Snowflake, Redshift, BigQuery, and Clickhouse.
A real-time credit card fraud detection system? This could be any combination of things, including an in-memory database like Redis, a streaming solution like Kafka and Confluent, and an operational data store like Materialize.
A RAG pipeline for a Large Language Model? This could be a dedicated Vector Database like Pinecone, or one of the large platform databases like PostgreSQL (with Timescale, perhaps).
Typically, earlier in a company lifecycle, they’ll have a simpler, smaller set of use cases. Any company with a web application is going to need a database to store their user and app data. Then maybe as they grow, they add a data team who is curious about analytical trends over time. At huge scale, they want to start checking for payment fraud. It’s mostly larger companies who have many of these use cases at once. This is why it’s not always MongoDB vs. Redis for a large organization: they could conceivably be using a dozen different databases for different use cases all at once.
It’s important to note that you can use a regular old relational database for all of these things – it just won’t work as well as dedicated solutions. PostgreSQL can be a data warehouse, and was for many years; but analytics is important enough to most companies to pay up f...