Types of Databases, With Examples and Their Limits
23 min read

Key takeaways
The main types of databases are relational (tables and SQL), document, key-value, wide-column, graph, time-series, vector, search, analytical and embedded. Two questions place most databases. What shape is your data?
And do you mostly make many small updates or run big reports? For business records with rules between them, start with relational. Each specialist type suits one job and has a named limit outside it, and a few products now cover more than one type.
- A database is an organized collection of data, and a database management system (DBMS) is the software that lets people and apps use it, per IBM's database guide.
- Sources can't agree on the count: IBM names six common types and two more under other types, Matillion's April 2025 page lists eleven, and AlgoMaster lists fifteen. Two questions place any database, whatever the count.
- Relational databases suit exact records and joins. Document, key-value, wide-column, graph, time-series, vector and search databases each suit one narrower job.
- Every type has a named limit. Key-value stores offer limited queries, for example, and a search index shouldn't be your primary store.
- Labels blur. PostgreSQL, Redis and Google Spanner each cover more than one type, so shop by the job you need done.
Every fact below comes from a product's own docs or from pages by Microsoft, Amazon Web Services (AWS) and International Business Machines (IBM). The counts of types come from the IBM, Matillion and AlgoMaster pages, and we read them on October 1, 2026 and checked them again on October 8, 2026.
Vendor facts come from each vendor's own pages, read on October 1, 2026. We did not run the other tools. Where a vendor makes a claim about speed, scale or uptime, we report it as the vendor's claim. If we found no published limit, we say so.
Types of databases at a glance
Each row gives the data shape, real products, the job it fits and its limit.
| Type | Stores data as | Example products | Good for | Named limit |
|---|---|---|---|---|
| Relational (SQL) | Tables of rows and columns | PostgreSQL, MySQL, SQL Server, Oracle | Orders, inventory, billing | Scaling out generally needs sharding (splitting data across servers) |
| Document | JSON-like documents | MongoDB, Azure Cosmos DB for NoSQL | Catalogs, profiles, content | Document size growth; narrower transaction scope |
| Key-value | One value per unique key | Redis, DynamoDB | Caches, sessions, carts | Limited queries; DynamoDB has no join |
| Wide-column | Rows grouped in partitions | Cassandra, HBase | Write-heavy telemetry | Key design up front; less query freedom |
| Graph | Nodes and relationships | Neo4j, Amazon Neptune | Fraud rings, social links | Not ideal for bulk analytical scans |
| Time-series | Timestamped values | InfluxDB, TimescaleDB | Metrics, events | Tag cardinality and retention cost |
| Vector | Lists of numbers (embeddings) | pgvector, Pinecone | Similarity search | Indexes trade some recall for speed |
| Search engine | Indexed text and fields | Elasticsearch | Full-text search, logs | Index is eventually consistent |
| Analytical (OLAP) | Columns, scanned in bulk | BigQuery, ClickHouse, Redshift | Reports over history | Built for heavy reads, not many small writes |
| Embedded | One local file | SQLite | Local data for one app | No separate server process |
Limits in the last column come from Microsoft's Azure Architecture Center page on data models and DynamoDB's docs. Example uses come from that page and each vendor's docs. Product names and licences were checked in October 2026. Vendors change them, so confirm on the vendor page before you buy.

Microsoft Azure Architecture Center, October 2026.
What is a database, and how do we sort the types?
IBM defines a database as a digital repository for storing, managing and securing organized collections of data. The software that runs it is a database management system (DBMS), though people often say "database" for both.
Most lists of database types mix two ways of sorting. Keep them apart and each later choice is easier to explain and to check.
- Data shape. Is your data tables, documents, key and value pairs, links between things, or readings over time?
- Workload. Do you make many small, fast changes (this is called OLTP, short for online transaction processing), or run big reports over lots of history (this is called OLAP, short for online analytical processing)? Our OLTP vs OLAP guide goes deeper on that split.
Microsoft's Azure Architecture Center guide makes the same point from the workload side. It says one data store rarely fits every access pattern.
So most production systems end up using more than one model. Microsoft calls that polyglot persistence, which is a fancy name for "different tools for different jobs."

