2010-09-29 4 views
3

Возможные Дубликаты:
Storing Images in DB - Yea or Nay?
Saving images in database mysqlСохранение изображения в базе данных?

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

Любые советы или рекомендации. Спасибо

+1

Также рассмотрите возможность просмотра этого другого любимого любителя [save-images-in-database-mysql] (http://stackoverflow.com/questions/2753193/saving-images-in-database-mysql) –

ответ

4

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

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

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

8

Сохранение их на вашем веб-сервере и наличие URL-адреса в вашей базе данных было бы лучшей идеей. Это облегчает изменение изображений.

+0

yep - if not on веб-сервер, по крайней мере, на статическом CDN. – RPM1984

1

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

Из файла вы можете легко воспроизводить фотографии и даже легко переносить их без каких-либо последствий для базы данных.