Здесь я вижу две операции с базой данных: первая заключается в сохранении данных по мере их поступления, а вторая - в получении данных (потенциально большим) числом способов.
Как говорит Киевели, поскольку вы будете использовать отдельные части данных (в отличие от всех данных одновременно), хранение их в виде большого двоичного объекта не поможет вам, когда придет время его прочитать. Таким образом, для первой задачи хранение данных построчно будет оптимальным.
Это также может быть "достаточно хорошо" при запросе данных. Однако, если производительность является проблемой, и / или если вы получаете огромное количество объема [100 000 датчиков x 1 за 15 минут x 4 часа = 9 600 000 строк в день, x 5 лет = 17 529 600 000 строк или около того в течение пяти лет]. На мой взгляд, если вы хотите написать гибкие запросы к данным такого рода, вам понадобится некоторая форма структуры звездообразной схемы (которая используется в хранилищах данных).
Загружаете ли вы данные непосредственно в хранилище или позволяете создавать «построчно» для добавления в хранилище день / неделя / месяц / что угодно, зависит от времени, усилий, доступных ресурсов и т. Д. .
Последнее предложение: когда вы настраиваете тестовую среду для своего нового кода, загрузите его за несколько лет (фиктивных) данных, чтобы посмотреть, как он будет работать.