跳到主要内容

数据存储容量估算

这是计算需要准备多少磁盘空间的方法。请在安装前计算一次,并在每次增加采集对象时重新计算。

一条规则​

每秒接收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 × 보관 연수

如果保留期不是一年,则按比例换算。半年就是一半,两年就是两倍。


按每秒条数对应的容量​

每秒接收条数每天条数每年条数一年容量三年容量
1008,640,0003,153,600,0000.1 TB0.3 TB
50043,200,00015,768,000,0000.5 TB1.5 TB
1,00086,400,00031,536,000,0001 TB3 TB
2,000172,800,00063,072,000,0002 TB6 TB
5,000432,000,000157,680,000,0005 TB15 TB
10,000864,000,000315,360,000,00010 TB30 TB
20,0001,728,000,000630,720,000,00020 TB60 TB
50,0004,320,000,0001,576,800,000,00050 TB150 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 余量、衍生表和备份空间,确定数据磁盘容量。请与系统需求中的推荐规格比较,取较大者。


相关文档​