Собственно не очень соображаю в принципах БД, но что касается БД именно для хранения данных оптимально не та, которая сейчас с меткой времени (по умолчанию 1 минута) и на все каналы.
А что-то вроде колоночной Тип БД №8
Представителями которых являются БД от Apache, причем обе, что HBase, что Cassandra
Но не суть, не обязательно устанавливать данную БД как основную, можно сохранить так как есть и заместить БД только минутных данных с тем же принципом.
Если на словах:
Ключ, это номер канала. А структура — это метка времени и данные канала.
При этом имя файла минутных БД уже имеет значение даты, соответственно метки времени с миллисекундами займут всего 4 байта. А данные канала в зависимости от типа данных, а не постоянно double. чаще всего нам достаточно 4 байта для хранения int или float и редко когда double или int64, так же иногда текстовые на больше количество, чем 8 байт.
Плюс если добавится настройка для каналов с какой периодичностью сохранять данные — минута, 5 минут, 10 минут и так далее это уменьшит базу достаточно сильно.
Еще может быть настройка сохранения событий включать или не включать, например по выходе канала за пределы и даже по изменению для быстрых процессов и так далее.
Плюс нужны БД с заданием количества ячеек с циклической перезаписью, которые могут занимать вообще скромное количество полей, 12, 24 и т.д.
з.ы. не призываю переделывать всю систему под подобную БД, но именно хранение значений прямо просится…