Data Storage Capacity Estimation
This section explains how to calculate how much disk space you need. Calculate it once before installation, and then again each time you expand your collection targets.
One-line Rule
If you receive 1,000 events per second and store one year of data, you need 1 TB.
One year is 31,536,000 seconds, so 1,000 events per second results in 31,536,000,000 events per year, and that amounts to 1 TB.
Why Events per Second, Not Tag Count
What fills the disk is not tags but values. Even with the same 1,000 tags, if the collection interval is 1 second, you get 1,000 events per second, but if it's 10 seconds, you get 100 events per second. That's a 10x difference in capacity.
So the basis for estimation is always events received per second.
If collection intervals are mixed, divide them into groups and add them up.
초당 건수 = Σ ( 그 그룹의 태그 수 ÷ 그 그룹의 수집 주기(초) )
500 tags with a 1-second interval + 3,000 tags with a 10-second interval + 6,000 tags with a 1-minute interval
500 ÷ 1 = 500
3000 ÷ 10 = 300
6000 ÷ 60 = 100
──────────────
합계 900 건/초 → 1년치 0.9 TB
Formula
연간 건수 = 초당 건수 × 31,536,000
용량(TB) = 초당 건수 ÷ 1,000 × 보관 연수
If the retention period is not one year, scale proportionally. Six months is half, two years is double.
Capacity by Events per Second
| Events per Second | Daily Events | Annual Events | 1-Year Capacity | 3-Year Capacity |
|---|---|---|---|---|
| 100 | 8,640,000 | 3,153,600,000 | 0.1 TB | 0.3 TB |
| 500 | 43,200,000 | 15,768,000,000 | 0.5 TB | 1.5 TB |
| 1,000 | 86,400,000 | 31,536,000,000 | 1 TB | 3 TB |
| 2,000 | 172,800,000 | 63,072,000,000 | 2 TB | 6 TB |
| 5,000 | 432,000,000 | 157,680,000,000 | 5 TB | 15 TB |
| 10,000 | 864,000,000 | 315,360,000,000 | 10 TB | 30 TB |
| 20,000 | 1,728,000,000 | 630,720,000,000 | 20 TB | 60 TB |
| 50,000 | 4,320,000,000 | 1,576,800,000,000 | 50 TB | 150 TB |
The Retention Period Is the Capacity
Two factors determine capacity: "how much you receive" and "how long you keep it." The amount you receive is set by the field, but the retention period is set by your configuration.
Raw collected values are stored in Aster TSDB with a time-to-live (TTL) set. The default retention period for raw tag values is 3650 days (10 years) — meaning under default settings, the "1-year" figure in the table above accumulates for 10 years, so you must specify the actual retention years when estimating.
The disk is divided into two tiers.
| Tier | What's in it | What determines its size |
|---|---|---|
Aster TSDB (/data1) | Raw values and aggregate/sampling tables. Read by dashboards, alarms, and queries | TTL per table |
| Object Storage | Archived historical data. Read by analytics and reports | Archive interval and total retention years |
Aggregate and sampling tables are much shorter than raw data (default 93 days). So if you simply multiply the "1-year 1 TB" figure, you'll overestimate, and conversely, if you keep raw data for 10 years, you'll underestimate. Decide on the retention period first, then calculate the capacity.
For default values and how to change them, see Data Retention Period (TTL) Settings. For the data structures, see Database Model.
Allow More Than the Estimated Value
The number you calculate is a starting point, not the capacity to purchase. These things must share the same disk:
- Compaction workspace — Aster TSDB merges fragmented files and temporarily holds both the original and the result. If there's no free space, compaction stops, and if it stops, reads slow down.
- Derived tables — Aggregate, sampling, and count tables are pre-built at write time for query speed. They occupy space separately from raw data.
- Backups and logs — Snapshots, commitlogs, and container logs accumulate on the same disk.
When Aster TSDB runs low on disk, it defers compaction, and each deferral slows down reads. It manifests as slowness before it manifests as failure. Add disk usage to your monitoring targets — see System Monitoring.
Calculation Example
Field Conditions
- 800 tags with a 1-second interval
- 4,000 tags with a 5-second interval
- Raw value retention period set to 3 years
Calculation
초당 건수 = 800 ÷ 1 + 4000 ÷ 5
= 800 + 800
= 1,600 건/초
1년치 = 1,600 ÷ 1,000 = 1.6 TB
3년치 = 1.6 × 3 = 4.8 TB
Add space for compaction headroom, derived tables, and backups to determine the data disk. Compare with the recommended specifications in System Requirements and follow the larger of the two.
Related Documentation
- System Requirements — Recommended CPU, memory, and disk specs
- Data Retention Period (TTL) Settings — How long to keep data
- Database Model — What accumulates in which tables
- Performance Tuning — Disk and memory-related settings