Технология RRD

RRD (Циклическая база данных) принимает данные, изменяющиеся во времени в интервалах определенной длины. Данные интервалы называются шагами. Так как данные не всегда могут быть доступны в нужное время, RRD автоматически интерполирует любые предлагаемые данные для заполнения внутренних временных шагов.

Значение для определенного шага, которое было интерполировано, называется Точкой первичных данных (PDP). Множество PDP может быть консолидировано согласно функции агрегирования (AG) для создания Точки консолидированных данных (CDP). Типичными функциями консолидации являются: среднее, минимальное, максимальное и общее.

После консолидации данных полученная CDP сохраняется в циклических архивах (RRA). Циклический архив хранит фиксированное количество CDP и определяет, сколько PDP должны быть консолидированы в одну CDP и какую AF использовать. Общее количество охватываемого времени рассчитывается следующим образом:

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

После этого архив будет перезаписываться: следующая вставка перезапишет старую запись. Данное поведение является циклическим, отсюда и название технологии.

Чем RRD отличается от классической БД

  • В случае линейных БД, новые данные добавляются в конец таблицы БД. Таким образом ее размер увеличивается, в то время как размер RRD определяется в момент создания. Представьте RRD, как периметр окружности. Данные добавляются по периметру. Когда новые данные доходят до начальной точки, они перезаписывают уже существующие. Таким образом, размер циклической БД всегда постоянный.
  • Другие БД хранят значение в том виде, в каком они их получили. RRD может быть настроена на вычисление величины изменений между предыдущим и текущим значением и сохранять эту информацию.
  • Другие БД обновляются по мере поступления новых данных. RRD построена так, что ей нужны данные в заранее определенные интервалы времени. Если она не получает новое значение за этот интервал, она сохраняет НЕИЗВЕСТНОЕ значение для этого интервала.