Words that are not types
Some lists count "cloud database" as a type. It isn't one. That describes where a database runs, not how it stores data.
DynamoDB's docs, for instance, call it a serverless, fully managed NoSQL database. Serverless and managed describe how it runs.
"SQL" and "NoSQL" trip people up too. SQL is a query language, and MongoDB's NoSQL explainer calls NoSQL a database management approach, so the two aren't matching halves. We dig into that split below.
Relational databases
A relational database stores data in tables of rows and columns, and the tables link to each other through shared keys.
You read and change the data with SQL (Structured Query Language). Microsoft says relational stores enforce integrity and support complex joins.
They also support transactions that follow ACID (atomicity, consistency, isolation and durability) rules. In plain words, changes are all-or-nothing and stay consistent.
Examples are PostgreSQL, MySQL, SQL Server and Oracle. Our PostgreSQL vs MySQL comparison sets the first two side by side. PostgreSQL's About page calls it an open-source object-relational database system that extends SQL, and says its origins date back to 1986. Oracle's own pages now call its product Oracle AI Database.
Fits: order management, inventory, billing and any case with strict rules between records. Microsoft's own choice table sends "strict multi-entity transactions" to relational.
Named limit: Microsoft says horizontal scale generally requires sharding or partitioning.
CockroachDB is one example of a distributed SQL database. Its docs say it is built on a strongly consistent key-value store and that transactions use the strongest standard isolation level by default. We found no list of its limits on the pages we read, so we won't guess.
Document databases
A document database stores each record as a self-contained document, usually JSON, so related details can sit inside one document instead of in separate tables. MongoDB's manual says it stores data in flexible, JSON-like documents.
MongoDB is a common example. Microsoft also lists Azure Cosmos DB for NoSQL as a document store.
Fits: product catalogs, content management and profile stores. Each item has its own shape, and the app reads a whole item at once.
Named limit: Microsoft lists document size growth and selective transactional scope. It also says you need careful data shape design for high-scale queries.
Licence is worth a look too. MongoDB's server licence file is the Server Side Public License (SSPL), published by MongoDB, so read it before you adopt MongoDB.
Key-value databases
A key-value database stores one value against a unique key, like a locker number and what's inside. You ask for the key and you get the value back, and Microsoft says most key-value stores support only simple query, insert and delete operations.
Amazon DynamoDB and Redis are the usual examples. DynamoDB's docs say it supports both key-value and document data models, and that it provides ACID transactions.
Redis calls itself an in-memory data store. Its docs list roles as a cache, vector database, document database, streaming engine and message broker.
Fits: caches, sessions, shopping carts and feature flags. DynamoDB's own example is a shopping cart.
Named limits: Microsoft says changing part of a value means overwriting the whole value, and queries are limited. DynamoDB's docs say it has no join operator. So you copy data into the shape you read it in.
Check Redis's licence too. Its repository page lists three licences from Redis 8: the Redis Source Available License (RSALv2), the SSPL v1 and the Affero General Public License (AGPL) v3. Redis 7.2 and earlier remain under the 3-clause Berkeley Software Distribution licence.
Wide-column databases
A wide-column database keeps rows in partitions, and each row can have its own set of columns. Apache Cassandra says it implements a partitioned wide-column storage model with eventually consistent semantics. Eventually consistent means a read can briefly show older data after a write.
Microsoft names Cassandra and HBase as column-family examples and sends "wide, sparse, write-heavy telemetry" here.
Named limit: Cassandra's docs say all performant queries supply the partition key. Microsoft adds that you must design row keys and column families up front. Query flexibility is lower than relational, so plan your questions before you pick this one.
A naming trap: "columnar" is used for two different designs. Cassandra's docs call its model wide-column and say queries supply the partition key.
ClickHouse's docs call it a column-oriented database for analytical processing. Microsoft lists wide-column and analytics stores as separate categories, so don't treat them as interchangeable.
Graph databases
A graph database stores things (nodes) and the links between them (relationships). Neo4j's docs say it stores data as nodes, relationships and properties instead of tables or documents.
Neo4j and Amazon Neptune are the common examples. Neptune's docs say it supports the Gremlin and openCypher query languages, plus SPARQL (another query language for graph data).
Fits: fraud rings, social networks, knowledge graphs and supply chain dependencies, which are the graph workloads Microsoft lists. A typical question is "who is connected to whom, three steps out?"
Named limit: Microsoft says graph stores add overhead if relationships are shallow. They need careful modelling and are not ideal for bulk analytical scans.
Time-series databases
If your data is basically "a number and when it happened," this is your type. A time-series database stores values that arrive with a timestamp, such as metrics and events. Microsoft says these stores are typically append-only and built for high-volume ingestion and time-window queries.
InfluxDB's docs call InfluxDB 3 Core a database built to collect, process, transform and store event and time series data. TimescaleDB is a PostgreSQL extension for the same job, which Microsoft says Azure Database for PostgreSQL supports.
Named limit: Microsoft lists four points to watch: tag cardinality, retention cost, downsampling and specialized query languages. In plain words: plan how many unique tags you store and how long you keep the data.
Vector databases
A vector database stores embeddings, which are long lists of numbers that a machine learning model makes to describe text, images or other data.
You search for items whose numbers are close to your query's numbers. That's similarity search, and Microsoft lists semantic document search and recommendation engines among its uses.
pgvector adds this to Postgres and offers two index types, HNSW (a multilayer graph) and IVFFlat (lists of vectors). Pinecone's docs describe Pinecone Database as a managed database that brings full-text and semantic search together.
Named limit: pgvector's readme file says approximate indexes, which covers both HNSW and IVFFlat, trade some recall (finding every true match) for speed. Microsoft lists indexing complexity, storage overhead and latency versus accuracy as the considerations.
Measure recall on your own queries before you trust any vendor's speed claim.
Search engines
A search engine database indexes text and fields so you can run full-text queries and rank results by relevance, and Microsoft's strengths list is full-text queries, scoring and fuzzy matching.
Elasticsearch's repository page calls it a distributed search and analytics engine, scalable data store and vector database. Its repository licence file sets a default triple licence of AGPL v3.0 only, SSPL v1 and Elastic License 2.0.
Named limit: Microsoft says search indexes are eventually consistent and need a separate ingestion pipeline. Large index updates also cost more.
Microsoft also lists a search index becoming the primary data store as an antipattern. Our read: keep the source of truth somewhere else.
Analytical databases and data warehouses
An analytical database reads a mountain of data to answer one question, such as total sales by region over five years. Microsoft's guide to online analytical processing (OLAP) says OLAP databases are optimized for heavy-read and low-write tasks. ClickHouse describes itself as a column-oriented SQL database management system for online analytical processing.
BigQuery and Amazon Redshift are cloud platforms in this group. BigQuery's docs call it a fully managed serverless data warehouse. Redshift's docs call it a fully managed, petabyte-scale data warehouse service.
Those are the vendors' own descriptions. "Managed" does not tell you what your bill will be, so check each pricing page and run a small test on your own queries.
Named limit: Microsoft lists query latency for ad-hoc work and the cost and complexity of coordinating the feeding pipelines. AWS says most companies use online transaction processing (OLTP) and OLAP systems together. An OLTP database can be one source for an OLAP system.
In that set-up, the app that records sales sits on a relational store and the reports run on an analytical one.
Embedded databases
An embedded database runs inside your application instead of as a separate server. SQLite calls itself an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
Its code is in the public domain. It also claims to be the most widely deployed database in the world, which we did not check.
Named limit: the SQLite page says it has no separate server process. It adds, "Think of SQLite not as a replacement for Oracle but as a replacement for fopen()." So it is a file for one app. The same page lists a maximum database size of 281 terabytes.

