{
  "id": "azure-cosmos-db-vs-google-cloud-firestore",
  "ids": [
    "azure-cosmos-db",
    "google-cloud-firestore"
  ],
  "title": "Azure Cosmos DB vs Firestore: document APIs, access and capacity",
  "heading": "Azure Cosmos DB vs Firestore",
  "kicker": "Database software comparison",
  "deck": "Compare Cosmos DB and Firestore for document-backed applications, SDK and API scope, partitioning, free allowances and consumption costs.",
  "description": "Compare Cosmos DB and Firestore for document-backed applications, SDK and API scope, partitioning, free allowances and consumption costs.",
  "answerHeading": "Which database approach fits the workload?",
  "answer": "Consider Cosmos DB when its selected NoSQL account, capacity model and Azure integration fit the application. Consider Firestore when its selected edition, interface and application SDK workflow fit the project. Compare the exact APIs rather than assuming all document services behave alike. Client access, real-time updates, recovery and free quota all depend on the retained configuration.",
  "checkedAt": "2026-10-15",
  "researchTag": "Data model, application fit and operating scope",
  "researchLimit": "Official product, pricing and technical documentation reviewed. These are proposed evaluation briefs, not completed migrations, performance benchmarks or reliability measurements.",
  "datasetDescription": "Seven application and buying differences, four proposed database exercises and four acceptance checks for Azure Cosmos DB vs Firestore.",
  "type": "workflow-buying",
  "rows": [
    [
      "Selected service",
      "This brief focuses on Cosmos DB’s NoSQL document service",
      "Specify Firestore Standard or Enterprise and database mode"
    ],
    [
      "Application interface",
      "Confirm the intended API, SDK and account",
      "Confirm the intended edition’s API, SDK and client capabilities"
    ],
    [
      "Data design",
      "Partition-key and query design remain application work",
      "Document, collection, index and query design remain application work"
    ],
    [
      "Capacity",
      "Provisioned, autoscale and serverless arrangements differ",
      "Edition-specific operation or unit charging plus storage and transfer"
    ],
    [
      "Access control",
      "Define application identity and effective database permissions",
      "Define client or server identity and effective access controls"
    ],
    [
      "Free boundary",
      "Eligible provisioned account; free tier excludes serverless",
      "Limited eligible free quota; certain recovery features require billing"
    ],
    [
      "Regional scope",
      "Specify regions, consistency and recovery requirements",
      "Specify location, edition and recovery requirements"
    ]
  ],
  "scenarios": [
    {
      "name": "A private record",
      "question": "Can one user read only their allowed documents?",
      "left": "Implement the actual application and database identity path.",
      "right": "Implement the actual client or server identity path.",
      "note": "Test a copied document identifier and a list query with two isolated accounts."
    },
    {
      "name": "An application update",
      "question": "How does an edited record reach another authorised session?",
      "left": "Exercise the proposed SDK and update-delivery implementation.",
      "right": "Exercise the selected edition and SDK update workflow.",
      "note": "Specify the actual behaviour instead of inferring real-time or offline support from the database name."
    },
    {
      "name": "A new query",
      "question": "What work and usage does a new filtered screen require?",
      "left": "Inspect the partition and index approach and request-unit demand.",
      "right": "Inspect required indexes and the selected edition’s operation charging.",
      "note": "Keep the same authorised result and query frequency."
    },
    {
      "name": "A recoverable deletion",
      "question": "Can a sandbox record or database be recovered as required?",
      "left": "Use the purchased account and recovery configuration.",
      "right": "Use the purchased backup or recovery feature scope.",
      "note": "Free access to ordinary operations does not prove recovery is included."
    }
  ],
  "exampleTable": {
    "caption": "Proposed acceptance checks for an authorised evaluation; no measured product result is implied.",
    "headers": [
      "Requirement",
      "Proposed exercise",
      "Accept when"
    ],
    "rows": [
      [
        "Data boundary",
        "Attempt cross-account record and list access",
        "Unauthorised documents remain inaccessible"
      ],
      [
        "Update workflow",
        "Edit a record across two allowed sessions",
        "Observed behaviour meets the written application brief"
      ],
      [
        "Query scope",
        "Add the same filtered application screen",
        "Indexes, partition assumptions and usage are understood"
      ],
      [
        "Recovery",
        "Exercise a permitted sandbox recovery scenario",
        "Required data and app access can be restored under the retained offer"
      ]
    ]
  },
  "sections": [
    {
      "id": "api-scope",
      "title": "Choose the API before choosing the quota",
      "navLabel": "API and SDK scope",
      "paragraphs": [
        "Firestore now has Standard and Enterprise editions with different query and compatibility scope. Cosmos DB account and API choices also matter. Record the exact interface used by the application and the features it depends on.",
        "For direct client access, inspect authentication and effective record permissions. For server access, inspect the server’s credentials and authorisation logic. A successful administrator query does not validate the user boundary."
      ]
    },
    {
      "id": "free-cost",
      "title": "Free allowances cover different things",
      "navLabel": "Free and paid scope",
      "paragraphs": [
        "Cosmos DB’s documented free tier applies to an eligible provisioned account and is not available for serverless. Firestore’s free quota has database and usage conditions, while backup, restore and point-in-time recovery require billing.",
        "Model the actual read, write, query, listener or update-delivery workload, storage and transfer in the selected editions. Include regional and recovery requirements before comparing a small free prototype with production."
      ]
    }
  ],
  "faqs": [
    {
      "question": "Does Cosmos DB free tier apply to serverless accounts?",
      "answer": "No. Microsoft documents the free tier for eligible provisioned accounts; serverless is excluded."
    },
    {
      "question": "Are Firestore Standard and Enterprise interchangeable?",
      "answer": "Do not assume that. The editions have different query, compatibility and billing scope; validate the actual SDK and API requirements."
    },
    {
      "question": "Does a free database quota include every backup and restore?",
      "answer": "No. Check the exact service. Firestore specifically lists backup, restore and other recovery features as requiring billing."
    }
  ],
  "sources": [
    {
      "url": "https://azure.microsoft.com/en-us/products/cosmos-db",
      "facts": "Managed document service with partitioning, regional and consistency choices."
    },
    {
      "url": "https://learn.microsoft.com/en-us/azure/cosmos-db/free-tier",
      "facts": "Eligible provisioned free-tier account boundaries; serverless excluded."
    },
    {
      "url": "https://cloud.google.com/products/firestore",
      "facts": "Standard and Enterprise editions, application SDKs and managed document service scope."
    },
    {
      "url": "https://cloud.google.com/firestore/pricing",
      "facts": "Eligible free quota, operation and storage charging, and billable recovery features."
    }
  ],
  "relatedLinks": [
    {
      "path": "/categories/database-software/",
      "title": "Explore database software"
    },
    {
      "path": "/guides/database-models-search-documents-graphs-analytics/",
      "title": "Choose a database model for search, documents, graphs and analytics"
    },
    {
      "path": "/guides/database-managed-vs-self-hosted/",
      "title": "Compare managed and self-hosted database responsibilities"
    }
  ],
  "downloads": [
    {
      "path": "/downloads/azure-cosmos-db-vs-google-cloud-firestore-evaluation.csv",
      "title": "Download the database evaluation checklist (CSV)",
      "description": "Four proposed checks with blank evidence and owner fields. Record the exact version, edition, region, deployment and workload used."
    }
  ]
}
