Хранение изображений в сетках MongoDB


Я обсуждаю вопрос о хранении изображений в GRIDFS Mongo или в облачной файловой системе. Я склоняюсь к облаку по нескольким причинам.Используемый язык - PHP на сервере Nginx.

  1. Хранение изображений в GRIDFS увеличивает размер базы данных. Поэтому больше базы данных должно быть в памяти, и я буду тратить больше времени/денег на управление серверами, когда дело доходит до таких вещей, как сегментирование.

  2. Извлечение изображения из GridFS занимает больше времени чем облако, потому что я должен а) Запросить изображение, используя идентификатор б) считайте изображение в память в) используйте заголовок php для отображения изображения

Облако было бы лучше, потому что это URL-адрес изображения непосредственно в облаке.

Звучат ли эти причины обоснованно или мне следует двигаться в другом направлении со своим мышлением?

Author: Devin Dixon, 2012-01-09

1 answers

Это не совсем так.

Хранение изображений в GRIDFS увеличивает размер базы данных. Поэтому больше базы данных должно быть в памяти, и я буду тратить больше времени/денег на управление серверами, когда дело доходит до таких вещей, как осколки.

Mongodb gridfs разбивает огромные файлы на куски, и только они будут загружаться и обслуживаться (каждым куском) по запросу. Да, определенно, это займет больше памяти, чем файловая система. Это все компромиссы при использовании хранилищ данных в памяти.

Извлечение изображения из GridFS занимает больше времени, чем облако, потому что мне нужно а) Запросить изображение с помощью идентификатора б) прочитать изображение в память c) используйте заголовок php для отображения изображения

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

 4
Author: RameshVel, 2012-01-09 16:05:26