SQLite's About page, October 2026.
Older and niche types
Some types sound like history, but a few are still around. Hierarchical databases store data as a tree of parent and child records, and IBM still sells one, the Information Management System (IMS).
It calls IMS a high-performance hierarchical database and transaction manager for z/OS. That is a current vendor product, so hierarchical databases are not gone.
Object-oriented databases appear on IBM's list of types. We did not verify a current product page for any, so we name none.
Ledger databases show how fast a niche can shrink. AWS's own Japanese-language migration post says support for Amazon Quantum Ledger Database (QLDB) would end on July 31, 2025.
AWS's Database Blog posted two guides on July 18, 2024 for moving QLDB ledgers to Amazon Aurora PostgreSQL. If a list still shows QLDB as a current example, check its date.
When one product covers several types
The labels above are useful, but products love to cross them. A database that fits one row today may add another row next year.
- PostgreSQL is relational, and extensions add vector search (pgvector) and time-series features (TimescaleDB).
- Redis lists cache, document database, vector database and streaming engine on its docs page.
- Google Spanner says it is one database that unifies relational, graph, key-value and search, with built-in full-text and vector search and a PostgreSQL interface. Its page also headlines "always-on" and "virtually unlimited scale". Those are Google's marketing claims, and we did not test them.

Microsoft's guide notes that one service may support several models. It advises picking the best-fit model and not mixing models in ways that make operations harder.
So don't add a new database just because a label is missing. Check first whether the one you already run does the job well enough.

