Моделирование временной регистрации в нескольких узлах - PullRequest
0 голосов
/ 07 июля 2010

Я создаю базу данных для приложения, которое регистрирует данные для нескольких разных узлов. Регистрируемые данные выглядят так:

  • Отметка времени
  • несколько целочисленных значений
  • несколько значений с плавающей точкой
  • может быть строка или два

Каждый узел опрашивается отдельно.

Я буду создавать записи в журнале между каждыми 10 минутами и каждыми 10 секундами (переменный интервал регистрации), поэтому я буду рассматривать (самое большее) менее 10 тысяч записей в день на узел.

Мне интересно, как мне структурировать базу данных для лучшего доступа к данным / управления ими. Я предполагаю, что хотел бы получить доступ как минимум к 30-дневным историческим данным, и я хочу быть готовым к сотням узлов.

Изначально я думал о создании одной таблицы с данными журнала и связывании каждой записи журнала с узлом через соотношение 1: 1, но я боюсь, что в этом случае моя таблица станет слишком большой.

Является ли создание отдельной таблицы для каждого узла жизнеспособной опцией?

Любые комментарии / предложения будут полезны,

Спасибо!

1 Ответ

1 голос
/ 09 июля 2010

Читая ваши комментарии выше, я бы поступил так, как вы сначала поняли:

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

Хорошей идеей является задание cron для архивации данных через 30 дней. Если вы не хотите перемещать его в другую базу данных (таблицу), вы можете экспортировать его как CSV (или аналогичный) и просто сохранить где-нибудь.

Некоторые вещи, которые вы должны иметь в виду:

  • Достаточно места на каждом сервере базы данных и особенно в хранилище
  • Экспорт данных в другом формате, чем, например, CSV, возможно, не лучшая идея. Если ваше приложение имеет другой формат, который может быть легче сохранен, вы могли бы рассмотреть возможность использования другого.
...