Какой комплекс мер вы используете для организации хранилища данных?
Первое на что падает взор это бд. Тут я имею ввиду базу данных способная организовать хороший менеджмент наших бинарных фалов. Записывать файлы в реляционные субд считается плохой практикой, так как они предназначены для оперирования выборками. Разумеется крупные игроки стараются подстроиться под рынок, так например у SqlServer есть тип данных filestream, который фактически вместо бинарного файла сохранит его местоположение в субд.
Что ж, предположим мы будем хранить изображения, мы можем писать сразу в конкретную директорию, и в бд хранить путь к этому файлу. А как быть если нам захочется что бы с периодичностью, скажем давно не использованные файлы сжимались. Подскажите какой комплекс мер вы используете для организации хранилища данных и прибегаете ли вы к использованию СУБД?
Сложный вопрос.
Подобные вещи продумываются и реализуются под задачу, а не вообще.
Т.е практически невозможно дать универсальный совет, решение работающее в большинстве случаев.
Только анализ конкретной задачи, и подбор решения под нее.
sim3x: Есть такая вещь как PackJpg - декодирует JPG, а затем очень аккуратно сжимают его, используя более эффективный метод. Причем такое сжатие происходит без потерь
sim3x: Идея в том, что бы иметь какой-то сервис, который будет за этим следить. Причем что бы это был какой-то комплекс мер, например json, трансформировать в bson. Тем самым мы увеличиваем эффективность нашего хранилища.
sim3x: Как же? Bson специально так проектировался что бы быть более быстрым при сериализации/десериализации за счёт новых типов. К тому же он является слегка более легковесным. Если не ошибаюсь, то преимущество в около 5% по размеру.
В данном конкретном случае под эффективностью я подразумеваю, быстрый доступ/поиск в случае если файл/объект часто используется, и оптимизировать хранение, если он давно не использовался.