имеется система генераторов данных, каждый из которых работает несколько дней (от 1 до 45) и выдает поток с фиксированной частотой.
Одни генераторы "отмирают", появляются "новые" и жизнь продолжается.
Что хотелось бы:
1) уйти от схемы хранения key-value и перейти к схеме блокового хранения
2) приоритет записи/вставке
3) чтение непрерывного куска данных тоже не должно сильно тупить
Подводные камни:
— генераторов несколько типов (разная частота данных)
— данные приходят не обязательно упорядоченные по времени
— некоторые данные могут потеряться по дороге
Уже начинаю думать что лучшее решение — наколхозить сервер, который бы организовывал на диске файлы фиксированной длины и использовать fopen/fseek/fwrite для заполнения "массивов".
Рядом хранить метаинформацию и размере блока и т.д.
Может подскажете СУБД, которая умеет что-то подобное?
Недостатки классических СУБД:
— при храении блобами прийдется гонять весь блоб для вставки одного значения
— выборка по диаппазону тоже будет требовать танцев с бубнами
— хранение в виде key-value для каждого значения слишком избыточно и тормозно по записи