Google Cloud Spanner overview page, October 2026.
Before you rely on this, ask Google for the published limits and the service level agreement that apply to your setup. Then test each model on your own job.
SQL vs NoSQL, in one paragraph
SQL is a query language, and NoSQL is a loose label for databases that aren't relational. IBM defines NoSQL as an approach that stores and queries data outside the traditional structures of relational databases.
MongoDB's NoSQL explainer lists two common misconceptions. One is that NoSQL databases don't store related data well, and MongoDB says they can, for example by nesting related data in one document. The other is that NoSQL databases don't support ACID transactions, and MongoDB says some, including MongoDB, do.
So "SQL or NoSQL" is a poor first question. Ask what shape your data has and what you do with it.
Which type should you pick?
The table below uses Microsoft's published heuristics, plus SQLite's own description for the embedded row, with the named limits from above.
| If you mostly need | Start with | Be careful about |
|---|---|---|
| Strict rules across several records | Relational | Scaling out needs sharding |
| JSON-like items that change shape | Document | Document size, narrow transactions |
| Simple lookups by key, or caching | Key-value | Limited queries, whole-value overwrites |
| Heavy, wide, write-heavy telemetry | Wide-column or time-series | Key design up front |
| Deep relationship questions | Graph | Weak at bulk scans |
| Timestamped metrics and windows | Time-series | Tag cardinality, retention cost |
| Similarity or semantic search | Vector | Recall versus speed |
| Full-text relevance | Search engine | Not a primary store |
| Reports over years of history | Analytical | Not for many small writes |
| A local file inside one app | Embedded | No shared server |
Start with a relational database when the work is strict records with rules between them, because Microsoft's choice table sends strict multi-entity transactions there. Add a specialist when an access pattern clearly diverges, as Microsoft puts it.
What practitioners say
The quotes below come from people who run these databases. We took short quotes from public threads and review pages, and we opened each page again on October 8, 2026 to check the words.
Each quote is one person's view. We logged no public threads for the graph, time-series, vector or search types, so we add none.
| Database | Praise | Complaint |
|---|---|---|
| PostgreSQL | PeerSpot reviewer, "PostgreSQL: Pros and Cons," March 2026: "very stable in my experience" | Hacker News, "Go ahead, self-host Postgres," December 2025: "And Postgres upgrades are not transparent." |
| MongoDB | Hacker News, "30 years of <br> tags," December 2025: "as a Dev I liked a lot about Mongo" | Same comment, December 2025: "I'd never want to admin it again" |
| DynamoDB | Hacker News, thread on the October 2025 DynamoDB outage: "The actual storage layer of DynamoDB is well engineered" | PeerSpot reviewer, November 2025: "you cannot essentially query with anything that you want from the table" |
| Cassandra | Hacker News, "The road to ACID transactions in Cassandra 6," August 2026: "it's getting way better" | Same comment: "The db isnt fun to run." |
| ClickHouse | PeerSpot reviewer, December 2025: "ClickHouse outperformed all databases we tested" | Same page, December 2025: "Too many issues exist for beginners to set up ClickHouse." |
The pattern fits the named limits above. Praise goes to stability and a well-engineered storage layer. Complaints are about upgrades, query freedom and the work of running the database.
The ClickHouse praise is one reviewer's own test result.
When data has to move between types
With mixed types, the data has to get from one to the other. Microsoft says most production systems use more than one storage model, so orders may live in a relational database, a cache in Redis and reports in a warehouse.
Change data capture (CDC) reads a database's own change log and copies each insert, update and delete elsewhere.
Support varies by product. DynamoDB's docs say it streams item-level change records through DynamoDB Streams. Cassandra's CDC feature rejects writes to a CDC-enabled table once its log reaches its configured size.
Where OLake Go fits
OLake Go copies a database into Apache Iceberg tables or Parquet files for analytics. The Apache Iceberg site calls Iceberg an open table format for analytic datasets, so analytical engines can query the copy. That fits the pattern AWS describes above, where an OLTP database is one source for an OLAP system.
Our docs list several sources from this post: the relational databases PostgreSQL, MySQL, SQL Server, Oracle and Db2, and the document database MongoDB. See the sources and sync modes table. All of them support full refresh and full refresh plus incremental sync. CDC (full refresh plus CDC, or CDC only) works for Postgres, MySQL and MariaDB, MongoDB and SQL Server.
OLake Go writes Iceberg tables to catalogs such as AWS Glue, Hive Metastore, JDBC (Java Database Connectivity) and REST (web API) catalogs (Nessie, Polaris, Unity, Lakekeeper, BigLake, S3 Tables and Snowflake Horizon, v0.11.0 and later), or writes Parquet files. See our catalog compatibility page. You run OLake Go yourself, and the quickstart shows the first sync.
Why other lists give different counts
We read several top-ranking pages. These differences explain why the counts vary.
- IBM and Matillion count "cloud" databases as a type. We treat that as a deployment style, not a data model.
- Time-series databases and search engines are missing from IBM's list of types, even though Microsoft treats each as its own category.
- AlgoMaster's list names Amazon QLDB as a ledger example, though AWS announced that QLDB support would end on July 31, 2025.
Conclusion
Ask two questions. What shape is the data, and what do you do with it?
Relational suits records with rules between them, such as orders and billing, and that is where Microsoft's choice table starts. Each specialist type earns its place at one job and carries one named limit, so read that limit before you commit.
Treat labels as hints. PostgreSQL, Redis and Spanner already cross them, and licences vary, as Redis, MongoDB and Elasticsearch show. Check the vendor's own page before you sign anything.
Pages we read
Page text from each source was read on October 1, 2026 and checked again on October 8, 2026. Pages not linked above, named so you can look them up:
- IBM's IMS product page
- Neo4j's graph database page
- The Amazon Neptune user guide
- The InfluxDB 3 Core docs
- The TimescaleDB readme
- The Pinecone overview
- The ClickHouse intro
- The CockroachDB FAQ
- Matillion's types of databases post
- AlgoMaster's 15 types post
- AWS's QLDB migration post
- AWS's OLTP and OLAP comparison
- Microsoft's OLAP guide
- IBM's NoSQL page
- MongoDB's manual and NoSQL explainer
- The PostgreSQL About page
- The Redis docs
- The DynamoDB Streams docs
- The Cassandra CDC docs
Test your database types basics
Question 1 of 4
Which of these is a real way to sort databases into types?


