В какой БД хранить большие объемы видео?

Виталий Здоровец
Виталий Здоровец
  • Сообщений: 2
  • Последний визит: 16 февраля 2025 в 20:26

Разрабывается онлайн-система видеонаблюдения для режимного предприятия. Сделана как веб-портал на базе DST Portal, плюс NodeJs в связке с licode. К ней прикручен еще документооборот, связанный с работой охраны (сдача смен, подписывание протоколов, реестры и т.д.). Документооборот довольно небольшой — около 500 тыс. документов в год (PDF, в основном), а вот видео занимает огромное количество места, т.к. по ТЗ обязано хранится 1 год. Встал вопрос, какую БД выбрать для проекта. Разработчик настаивает на PostgreSQL. Я почитал форумы, хвалят MongoDB.

Подскажите, если в плане докуметооборота база будет не нагружена вообще, фактически, но видео будет храниться на десятки терабайт, то потянет ли это Postgre? Или может весь функционал портала и документооборот завести на Postgre, а видео положить отдельно в Mongo?

Буду благодарен за любые советы.

Иван Терешенко
Иван Терешенко
  • Сообщений: 27
  • Последний визит: 12 марта 2025 в 19:24

Потянет, конечно, вы же сами файлы видео хранить в БД не будете. 

У меня стоит DST Social Network, в моей социальной сети уже более 300К видеороликов и все работает спокойно, даже на MySQL, единственное ничего не переписывали кроме фронта. 

Афанасий Никольцев
Афанасий Никольцев
  • Сообщений: 14
  • Последний визит: 12 марта 2025 в 03:13

Там хранили в GridFS а не именно в базе, которая в монге позволяет сделать что-то типа распределенного файлового хранилища. Однако я бы не рекомендовал его использовать так как есть более удобные способы организовать хранение файлов на диске. База данных тут не особо влияет.

По поводу что — Разработчик настаивает на PostgreSQL. Я почитал форумы, хвалят MongoDB.

Если у вас нет экспертизы в этом вопросе, доверьтесь разработчику. MongoDB очень хорошо распиарена и не более, PostgreSQL намного более надежная база данных. 

Ирина Деникеновна
Ирина Деникеновна
  • Сообщений: 3
  • Последний визит: 17 февраля 2025 в 00:16

Несколько баз данных, которые могут подойти для хранения больших объёмов видео:

— Greenplum. База данных SQL с массовой параллельной обработкой данных, основанная на PostgreSQL. Позволяет масштабировать объёмы данных до петабайт и выполнять параллельные запросы к большому количеству информации.

— Cassandra. Бесплатная СУБД NoSQL с открытым исходным кодом, которая используется для размещения и управления большим объёмом данных, распределённых по многим серверам. Обеспечивает масштабируемость и высокую отказоустойчивость.

— MongoDB. Инструмент управления базами данных NoSQL с открытым исходным кодом, который обеспечивает высокую гибкость и масштабируемость данных. Совместим со многими языками программирования и поддерживает несколько операционных систем.

— Hadoop. Платформа больших данных с открытым исходным кодом, которая позволяет масштабируемо обрабатывать данные. Может работать как локально, так и в облаке.

Выбор базы данных зависит от конкретных требований проекта.

Евгений Громов
Евгений Громов
  • Сообщений: 3
  • Последний визит: 16 февраля 2025 в 20:28

Обычно хранение больших файлов в базе данных не считается хорошей практикой. Смотрите Этот вопрос и связанные с ним вопросы для получения дополнительной информации.

Вместо простого хранения на диске вы можете рассмотреть возможность использования таких сервисов, как Rackspace Cloud Files или Amazon S3, если позволяет ваш бюджет.

Нияз Шакиров
Нияз Шакиров
  • Сообщений: 14
  • Последний визит: 12 марта 2025 в 14:05

Видео слишком большого размера, чтобы их можно было эффективно хранить в MySQL. Используйте файловую систему. Придумайте разумный способ сортировки видеофайлов по отдельным каталогам, чтобы в итоге у вас не было тысяч файлов в одном каталоге. Например, все файлы, начинающиеся с 'a', переходят в каталог 'a' и т.д.

Если ваш сайт становится действительно большим, возможно, имеет смысл выгрузить ваши видео на CDN, такой как Amazon Cloudfront.

Авторизуйтесь, чтобы писать на форуме.

Заявка на услуги DST

Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.

Адрес

Ижевск, ул. Воткинское шоссе, д. 170 Е, Технопарк Нобель, офис 1117

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

Задать вопрос по почте

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон