У меня есть система, которая записывает некоторые измеренные значения каждую секунду. Что лучший способ состоит в том, чтобы хранить данные тенденции, которые являются значениями, соответствующими определенной секунде?
1 day = 86.400 seconds
1 month = 2.592.000 seconds
Приблизительно 1 000 значений для отслеживания каждый секунд.
В настоящее время существует 50 таблиц, группирующих данные тенденции для 20 столбцов каждый. Эти таблицы содержат больше чем 100 миллионов строк.
TREND_TIME datetime (clustered_index)
TREND_DATA1 real
TREND_DATA2 real
...
TREND_DATA20 real
Проблема заключается в схеме базы данных?
1 секунда ко многим трендам, очевидно, сначала показывает вам отдельную таблицу с внешним ключом seconds-table. В качестве альтернативы, если "множество значений тренда" представлено столбцами, а не строками, вы всегда можете добавить столбцы к таблице seconds и принять нулевые значения.
Пробовали ли вы это? Была ли производительность низкой?