Postgres - Хранение большого количества разрозненных временных рядов - PullRequest
0 голосов
/ 12 октября 2018

Фон

Мне нужно собирать и обрабатывать файлы журналов партий, содержащие данные датчиков.Каждый содержит свой собственный массив относительного времени (начиная с некоторого произвольного числа и увеличиваясь с интервалами в несколько мс) и несколько столбцов для каждого датчика, содержащих точки данных для каждого временного интервала.Данные будут храниться для дальнейшего анализа.Обычно одновременно запрашивается только массив времени и один столбец точек данных.

Один файл журнала может выглядеть следующим образом:

time, sensor_1, sensor_2, ..., sensor_n
556,  0,        0,        ..., 0
557,  32,       8,        ..., 1.1

Разработка базы данных

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

enter image description here

Обратите внимание, что каждая строка таблицы журнала содержит все данные времени в одной ячейке.Аналогичным образом, каждая строка таблицы датчиков содержит полные данные для каждого датчика в одной ячейке.

Вопрос

Таблица датчиков теперь превышает 1 ТБ,Я не реализовал никакого разбиения, в основном потому, что производительность пока хорошая.

Я борюсь с обработкой резервных копий, но это другой вопрос .

Мне в основном интересно, подходит ли такой подход?Есть ли какие-то последствия или недостатки, которые я пропускаю?Есть ли лучшие способы обработки и организации этих данных?

Я довольно зелен и буду признателен за любые отзывы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...