[rrd-developers] storage back-end - more thoughts

Daniel Pocock daniel at pocock.com.au
Sat Oct 25 13:53:11 CEST 2008

Separate to the discussion about a universal file format, I've been 
thinking about the low-level storage of RRAs.

The approach that I am currently using works on the assumption that all 
RRDs have the same RRAs in the same order (a good assumption with the 
current version of Ganglia, if you ignore the summary info stuff)

In practice, RRDs consist of multiple RRAs, some of which have the same 
size and interval.

Therefore, rather than striping RRDs, it might be even more useful to 
stripe the RRAs, maybe even on separate block devices.  This would 
achieve two benefits:

- similar RRAs within an RRD would get striped with each other, just as 
for DSs

- if you have varied RRDs, where only some of the RRAs are similar, then 
the similar RRAs could get striped together and achieve some benefits

What this boils down to is that the there would potentially be an API 
where rrdtool can ask for block storage for each RRA, and the 
implementation would decide where to put the RRA.  This wouldn't be 100% 
compatible with the model currently used in rrd_open.c, although it 
would still be possible to create the traditional RRD files.



More information about the rrd-developers mailing list