Which Cosmos DB API to choose: NoSQL vs MongoDB vs Cassandra vs Gremlin vs Table

Verdict: Default to Cosmos DB for NoSQL for new apps. Otherwise match the API to the workload you are migrating from (MongoDB, Cassandra, Table Storage) or to graph data (Gremlin). Workloads needing complex multi-table joins belong in Azure SQL Database.

CriterionNoSQLMongoDBCassandraGremlinTable
Data modelJSON documents, queried with SQL-like syntaxMongoDB-compatible BSON documentsColumn-family; rows in a table can differVertices and edges (graph)Key-value pairs by PartitionKey and RowKey
Choose whenBrand-new app; no existing database to matchMigrating an existing MongoDB app with minimal code changesMigrating an existing Apache Cassandra app with minimal code changesConnections between entities matter as much as the entities, e.g. a social networkMigrating an existing Azure Table Storage app for more scale and autoscale

Rules

Traps