БД для хранения значений каналов

Стартовая страница Форумы Новые идеи БД для хранения значений каналов

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • #19942
    manjey73
    Участник

    Собственно не очень соображаю в принципах БД, но что касается БД именно для хранения данных оптимально не та, которая сейчас с меткой времени (по умолчанию 1 минута) и на все каналы.
    А что-то вроде колоночной Тип БД №8

    Представителями которых являются БД от Apache, причем обе, что HBase, что Cassandra

    Но не суть, не обязательно устанавливать данную БД как основную, можно сохранить так как есть и заместить БД только минутных данных с тем же принципом.

    Если на словах:
    Ключ, это номер канала. А структура — это метка времени и данные канала.
    При этом имя файла минутных БД уже имеет значение даты, соответственно метки времени с миллисекундами займут всего 4 байта. А данные канала в зависимости от типа данных, а не постоянно double. чаще всего нам достаточно 4 байта для хранения int или float и редко когда double или int64, так же иногда текстовые на больше количество, чем 8 байт.
    Плюс если добавится настройка для каналов с какой периодичностью сохранять данные — минута, 5 минут, 10 минут и так далее это уменьшит базу достаточно сильно.
    Еще может быть настройка сохранения событий включать или не включать, например по выходе канала за пределы и даже по изменению для быстрых процессов и так далее.

    Плюс нужны БД с заданием количества ячеек с циклической перезаписью, которые могут занимать вообще скромное количество полей, 12, 24 и т.д.
    з.ы. не призываю переделывать всю систему под подобную БД, но именно хранение значений прямо просится…

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Вы должны авторизироваться для ответа в этой теме.