Циклическая база данных Циклическая база данных
Скачать 58.37 Kb.
|
Циклическая база данных Циклическая база данных -база данных, объём хранимых данных которой не меняется со временем,поскольку количество записей постоянно, в процессе сохранения данных они используются циклически. Как правило, используется для хранения информации, которая перезаписывается через равные интервалы времени. Внутренняя структура циклической БД:RRA ) циклический архив DS — таблица для соответствующего источника данных Одна циклическая база данных можеть хранить один или несколько наборов данных, которые объединяются в архивы (RRA — round robin archive). Кольцевые таблицы архивов по структуре аналогичны массивам, у которых адрес последнего элемента совпадает с адресом первого элемента. Положение последнего обновленного элемента хранится в виде указателя. Архивы, как правило, связаны между собой как матрешки, каждый последующий архив хранит консолидированную информацию из предыдущего. Для этого используются функции консолидации, встроенные в базу данных. Это позволяет применять эти функции автоматически при обновлении информации в БД. Один архив хранит данные с небольшим интервалом между записями, другой, через заданное количество интервалов, сохраняет консолидированные данные из предыдущего, последующий делает это ещё реже и т. д Структура БД Консолидация данных Если записывать данные через небольшие интервалы времени, а потом формировать среднее (максимальное, минимальное и т. д.) значения за год или любой другой достаточно большой интервал времени, то вычисления и сам процесс выборки из БД может потребовать большое количество ресурсов. Для того, чтобы избежать этого, в циклических базах данных используется консолидация данных при записи, а не во время считывания. Периодов консолидации может быть сколько угодно (неделя, месяц, квартал, год и т. д.). Для осуществления вычислений используются специальные функции консолидации такие как:
Типы данных
COUNTER — это счетчик, значение которого может только увеличиваться, при сохранении данных такого типа из текущего значения вычитается предыдущее. GAUGE — произвольные значения. Данный тип используется для данных, которые могут как уменьшаться, так и возрастат (допустим температура объекта). Тип DERIVE — это тот же счетчик, но с возможностью хранить не только постоянно возрастающие, но и убывающие значения, то есть разница между смежными значениями может быть отрицательной. При этом важно помнить, что для этого типа не производится проверка на переполнение. ABSOLUTE — это тоже модификация счетчика, отличие состоит в том, что разница между значениями не вычисляется, а сохраняются сами значения счетчика и счетчик обнуляется при чтении. Этот тип удобно использовать для подсчета количества событий, произошедших с момента последнего считывания. Тип COMPUTE используется для записи вычисляемых значений на основании данных из других источников данных текущей БД RRD. В теории баз данных такие поля называют вычисляемыми или виртуальными. Этот источник данных не указывается при операции обновления (update), но его основные контрольные значения вычисляются из основных контрольных значений (PDPs) других источников данных, путем применения к ним формул записанных в формате обратной польской записи .Функции консолидации тоже применимы к этому типу данных. Интерполяция данных В связи с тем, что циклические базы данных часто используются для представления данных, распределенных во времени через равные интервалы времени, в механизме такой базы предусмотрена следующая особенность: если при записи в базу по каким-то причинам (например задержка вычисляя значения) данные не были записаны вовремя (например запись произошла на 3 секунды позже), то данные все равно будут записаны так, как если бы они были предоставлены вовремя. Сам «механизм» циклической базы данных изменит данные для коррекции (пропорционально времени запаздывания или отставания). Другими словами, в саму базу данных встроена система корректирования аберраций .Эта система состоит из трех компонентов |