Я знаю, что blob - это тип данных для двоичных данных, поскольку integer - это тип данных для int. Как говорится, он используется для хранения файлов непосредственно в базе данных (мы перемещаем наш аудиофайл в blob и сохраняем этот blob в базе данных).
Вопрос 1) зачем хранить blob для аудио, если я могу просто поместить аудио в хранилище, например, по пути /var/www/audio.mp3, а в базе данных я храню path_name /var/www/audio.mp3?
Вопрос 2) что лучше? как netflix хранит фильмы? просто кляксы что ли?
Вопрос 3) Интересно, есть ли какие-то минусы или недостатки, если бы вы могли просто дать мне идеи, чтобы я знал, когда их использовать.
Может быть, вам это пригодится: Хранение изображений в БД - да или нет?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


С помощью blob вы можете хранить все, что угодно. Вы общаетесь с API через SOAP или JSON и хотите сохранить его в базе данных? Используйте каплю. Хотите записать, что пользователь заполнил в форме, когда он вызвал исключение? Сохраните весь пост в виде капли. Вы можете сохранить все как есть. Это удобно для ведения журнала, если у вас разные форматы данных. Я знаю API, который ожидает некоторые данные через SOAP, а некоторые как JSON. Для регистрации связи я использую blob, потому что ответ может быть в формате XML, JSON, числом (http-код 203 для пустого, но принятого) или в виде исключения в виде массива.
Согласитесь, но главный вопрос возникает, когда речь идет только об изображениях или фильмах. но я думаю, что никто в мире не хранит фильмы в виде капель в базе данных. Я знаю, что это будет супер безопасно, целостность данных и так далее, но, возможно, нет возможности хранить длинные фильмы. что ты думаешь? Я прав? но если мне когда-нибудь понадобится хранить изображения, я бы сохранил их как капли, так как у меня не будет головной боли при удалении или вставке файлов в файловую систему. верно?
Фильмы не хранятся в базах данных, потому что у вас быстро закончится свободное место на диске, поэтому это не рекомендуется. Все, что меньше (значки вшей, почтовые вложения и т. д.), Будет законным, и я храню их как капли. Сохраняйте пути только к большим файлам, таким как фильмы. Сохранение небольших файлов в виде больших двоичных объектов избавит вас от проблем при миграции системы, повысит производительность и даже приведет к меньшему количеству кода. Вам не нужно подключаться к дополнительному FTP-серверу, например, для получения файлов. Представьте, что вы просматриваете несколько строк и загружаете файлы по отдельности, когда вы можете сделать простой выбор.
Помещение большого двоичного объекта в базу данных, а не в файл, позволяет увеличить количество серверов до нескольких с балансировкой нагрузки. Если вы поместите данные в файлы, вам придется реплицировать файлы между сервером. Большинство баз данных имеют встроенные функции репликации, что не так просто для обычных файлов.
Лучше использовать внешнее хранилище / cdn для обслуживания такого большого контента.
Как работает Netflix и наша? Они загружают контент во внешнюю корзину i. е. S3 и записать имя файла в db для идентификации. В зависимости от частоты доступа пользователя к файлу этот файловый кеш находится на CDN / краю. Пользователь получит потрясающий опыт, пока контент-сервер находится от ближайшего периферийного местоположения.
Имхо, это слишком общий вопрос, и ответ будет частично основан на мнении и, следовательно, не по теме. И эта тема принадлежит dba.stackexchange.com -> blob - Файлы - в базе или нет? - Обмен стеками администраторов баз данных