Storage Estimation
Storage grows with data count, data size, and time
A storage estimate usually starts with three questions: how many objects are created, how large one object is, and how long the data is retained. After that, the basic formula becomes almost mechanical.
storage = objects × average_object_size × retention
For example, if a service creates 2 million objects of 2 KB each day, about 4 GB of new data appears daily. Over a year, that is roughly 1.46 TB of raw data.
2,000,000 objects/day × 2 KB ≈ 4 GB/day
4 GB/day × 365 days ≈ 1.46 TB/year
Estimate useful data first
On the first pass, start with what the product actually creates: texts, messages, images, events, documents, and other entities. This produces a clear baseline that is easy to refine later.
If an object has several parts, estimate and add them. For a message, for example, you can estimate the text and metadata separately; for uploaded media, the file itself and a small set of descriptive fields.
Not all data lives for the same amount of time
Retention has a major effect on total volume. Logs may be kept for a few weeks, user messages for years, and temporary processing results for only a few hours. Using one retention period for the entire system can therefore be misleading.
If data categories have different lifetimes, estimate them separately and add the results. This also makes it clear which category actually drives storage growth.
Raw data is not the entire physical capacity
A real system almost always needs more space than the sum of useful objects. Metadata, indexes, versions, backups, and extra copies for resilience all consume capacity. At this stage, there is no need to design the storage mechanism in detail; it is enough to understand that raw storage and required physical capacity are different quantities.
raw_data = 2 TB
storage_overhead_factor = 2.5
planned_capacity ≈ 5 TB
The overhead factor depends on the chosen storage approach, so it should either come from known requirements or be clearly marked as an assumption.
Check the planning horizon
The statement “we need 5 TB” is not very useful without a time horizon. 5 TB after one month and 5 TB after five years imply very different growth rates. A good estimate therefore answers not only how much storage is needed, but also when that size will be reached.