Зачем вообще использовать Blob, если я могу сохранять пути к файлам в базе данных и фактические файлы в хранилище?

Я знаю, что blob - это тип данных для двоичных данных, поскольку integer - это тип данных для int. Как говорится, он используется для хранения файлов непосредственно в базе данных (мы перемещаем наш аудиофайл в blob и сохраняем этот blob в базе данных).

Вопрос 1) зачем хранить blob для аудио, если я могу просто поместить аудио в хранилище, например, по пути /var/www/audio.mp3, а в базе данных я храню path_name /var/www/audio.mp3?

Вопрос 2) что лучше? как netflix хранит фильмы? просто кляксы что ли?

Вопрос 3) Интересно, есть ли какие-то минусы или недостатки, если бы вы могли просто дать мне идеи, чтобы я знал, когда их использовать.

Имхо, это слишком общий вопрос, и ответ будет частично основан на мнении и, следовательно, не по теме. И эта тема принадлежит dba.stackexchange.com -> blob - Файлы - в базе или нет? - Обмен стеками администраторов баз данных

Andreas 06.09.2018 17:12

Может быть, вам это пригодится: Хранение изображений в БД - да или нет?

enxaneta 06.09.2018 17:23
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
417
3

Ответы 3

С помощью blob вы можете хранить все, что угодно. Вы общаетесь с API через SOAP или JSON и хотите сохранить его в базе данных? Используйте каплю. Хотите записать, что пользователь заполнил в форме, когда он вызвал исключение? Сохраните весь пост в виде капли. Вы можете сохранить все как есть. Это удобно для ведения журнала, если у вас разные форматы данных. Я знаю API, который ожидает некоторые данные через SOAP, а некоторые как JSON. Для регистрации связи я использую blob, потому что ответ может быть в формате XML, JSON, числом (http-код 203 для пустого, но принятого) или в виде исключения в виде массива.

Согласитесь, но главный вопрос возникает, когда речь идет только об изображениях или фильмах. но я думаю, что никто в мире не хранит фильмы в виде капель в базе данных. Я знаю, что это будет супер безопасно, целостность данных и так далее, но, возможно, нет возможности хранить длинные фильмы. что ты думаешь? Я прав? но если мне когда-нибудь понадобится хранить изображения, я бы сохранил их как капли, так как у меня не будет головной боли при удалении или вставке файлов в файловую систему. верно?

Giorgi Lagidze 06.09.2018 17:34

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

DataVader 06.09.2018 17:46

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

Лучше использовать внешнее хранилище / cdn для обслуживания такого большого контента.

Как работает Netflix и наша? Они загружают контент во внешнюю корзину i. е. S3 и записать имя файла в db для идентификации. В зависимости от частоты доступа пользователя к файлу этот файловый кеш находится на CDN / краю. Пользователь получит потрясающий опыт, пока контент-сервер находится от ближайшего периферийного местоположения.

Другие вопросы по теме