Каков будет предпочтительный метод создания фотоальбома онлайн? - PullRequest
0 голосов
/ 15 ноября 2010

В моем распоряжении PHP, MySQL и сервер Linux.

Сайт, который я создаю для клиента, должен иметь внутреннюю управляемую фотогалерею.

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

АльтернативаКонечно, было бы иметь изображения, независимые от базы данных MySQL, и сохранять только пути к изображениям.

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

Что вы думаете?

(Я отмечу правильный ответ, который стирает всесомнение об этом случае из моей головы)

Ответы [ 3 ]

3 голосов
/ 15 ноября 2010

Я не буду хранить изображения в базе данных, так как вы, вероятно, хотите включить кэширование на стороне клиента и / или сервера для этих изображений.Хранение изображений в БД для этого не поможет.Сохраните путь к изображению в базе данных, а не сам файл.

3 голосов
/ 15 ноября 2010

Лично я не рекомендую вам заново изобретать это колесо ... особенно, если вы хотите, чтобы ваши клиенты / пользователи обновляли эти данные.Гораздо лучше взглянуть на уже существующее решение.Там их много.Вероятно, наиболее надежным является Галерея

Что касается вашего фактического вопроса, есть много причин не хранить двоичные файлы в БД.(И только немногие, которых я знаю, собираются сделать это.) Размер - это определенное соображение.Многие хостинг-провайдеры имеют гораздо меньший предел размера вашей базы данных, чем предел файловой системы.Вы бы связали их с поставщиками, которые допускают огромные размеры файлов базы данных.Кроме того, apache ОЧЕНЬ хорош в обслуживании статических файлов для клиента.PHP, передающий эти двоичные файлы, будет НАМНОГО медленнее.Скорость вашего сайта определенно пострадает.

0 голосов
/ 15 ноября 2010

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

Также любопытно, почему вы не просто выбрали галерею изображений с открытым исходным кодом для начала, как ZenPhoto?И на что опираться для заказчика?

...