SQL vs файловая система для медиа архива.
От: MOG2 Россия  
Дата: 09.12.13 12:42
Оценка:
Делаем часть системы безопасности. Видео архив. Необходимо писать\читать видео в\из архив. Всего N потоков на запись и N на одновременное чтение. N = 10-20.
Архив циклический, т.е. с возможностью перезаписи старых данных новыми. Длинна цикла одного потока несколько ТБ или несколько дней. Желательно что бы доступ к файлам был с минимальной задержкой.
есть два варианта:

1. пишем каждый поток в SQLite или какую-то другую SQL БД, отдельные фреймы (кадры) храним в сжатом виде (H.264, JPG) в BLOB-ах. Размер фреймов всегда разный от 20 до 200 кБ.

2. В SQL храним только линки на данные и описатели этих данных, причем постоянной длинны. А сами потоки данных храним в файловой системе. Причем пишем так что бы исключить фрагментации ФС. (для этого пишем в файлы равного размера, при создании и удалении файлов доступ к диску монопольный). SQL индекс хранится на системном диске, а файловый архив на отдельном (возможно рэйд).

Вообщем вопроса два:

-возможно ли при первом способе добиться производительности первого, ну хотя бы 80%. Если да то за счет чего? И какую БД выбрать.

-возможно ли при втором способе добиться удобства как в первом. Скорость разработки, тоже важна.

Для меня ответ очевиден, но может чего не знаю. И еще нужна аргументация, что бы убедить коллег.

Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.