Должен ли я хранить изображение в MongoDB или в локальной файловой системе (по Node.js) - PullRequest
6 голосов
/ 29 января 2012

Я использую Node.js для своего проекта.

Должен ли я хранить изображение в локальной файловой системе или хранить его в MongoDB?

Какой способ более масштабируемый?

Ответы [ 3 ]

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

Самое масштабируемое решение - использовать сервис общего хранилища, например Amazon S3 (или создать свой собственный).

Это позволяет намного проще масштабировать по горизонтали, когда вы решаете добавить машины на уровень приложений., поскольку вам не придется беспокоиться о каких-либо ночных кошмарах миграции.

Основная идея заключается в том, чтобы отделить уровень хранения от уровня приложений.Таким образом, используя эту идею, вы можете создать процесс node.js на отдельном компьютере, который принимает загружаемые файлы и записывает их на диск.

3 голосов
/ 24 декабря 2013

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

Вы можете найти сравнение производительности в этом блоге: http://blog.thisisfeifan.com/2013/12/mongodb-gridfs-performance-test.html

На самом деле, вы можете найти рекомендуемые варианты использования MongoDB GridFS здесь: https://docs.mongodb.com/manual/core/gridfs/#when-to-use-gridfs

2 голосов
/ 29 января 2012

Я бы использовал GridFS, чтобы использовать преимущества шардинга, но для лучшей производительности я бы использовал файловую систему с nginx.

...