[rrd-developers] storage back-end - more thoughts
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
- 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