Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

[PHP & MySQL] Кто как хранит картинки

2.4K
07 февраля 2003 года
L'Eglantier
21 / / 31.01.2003
"Хранить или не хранить"... картинки в базе.
Ну, поднимался этот вопрос мого раз, однозначного ответа, понятное дело быть не может. Свои плюсы и минусы есть у обох вариантов и аргументы убедительные. Сам делаю то так, то этак.

Вот и интересно, а как предпочитает делать большинство? То есть, доводы за и против я и так знаю. Интересует просто количественная информация. "Я делаю так-то..."
283
07 февраля 2003 года
Alone
910 / / 20.11.2002
хм...
и какие это преимущества имеет
хранения графики в базе по сравнению с хранением в файлах
и наоборот
в чем минусы хранения графики в файлах по сравнению с хранением в базе
2.4K
08 февраля 2003 года
L'Eglantier
21 / / 31.01.2003
Цитата:
Originally posted by Alone
хм...
и какие это преимущества имеет
хранения графики в базе по сравнению с хранением в файлах
и наоборот
в чем минусы хранения графики в файлах по сравнению с хранением в базе



Есть немного. Самое главное, что все данные находятся в одном месте, причем, как одна база. Если картинок 300 и бльше, как в солидном каталоге, то вешать их, как файлы в директорию просто таки стремно. Загружаться по FTP на сайт это будет дольше и муторнее, чем дамп базы. Пользователи будут иметь к ним доступ (Если не вынести за древо каталогов. А, если вынести, то отдавать их браузеру придется скриптом, тогда пропадает самое большое преимущество файлов - кеширование). Резервное копирование выполняется одним дампом и такую базу легче таскать с места на место...
Ну, соответственно, минусы тоже серьезные. Медленная работа запросов и невозможность сгрести картинку в кеш.

4
08 февраля 2003 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by Alone
хм...
и какие это преимущества имеет
хранения графики в базе по сравнению с хранением в файлах
и наоборот
в чем минусы хранения графики в файлах по сравнению с хранением в базе



1. Нет проблем с правами. (в основном при аплоаде файлов)
2. Хранить картинки в базе выгодно если их 100 тыс, млн и более. Посмотрю я, как такое количество картинок будет хранится в файлах.

Если картинок не много (до десятков тысяч) то хранить в базе их не стоит.

283
08 февраля 2003 года
Alone
910 / / 20.11.2002
Хм....
дествительно все очень спорно

1. Нет проблем с правами.
Не довод. Права либо есть либо нет. Если нет прав записывать то тут скорее и sql не будет :)
2. Посмотрю я, как такое количество картинок будет хранится в файлах
На слово повериш что хранят? некоторые в одной папке умудряются хранить. Сам видел правда не лямы но пару сотен тыщ. точно хранили :). А если руки прямые и голова не только для того чтобы волосы не мешали есть то это не проблемма (пока винт не кончится).
Я вот хотелбы видеть глаза хостера когда ты у него запросиш базу в 50Г :) (1000000файлов*50000средний размер картинки) и глаза заказчика когда они выкатят счет за такую базу (я уверен что даже те хостеры каторые дают анлим не дадут на холяву такую базу... хотя я могу ошибатся)
Да и быстро ли будет проходить выборка из такой базы? Для такого солидного каталога и трафик будет... подстать :)
Кстати скрипт Баннер Банка отдает ссылки на картинки(баннеры) а не сами картинки и для хранения этих баннеров используется 1-2 диска при среднем размере 20к. Вот пример что люди могут хранить лямы картинок на винте :)
Соглащусь с L'Eglantier дествительно удобно хранить все в одном месте...
Хотя я занимался переброской контента с одного сервера на другой особых проблемм не возникло :)
4
08 февраля 2003 года
mike
3.7K / / 01.10.2002
Цитата:

Не довод. Права либо есть либо нет. Если нет прав записывать то тут скорее и sql не будет :)


Не правильно держать данные там-же где и код - это потенциальная дыра.

Хотя самому приходится делать это...но это уже другая история.

Цитата:
Я вот хотелбы видеть глаза хостера когда ты у него запросиш базу в 50Г :)



Какая, хостеру, разница что будет занимать на его винте 50Г.

Я не говорю, что это будет быстрее, и что так надо делать, вот представим себе не баннербанк, задача которого - быстро отдавать картинки, а амазон, в каталоге которого ежеминутно добавляется/удаляется товар.

А скорость зависит не от того где хранить, а от реализации.

