Я разрабатываю приложение, которое получает информацию от примерно 100 тыс. Датчиков, которые измеряют данные временных рядов. Каждый датчик измеряет единую целую точку данных каждые 15 минут, сохраняет журнал этих значений и отправляет этот журнал в мое приложение один раз каждые 4 часа. Мое приложение должно содержать около 5 лет исторических данных. Пакет получаю один раз каждые 4 часа имеет следующую структуру:Сохранение сигналов в базе данных
- данных и время последовательности запуска
- Количество образцов, чтобы прибыть (предположим, что это фиксируется для простоты, хотя на практике существует может быть обертоны)
- последовательности выборок, каждая из которых ровно 4 байта
сценарий Основное использование моего приложения показывает графики композитных сигналов на определенные даты. Когда я говорю «составные» сигналы, я имею в виду, что, например, мне нужно показать результат добавления сигнала датчика A к сигналу датчика B и вычитания сигнала датчика C.
Моя дилемма заключается в том, как хранить данные этого временного ряда в моей базе данных. Я вижу два варианта, если предположить, я использовать реляционную базу данных:
- магазин каждый образец в ряду своих собственных: когда я получаю сигнал, разбить его на образцы, и хранить каждый образец отдельно с отметкой времени. Предположим, что временные метки могут быть нормализованы по сигналам.
- Храните каждый 4-часовой сигнал в виде отдельной строки со стартовым временем. В этом случае всякий раз, когда поступает сигнал, я просто добавляю его как BLOB в базу данных.
Есть очевидные плюсы и минусы для каждого из вариантов, включая размер хранилища, производительность и сложность кода «выше» базы данных.
Я задавался вопросом, существуют ли лучшие практики для таких случаев.
Большое спасибо.
У всех датчиков есть время, синхронизированное, чтобы быть точно таким же? –
@KM: как я уже говорил, вы можете предположить, что временные метки образца нормированы - т. Е. Предположим, что их отметки времени одинаковы (для этого требуется некоторая предварительная обработка) –