Quick Answer — How Do You Project Database Storage Growth?
Start from rows and bytes, not from a percentage. A growth percentage hides whether the driver is more users, more events per user, or wider rows, and those three behave differently and fail differently. Row count times average row size, grossed up for indexes and divided by compression, is a number you can defend.
Then convert logical data into provisioned disk, because they are not the same thing and the gap is large. Replicas multiply it; a free-space target divides it.
A 420 GB database ingesting 45 million rows a month at 512 bytes each, with 35 percent index overhead, 4 percent monthly row growth, 3:1 compression, two copies and a 25 percent free-space target:
- Effective size on disk per row — 230.4 bytes
- First month added — 10.37 GB
- Logical size at 36 months — 1,225 GB, a 2.92× increase
- Provisioned storage needed — 3,265 GB
- Runway on 2,000 GB of current storage — 21 months
- Storage cost at $0.115 per GB-month — $131.98 now, $375.53 by month 36
Note the ratio at the end: 1,225 GB of logical data needs 3,265 GB of disk. That factor of 2.7 is the number capacity requests get wrong.