Была бы возможность хранить картинки в базе, я бы делал это.

283
08 февраля 2003 года
Alone
910 / / 20.11.2002
Цитата:

Не правильно держать данные там-же где и код - это потенциальная дыра.


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


Цитата:

Какая, хостеру, разница что будет занимать на его винте 50Г.



http://secure.hostonfly.net/cgi-bin/sign.cgi?advert=
Extra Data Space $0.02/50 Mb/Day
Extra Space for MySQL Database $0.01 Mb/Day
разные хостеры считают по разному :)

Цитата:

Я не говорю, что это будет быстрее, и что так надо делать, вот представим себе не баннербанк, задача которого - быстро отдавать картинки, а амазон, в каталоге которого ежеминутно добавляется/удаляется товар



Для статистики
в ББ более 1000 сетей в каждой всреднем до несколько сот акков.(особенно много порнушных :) ) Там КАЖДУЮ минуту загружаются, удаляются, меняется статус баннеров сайтов и прочее

Цитата:

А скорость зависит не от того где хранить, а от реализации


Ни когда не поверю что sql+pelr(php)+апач отдадут быстрее(или хотябы также) чем просто апач

Вобщем пока не очень убедительно...
Единственный плюсь в пользу баз привел L'Eglantier

Опрос со мной пожалуй солидарен :)
Я тут еще озадачился по этому вопросу:
http://www.xpoint.ru/archive/threads/40/8037.html
http://www.mysql.ru/webboard/messages/416.html (есть интересная фраза)

А вот что думают хостеры каторым всеравно :)
http://www.host.ru/art/0002.html
http://www.payhosting.ru/faq/mysql2.php
http://www.hostprovider.ru/faq2.htm
http://www.softportal.com/articles/item.php?id=60&lang=ru
и так далее..

4
09 февраля 2003 года
mike
3.7K / / 01.10.2002
Цитата:

Ни когда не поверю что sql+pelr(php)+апач отдадут быстрее(или хотябы также) чем просто апач



Никто про эту связку и не говорит.

Цитата:

Опрос со мной пожалуй солидарен :)



Я сам голосовал за картинки.

Просто не стоит так, 100%, заявлять. Поверьте, есть задачи, когда хранить картинки стоит в базе а не на диске.

283
09 февраля 2003 года
Alone
910 / / 20.11.2002
Цитата:

Никто про эту связку и не говорит.


Цитата:

Originally posted by mike

А скорость зависит не от того где хранить, а от реализации



Хех ладно все остались при своем мнение.
Мне действительно было интересно узнать про ситуацию когда в базе хранить выгоднее, всегда приятнее учится на чужих ошибках :)

285
11 февраля 2003 года
Romik
479 / / 24.11.2002
Я за то чтобы картинки держать базе, однако, соглашусь, что есть ситуации, когда это делать не стоит. У меня проект("Телефонный справочник"), так я держу фото в базе, а если не базе, то что у меня творилось бы на винте, представляете? Дело в том, что справочник должен иметь возможность пополняться, и картинки загружаются со стороны клиента(не важно кто он просто user или admin, который заведает этим) а значит есть потенциальная угроза сохранить вредоносные данные на винте, а так stripslashes(), и картиночку в db, а СУБД уж позаботится, чтобы эти данные никак не повлеяли на ОС. Плюс db хранится на нескольких винтах, по частям, если чё навернётся, остальная часть выживет.
Вообще-то, я тоже пока стался при своём мнении...
300
12 февраля 2003 года
ReDrum
689 / / 20.04.2000
Ну может расширим тему.
Допустим есть архив документов, безразлично каких там в word'e, PDF, или просто zips.
Количесто - несколько тыщ
Какой в общем резон хранить бинары в таблице, вместо названия файла??? Imho - ни какого.
283
12 февраля 2003 года
Alone
910 / / 20.11.2002
Цитата:
Originally posted by Romik
...а значит есть потенциальная угроза сохранить вредоносные данные на винте


Хм...
довай подумаем ты знаеш с каким расширением загружаютя файлы, можеш определять размер, можеш менять расширение файла
Можно пример или ссылку на тему как с помощью файлов .jpg .gif и т.д. сломать сервер. Мне казалось их сервер просто отдает даже в нутрь не смотрит... хотя что я понимаю :)

Цитата:


Плюс db хранится на нескольких винтах, по частям, если чё навернётся, остальная часть выживет.


Обычно такие важные вещи очень часто бекапят,
более того обычо хостеры хранят копии как сайтов так и баз у себя

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог