rrd文件及rrd文件与实际数据的对比研究。

一,什么是rrd文件?

  所 谓的“Round Robin” 实际上是一种存储数据的方式,使用固定大小的空间来存储数据,并有一个指针指向最新的数据的位置。咱们能够把用于存储数据的数据库的空间当作一个圆,上面有 不少刻度。这些刻度所在的位置就表明用于存储数据的地方。所谓指针,能够认为是从圆心指向这些刻度的一条直线。指针会随着数据的读写自动移动。要注意的 是,这个圆没有起点和终点,因此指针能够一直移动,而不用担忧到达终点后就没法前进的问题。在一段时间后,当全部的空间都存满了数据,就又从头开始存放。 这样整个存储空间的大小就是一个固定的数值。因此RRDtool 就是使用相似的方式来存放数据的工具, RRDtool 所使用的数据库文件的后缀名是'.rrd。以下图,html

二,rrd文件的格式解析:

rrd 文件格式大致分为两部分:
1.文件头信息区:数据库

    分静态头部,和活动头部两部分。工具

    该区域包含一些版本信息和一些于数据存储区相关的一些信息。例如:RRD的版本号,DS数量,DS名称,DS类型,RRA数量,RRA类型,PDP数据区,CDP数据区,最后更新时间,RRA目前更新到的位置等等信息。ui

2.数据存储区:spa

    该区域存储了实际的数据。数据的来源是根据在建立RRD文件时DS的类型及相关RRA定义,并经过相关的计算得出的(CF,DST)。注意:数据源(DS)是存储的实体,而RRA是数据存储的载体。在逻辑上,每一个RRA都有全部DS的数据(计算)。 .net

 

三,原始rrd文件与open-falcon的rrd文件对比分析:

(如下对比图:右面的部分是个人经过小米的open-falcon生成的rrd文件。)
 
1,文件头部区域(包括:静态头部,DS定义域,RRA定义域,活动头部,PDP数据域,CDP数据域)--------->     i 静态头部区域的对比分析:
2,文件头部区域(包括:静态头部,DS定义域,RRA定义域,活动头部,PDP数据域,CDP数据域)---------> ii DS定义域:

3,文件头部区域(包括:静态头部,DS定义域,RRA定义域,活动头部,PDP数据域,CDP数据域)--------->iii RRA定义域:unix

4,文件头部区域(包括:静态头部,DS定义域,RRA定义域,活动头部,PDP数据域,CDP数据域)--------->     i 活动头部区域的对比分析:
 5,文件头部区域(包括:静态头部,DS定义域,RRA定义域,活动头部,PDP数据域,CDP数据域)--------->     iiPDP数据域的对比分析:
6,文件头部区域(包括:静态头部,DS定义域,RRA定义域,活动头部,PDP数据域,CDP数据域)--------->     iiiCDP数据域的对比分析:
 
相关文章
相关标签/搜索