У нас есть система сбора данных, которая собирает измерения от датчиков окружающей среды, которые измеряют скорость воды, протекающей через реку или канал. Каждое измерение генерирует фиксированное количество значений (например, Дата, Время, Температура, Давление и т. Д.), А также список значений скорости.
Изначально датчики выдавали три значения скорости, поэтому я просто сохранял каждое значение в своем собственном столбце одной таблицы в базе данных FireBird. Позже был представлен датчик, который мог выдавать до девяти значений скорости, поэтому я просто добавил еще шесть столбцов. Несмотря на то, что большинство датчиков используют менее 9 значений, я решил, что это не будет проблемой, если в большинстве столбцов будут только нули.
Но теперь я сталкиваюсь с новым поколением, которое может выводить что угодно от 1 до 256 значений, и я предполагаю, что будет не очень эффективно добавить еще 247 столбцов, тем более что большинство измерений все равно будет содержать только от 3 до 9 значений. *
Поскольку измерения собираются каждые 10 минут, а база данных содержит все данные от 30 до 50 датчиков, общий объем данных через несколько лет становится достаточно значительным, однако должна быть возможность создавать обзоры / графики для любого случайного периода времени.
Так какой же самый эффективный способ хранения списка значений переменных?
Поскольку каждая запись имеет свой уникальный идентификатор, я предполагаю, что я мог бы просто сохранить все значения скорости в отдельной таблице, каждое значение помеченное своим идентификатором записи. У меня просто такое ощущение, что это будет не очень эффективно и через некоторое время станет очень медленным.