# Infrequently accessed data stored in Azure Cosmos DB

Canonical: https://www.pointfive.co/efficiency-hub/inefficiencies/infrequently-accessed-data-stored-in-azure-cosmos-db

Azure Cosmos DB is optimized for low-latency, globally distributed workloads - not long-term storage of infrequently accessed data.

By: Chibueze Eke

Updated: 2026-09-28

[Cloud Efficiency Hub](https://www.pointfive.co/efficiency-hub) 

# Infrequently Accessed Data Stored in Azure Cosmos DB

The short version

Azure Cosmos DB is optimized for low-latency, globally distributed workloads - not long-term storage of infrequently accessed data.

[Chibueze Eke](https://www.linkedin.com/in/chibuezeeke/)

IT Consultant @ IT Consulting

Azure service

[Azure Cosmos DB](https://www.pointfive.co/efficiency-hub/cloud-services/azure-cosmos-db)

Category

[Databases](https://www.pointfive.co/efficiency-hub/service-category/databases)

Reference

CER-0142

Type

Suboptimal Tier or SKU

## Explanation

Why the waste happens and who it affects.

Yet in many environments, cold data such as logs, telemetry, or historical records is retained in Cosmos DB due to a lack of lifecycle management.

## Billing model

The pricing dimensions that drive this cost.

Cosmos DB charges include:

- Data storage billed per GB per month, across all regions where data is replicated

- Manual provisioned throughput (RU/s), billed per hour for the RU/s provisioned regardless of actual usage; autoscale is billed per hour for the highest RU/s scaled to (never below 10% of the configured maximum), and serverless is billed per RU consumed

- Backup storage billed separately (if configured)

- Serverless mode available, but subject to limitations on scaling and total RU consumption

Storing cold data incurs persistent storage charges and may inflate RU requirements unnecessarily.

## How to detect

4 checks to find it in your estate.

- Identify Cosmos DB resources (e.g., containers, collections, or tables) with high storage usage but low request volume

- Use Azure Monitor, diagnostic logs, or Azure Cosmos DB insights to assess read/write activity over time

- Evaluate whether the data is actively queried or needed for operational workloads

- Check whether data retention or lifecycle policies are defined for the resource

## How to fix

7 ways to remove the waste.

- Export infrequently accessed data to lower-cost storage services:

- Use Blob Storage Cool for rarely accessed but readily retrievable data

- Use Blob Storage Archive for long-term retention with delayed retrieval

- Use Azure Table Storage for simple key/value access when global distribution is unnecessary

- Delete cold data from Cosmos DB after successful archival

- Implement data lifecycle automation to routinely transition stale data out of Cosmos DB

- Set a time to live (TTL) on containers or items so Cosmos DB automatically deletes cold data after a set period once it is archived or no longer needed

## Documentation

Vendor references for pricing and configuration.

- [Azure Cosmos DB Pricing  azure.microsoft.com](https://azure.microsoft.com/en-us/pricing/details/cosmos-db/)

- [Plan and manage costs for Azure Cosmos DB  learn.microsoft.com](https://learn.microsoft.com/en-us/azure/cosmos-db/plan-manage-costs)

- [Create Containers and Databases with Autoscale Throughput  learn.microsoft.com](https://learn.microsoft.com/en-us/azure/cosmos-db/provision-throughput-autoscale)

- [Azure Blob Storage Access Tiers  learn.microsoft.com](https://learn.microsoft.com/en-us/azure/storage/blobs/access-tiers-overview/)

- [Azure Table Storage Overview  learn.microsoft.com](https://learn.microsoft.com/en-us/azure/storage/tables/table-storage-overview/)

- [Expire Data With Time to Live  learn.microsoft.com](https://learn.microsoft.com/en-us/azure/cosmos-db/time-to-live)

## Related inefficiencies

[Browse the library](https://www.pointfive.co/efficiency-hub)

- Azure Cosmos DB  CER-0438

### [Idle Cosmos DB Containers with Provisioned Throughput](https://www.pointfive.co/efficiency-hub/inefficiencies/idle-cosmos-db-containers-with-provisioned-throughput)

Containers and databases created for load tests, migrations, retired features, proofs of concept or one-off data loads often keep their provisioned throughput long after traffic stops. Provisioned RU/s is reserved capacity: it is billed...

Databases

- Azure Cosmos DB  CER-0439

### [Mismatched Throughput Mode on Cosmos DB Containers](https://www.pointfive.co/efficiency-hub/inefficiencies/mismatched-throughput-mode-on-cosmos-db-containers)

Cosmos DB provisioned throughput comes in two modes. Standard (manual) throughput bills the RU/s you set every hour regardless of use. Autoscale lets the system scale between 10% and 100% of a maximum (Tmax) and bills the highest RU/s...

Databases

- Azure Cosmos DB  CER-0440

### [Missing Reserved Capacity for Steady Cosmos DB Throughput](https://www.pointfive.co/efficiency-hub/inefficiencies/missing-reserved-capacity-for-steady-cosmos-db-throughput)

Production Cosmos DB accounts usually carry a stable floor of provisioned throughput that runs every hour of the year: core containers on manual RU/s, the 10% minimum of autoscale containers, and the same throughput repeated in every...

Databases

---
Source: the public page above. Product screenshots and illustrative interfaces are examples, not live customer data.

