Why start with a map
Ask five engineers which Azure database to use and you will hear old names: "Cosmos DB vCore", "Azure Cache for Redis", "Single Server". Some of those products have been renamed. Some are closed to new projects. A few no longer exist. If you pick one of them in a design review today, you can lose a quarter to a migration that was predictable from the start.
This level gives you a one-page map. Every Azure database service goes into one of seven groups. For each one you will note:
- the engine it is closest to
- its current name and any former names
- whether it is open to new projects, and if not, where Microsoft sends you instead
Think of it as a supermarket aisle map. Before you read labels, you need to know which aisle the product is in.
The map
| Group | Service (current name) | Closest engine | Former name / status |
|---|---|---|---|
| Relational | Azure SQL Database | SQL Server | Open |
| Relational | Azure SQL Managed Instance | SQL Server (near full instance) | Open |
| Relational | SQL Server on Azure VMs | SQL Server (you run it) | Open |
| Relational | Azure Database for PostgreSQL (flexible server) | PostgreSQL | Replaces Single Server, retired 28 Mar 2025 |
| Relational | Azure Database for MySQL (flexible server) | MySQL | Replaces Single Server, retired 16 Sep 2024. Also the target for Azure Database for MariaDB, retired 19 Sep 2025 |
| Relational | Oracle Database@Azure | Oracle Database (Oracle-run, inside Azure datacentres) | Open |
| Relational (SaaS) | SQL database in Microsoft Fabric | SQL Server engine | GA since Nov 2025 |
| Distributed SQL | Azure Database for PostgreSQL elastic clusters | PostgreSQL + Citus | Open; the successor below |
| Distributed SQL | Azure Cosmos DB for PostgreSQL | PostgreSQL + Citus | Not for new projects; retires 31 Mar 2029 → elastic clusters |
| Key-value & document | Azure Cosmos DB for NoSQL | Proprietary (JSON documents) | Was "Core (SQL) API" |
| Key-value & document | Azure Cosmos DB for MongoDB (RU) | MongoDB wire protocol | Was "API for MongoDB" |
| Key-value & document | Azure DocumentDB | MongoDB-compatible, open-source DocumentDB | Was Azure Cosmos DB for MongoDB (vCore); renamed 18 Nov 2025 |
| Key-value & document | Azure Cosmos DB for Table | Azure Table storage API | Was "Table API" |
| Wide-column | Azure Managed Instance for Apache Cassandra | Real Apache Cassandra | Open |
| Wide-column | Azure Cosmos DB for Apache Cassandra | Cassandra (CQL) wire protocol | Was "Cassandra API" |
| In-memory | Azure Managed Redis | Redis Enterprise | GA 19 May 2025 |
| In-memory | Azure Cache for Redis | Redis OSS | Retiring, see below |
| Graph | Azure Cosmos DB for Apache Gremlin | Apache TinkerPop Gremlin | Was "Gremlin API" |
| Time series | Azure Data Explorer (Kusto) | Proprietary columnar engine, KQL | Replaced Time Series Insights, retired 7 Jul 2024 |
| Migration | Azure Database Migration Service | n/a (a tool, not a store) | The classic SQL Server scenarios retired 15 Mar 2026 |
Gotcha: "Cosmos DB" is a family, not one database. The NoSQL, MongoDB (RU), Table, Cassandra and Gremlin APIs share the Cosmos DB account and its request-unit (RU) billing model. Azure DocumentDB was carved out of that family and now has its own name and a compute-plus-storage pricing model. When someone says "we use Cosmos", ask which API.
Gotcha: two Cassandras. Managed Instance for Apache Cassandra runs real Cassandra nodes for you. Cosmos DB for Apache Cassandra is Cosmos DB answering CQL. They behave differently under load and are billed differently. Later levels cover the details.
The retirements to flag
Azure Cache for Redis. Microsoft is moving everyone to Azure Managed Redis:
- Basic, Standard and Premium: creation was blocked for new customers on 1 Apr 2026 and for existing customers on 1 Oct 2026. The tiers retire on 30 Sep 2028.
- Enterprise and Enterprise Flash: creation was blocked on 1 Apr 2026. These tiers retire on 31 Mar 2027.
In practice, you cannot start a new project on Azure Cache for Redis today.
Azure Cosmos DB for PostgreSQL. It is no longer supported for new projects. The retirement notice of 30 Mar 2026 sets retirement for 31 Mar 2029 and points to elastic clusters in Azure Database for PostgreSQL. Both run on the same Citus extension.
Already gone: Single Server for PostgreSQL and for MySQL, Azure Database for MariaDB, and Time Series Insights. If a runbook or blog post tells you to create one of these, it is out of date.
Walkthrough: map your own subscription
Names in slides go stale. Names in Azure Resource Manager are what is really running. This query lists every database-type resource in a subscription. It uses Azure Resource Graph, so you need the resource-graph CLI extension.
# One-time setup: install the Resource Graph extension
az extension add --name resource-graph
# List database resources across the subscription, grouped by type
az graph query -q "
Resources
| where type in~ (
'microsoft.sql/servers/databases', // Azure SQL Database
'microsoft.sql/managedinstances', // SQL Managed Instance
'microsoft.sqlvirtualmachine/sqlvirtualmachines', // SQL Server on VMs
'microsoft.dbforpostgresql/flexibleservers', // PostgreSQL flexible (incl. elastic clusters)
'microsoft.dbforpostgresql/servergroupsv2', // Cosmos DB for PostgreSQL (retiring)
'microsoft.dbformysql/flexibleservers', // MySQL flexible
'microsoft.documentdb/databaseaccounts', // Cosmos DB (NoSQL, MongoDB RU, Table, Cassandra, Gremlin)
'microsoft.documentdb/mongoclusters', // Azure DocumentDB (ex-vCore)
'microsoft.documentdb/cassandraclusters', // Managed Instance for Apache Cassandra
'microsoft.cache/redis', // Azure Cache for Redis (retiring)
'microsoft.cache/redisenterprise', // Azure Managed Redis AND old Enterprise tier
'microsoft.kusto/clusters') // Azure Data Explorer
| project name, type, resourceGroup, location, sku = tostring(sku.name)
| order by type asc" -o table
The output will look something like this:
Name Type ResourceGroup Location Sku
------------- ------------------------------------- ------------- ---------- -----------
cache-legacy microsoft.cache/redis rg-shop uksouth Standard
amr-sessions microsoft.cache/redisenterprise rg-shop uksouth Balanced_B1
catalog-docs microsoft.documentdb/mongoclusters rg-shop uksouth
How to read it:
cache-legacyis on a retiring service. Add it to the migration backlog now.catalog-docsshows asmongoClusterseven though the portal now calls it Azure DocumentDB. The resource type kept its old name, so your templates and policies do not have to change.
Trade-off to remember:
redisenterprisecovers both Azure Managed Redis and the retiring Enterprise tier. Check the SKU to tell them apart.Balanced_B1is Managed Redis. A name likeEnterprise_E10is the old tier, which retires in March 2027.
Blind spot: SQL database in Fabric lives in a Fabric workspace, not in an Azure resource group, so this query will not find it. Oracle Database@Azure resources appear under the
Oracle.Databaseprovider; addor type startswith 'oracle.database'if you use it.
Key takeaways
- There are seven groups: relational, distributed SQL, key-value and document, wide-column, in-memory, graph and time series, and migration. Put a service in its group before you compare anything else.
- Azure DocumentDB is the former Azure Cosmos DB for MongoDB (vCore). Cosmos DB for MongoDB (RU) is a separate service that is still part of Cosmos DB.
- Azure Cache for Redis is retiring and new caches cannot be created. Use Azure Managed Redis.
- Cosmos DB for PostgreSQL is not for new projects and retires on 31 Mar 2029. Use PostgreSQL elastic clusters.
- Single Server (PostgreSQL and MySQL), MariaDB and Time Series Insights are already retired. Their successors are flexible server, MySQL flexible server and Azure Data Explorer.
- Check what is actually deployed with Resource Graph, and watch for resource types that kept their old names.