介绍
rrd4j是rrdtool的java版,在j2ee的开发中可以很方便的操作rrd数据库等。本文主要是介绍rrd4j的一些基本概念。
基本概念
rrd4j中的时间都是以秒为单位
sample
采样, 即采集到的数据, 它包括采样的时间与采样的值
step
步长, 两次数据采样之间的时间间隔, 比如, 每1分钟记录一次数据, 步长就是60, 单位秒. 以step间隔记录的数据点, 称之为基本数据点(英文全称Primary Data Point, 简称PDP).
archive
存档, 用于存放采样数据的存储空间, 一个rrd文件可以包括多个存档
上图中所描述的rrd文件包含了三个存档, 第一行是每1分钟的采样记录, 每二行是每2分钟的采样记录, 每三行是每5分钟的采样记录. 图中CDP是指合并数据点(Consolidation Data Point), 这是由多个PDP按照一定规则计算出来了, CDP的概念可以使数据查询量大幅度减少, 因为很多时候,图表的最小时间单位是小时或天, 并不需要精确到每分钟.
heartbeat
表面含义是心跳, 在这里, 我理解为有效时间区域,
xff
x文档系数, 这个参数的名字取的很难懂, 它的值在0.0到1.0之间. 以图1的第三行为例, 每个合并数据点(CDP)是由5(标记为n)个PDP计算出来的, 如果这5个PDP中,部分PDP被标记为unknown, CDP则会根据xff的值来决定, 如果 超过xff*n个PDP被标记为unknown, 则CPD也将被标记为unknown. 通常计取0.5即可, 不必过多关注
resolution
时间粒度. 例如,查询全年的数据记录时, 并不需要把每分钟的数据都取出来, 只需要每天的数据取出来即可, 此时resolution= 60 * 60 * 24.