Как хранить исторические данные сервера? - PullRequest
1 голос
/ 18 января 2012

Я искал совет о том, как хранить данные в базе данных для целей анализа исторических данных.Если я могу получить состояние объекта в определенный момент времени, каков наилучший способ сохранить его, чтобы я мог исторически добывать эти данные, предсказывая, какое состояние, вероятно, будет основано на том, как оно было в прошлом?1001 *

В качестве более конкретного примера я могу получить состояние «вверх / вниз» сервера и его текущую нагрузку.Я могу получить это по периодическому графику.Я хотел бы сохранить эти данные так, чтобы я мог легко запросить состояние вверх / вниз или загрузку для определенного периода времени, или получить всю историю этого сервера.У меня нет большого опыта в разработке баз данных.

Ответы [ 2 ]

1 голос
/ 18 января 2012

Вот почему Ральф Кимбалл (и другие) изобрел хранилище данных.

У вас есть звездообразная схема с измерениями, такими как Сервер и Время.У вас есть таблица фактов, в которой записываются изменения состояния (вверх и вниз), и таблица фактов, в которой записывается нагрузка в определенный момент времени.

Шаг 1. Найдите хороший учебник по разработке схемы типа «звезда».При необходимости купите книгу или две.Каждый момент стоит потратить на изучение моделирования данных схемы типа «звезда».

Шаг 2. Создайте схему-прототип как можно дешевле и быстрее.Загрузите данные, чтобы вы могли написать несколько запросов и посмотреть, как все работает.Делать ошибки.Исправьте их.

Шаг 3. После того, как вы что-то заработаете, запишите хороший дизайн.

Шаг 4. Создайте свой «для реального» витрина данных.

Шаг 5. Создайте свои «производственные» нагрузки.

Шаг 6. Запрос.

0 голосов
/ 18 января 2012

Вот почему существует новая версия стандарта SQL: 2011.

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

Новый SQL будет выполнять довольно много (но не все, увы) иначе очень неприятной работы для вас, если, конечно, у вас есть движок, который поддерживает новые функции.

...