RRD Technology

RRD assumes time-variable data in intervals of a certain length. This interval is named step. Because data may not always be available at just the right time, RRD will automatically interpolate any submitted data to fit its internal time-steps.

The value for a specific step, that has been interpolated, is named a primary data point (PDP). Multiple PDPs may be consolidated according to a aggregation function (AF) to form a consolidated data point (CDP). Typical consolidation functions are average, minimum, maximum, and total.

After the data have been consolidated, the resulting CDP is stored in a round-robin archive (RRA). A round-robin archive stores a fixed amount of CDPs and specifies how many PDPs should be consolidated into one CDP and which AF to use. The total time covered by an RRA can be calculated as follows:

Time Covered = (#CDPs stored) * (#PDPs per CDP) * step

After this time the archive will "wrap around": the next insertion will overwrite the oldest entry. This behavior is sometimes referred to as "round-robin" and is the reason for the technology name.

How RRD Differs from Classic Database

  • In case of linear databases, new data gets appended at the bottom of the database table. Thus its size keeps on increasing, whereas the size of an RRD database is determined at creation time. Imagine an RRD database as the perimeter of a circle. Data is added along the perimeter. When new data reaches the starting point, it overwrites existing data. This way, the size of an RRD database always remains constant.
  • Other databases store the values as supplied. RRD can be configured to calculate the rate of change from the previous to the current value and store this information instead.
  • Other databases get updated when values are supplied. The RRD database is structured in such a way that it needs data at predefined time intervals. If it does not get a new value during the interval, it stores an UNKNOWN value for that interval.
  • Was this page helpful?