Как хранить видео в базе данных PostgreSQL? - PullRequest
5 голосов
/ 23 января 2012

Я храню файлы изображений (например, jpg, png) в базе данных PostgreSQL.Я нашел информацию о том, как это сделать, здесь .

Аналогично, я хочу хранить видео в базе данных PostgreSQL.Я искал в сети - некоторые говорят, что для хранения двоичных данных следует использовать тип данных, например bytea.

Можете ли вы сказать мне, как использовать столбец bytea для хранения видео?

Ответы [ 3 ]

11 голосов
/ 23 января 2012

Обычно я бы не рекомендовал бы хранить огромные двоичные объекты (большие двоичные объекты) внутри PostgreSQL, если ссылочная целостность не является вашим первостепенным требованием.Хранение огромных файлов в файловой системе намного эффективнее:
Намного быстрее, меньше места на диске, более легкие резервные копии.

Я написал более полную оценку вариантов, которые вы получили в предыдущий ответ на аналогичный вопрос.(С глубокими ссылками на руководство.)

6 голосов
/ 23 января 2012

Мы провели несколько тестов на предмет практических ограничений типа данных bytea.Есть теоретический предел 1Гб.Но практический предел составляет около 20 МБ.Обработка больших байтовых данных отнимает слишком много оперативной памяти, а для кодирования и декодирования также требуется некоторое время.Лично я не думаю, что хранение видео - это хорошая идея, но если вам это нужно, используйте большие объекты - капли.

0 голосов
/ 23 января 2012

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

  • Создать таблицу со столбцом типа 'bytea'.
  • Получить содержимоевидеофайла в переменную.
  • Вставьте строку в эту таблицу с этой переменной в качестве данных для столбца bytea.
...