数据存储容量估算
这是计算需要准备多少磁盘空间的方法。请在安装前计算一次,并在每次增加采集对象时重新计算。
一条规则
每秒接收1,000条数据并保存一年,需要1 TB空间。
一年有31,536,000秒,因此每秒1,000条数据,一年就是 31,536,000,000条,这相当于1 TB。
为什么按每秒条数而非标签数量计算
占用磁盘空间的是数据值,而不是标签。即使同为1,000个标签,如果采集周期为1秒,每秒就有1,000条数据;如果周期为10秒,每秒只有100条数据。容量相差10倍。
因此,估算基准始终只有一个:每秒接收条数。
如果采集周期混合存在,则按组分开计算后相加。
초당 건수 = Σ ( 그 그룹의 태그 수 ÷ 그 그룹의 수집 주기(초) )
1秒周期标签500个 + 10秒周期标签3,000个 + 1分钟周期标签6,000个
500 ÷ 1 = 500
3000 ÷ 10 = 300
6000 ÷ 60 = 100
──────────────
합계 900 건/초 → 1년치 0.9 TB
计算公式
연간 건수 = 초당 건수 × 31,536,000
용량(TB) = 초당 건수 ÷ 1,000 × 보관 연수
如果保留期不是一年,则按比例换算。半年就是一半,两年就是两倍。
按每秒条数对应的容量
| 每秒接收条数 | 每天条数 | 每年条数 | 一年容量 | 三年容量 |
|---|---|---|---|---|
| 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 |
保留期就是容量
「接收多少」和「保留多久」这两者决定容量。接收量由现场决定,但保留期通过配置设定。
原始采集值进入 Aster TSDB 时带有保留周期(TTL)。标签原始值的默认保留周期为3650天(10年) —— 即默认设置下,上表中的「一年容量」会累积十年,因此在估算时,必须实际确定保留年限。
磁盘分为两层。
| 层 | 包含内容 | 决定大小的因素 |
|---|---|---|
Aster TSDB (/data1) | 原始值及聚合、采样表。画面、报警、查询读取 | 每个表的TTL |
| 对象存储 | 从归档迁移过来的历史数据。分析、报表读取 | 归档周期及总保留年限 |
聚合和采样表远短于原始值(默认93天)。因此直接乘以「一年1 TB」会导致过度估算,而原始值保留10年则会造成低估。请先确定保留期,再计算容量。
关于默认值及修改方法,请参见数据保留周期(TTL)设置。数据结构请参见数据库模型。
预留余量,多于估算值
计算得出的数字只是起点,并非实际购买容量。同一块磁盘上还需要容纳以下内容:
- Compaction工作空间 —— Aster TSDB 在合并碎片文件时,会临时同时保存原始文件和结果。如果空间不足,compaction 会停止;一旦停止,读取速度会变慢。
- 衍生表 —— 聚合、采样、计数表为了查询速度,在写入时会预先构建。它们会占用与原始数据分开的空间。
- 备份与日志 —— 快照、commitlog、容器日志会累积在同一磁盘上。
当磁盘空间不足时,Aster TSDB 会推迟 compaction,而推迟越多,读取速度越慢。在故障显现之前,首先表现为性能下降。 请将磁盘使用率纳入监控对象 —— 参见系统监控。
计算示例
现场条件
- 1秒周期标签800个
- 5秒周期标签4,000个
- 原始值保留期设为3年
计算
초당 건수 = 800 ÷ 1 + 4000 ÷ 5
= 800 + 800
= 1,600 건/초
1년치 = 1,600 ÷ 1,000 = 1.6 TB
3년치 = 1.6 × 3 = 4.8 TB
在此基础上,加上 compaction 余量、衍生表和备份空间,确定数据磁盘容量。请与系统需求中的推荐规格比较,取较大者。
相关文档
- 系统需求 —— CPU、内存、磁盘推荐规格
- 数据保留周期(TTL)设置 —— 确定保留时长
- 数据库模型 —— 了解各表中存放的内容
- 性能调优 —— 磁盘与内存相关配置