MySql blob - работа , ошибки и подводные камни

526
.
(\/)____o_O____(\/)
хотелось бы обсудить данную тему, хранение файлов в базе данных и прочее
.
(\/)____o_O____(\/)
предположим есть сервер х86, смогу ли я хранить 4гига файл в базе?
.
Зачем эти извращения?
.
(\/)____o_O____(\/)
для чего то ведь сделали, пока просто интересуюсь темой, вопрос открыт для 32 битного сервера, распилит файл по частям?
.
╭∩╮ (`-`) ╭∩╮
Если у тебя VDS, или Dedicated, то теоретически, хранить запросто можно.
Размер базы данных у тебя в этом случае ограничен только объемом диска.
Только нужно правильно этим пользоваться.
.
(\/)____o_O____(\/)
AlkatraZ, хотелось бы услышать плюсы и минусы в общем, нагрузка, время и прочее, ты не пробовал подобное?
.
╭∩╮ (`-`) ╭∩╮
~XeOn~ (24.08.2012/22:57)
Зачем эти извращения?
Иногда (в редких случаях) бывает нужно.
К примеру, если у тебя в одном каталоге собирается более 10000 файлов, возникают некоторые тормоза.
А вдруг тебе нужно хранить к примеру несколько миллионов, да еще и вести поиск по ним?

В этом случае, или нужно придумывать какой-либо специальный механизм хранения, который раскладывает файлы по папкам, не более 10000 в каждой, или хранить в базе данных.
.
╭∩╮ (`-`) ╭∩╮
Koenig (25.08.2012/07:06)
AlkatraZ, хотелось бы услышать плюсы и минусы в общем, нагрузка, время и прочее, ты не пробовал подобное?
Тут дело скорее не в нагрузке (она не большая, как иногда пишут), а в числе открытых соединений в базе.
Привожу пример:
В обычном режиме, скрипт выполняет свою работу за десятые-сотые доли секунды, запросы выполняются быстро и открытое соединение закрывается.
Но если ты выдаешь файл (BLOB данные), они могут быть относительно большого размера и соединение будет открыто до тех пор, пока эти данные не будут полностью считаны.
---
Пример из жизни:
Ты наверно не раз пользовался файловыми сервисами типа Letitbit, Rapidshare, Megaupload и подобными. И заметил, что там есть сообщение типа "подождите, подготавливается файл".
Там как раз и происходит процесс: файл достается из базы данных (хранилища) размещается во временной папке и отдается клиенту уже в виде обычной ссылки на файл.
.
(\/)____o_O____(\/)
AlkatraZ, вот тогда вопрос, почему не отдавать файл напрямую в арбуз? без временного файла?
.
╭∩╮ (`-`) ╭∩╮
Koenig (25.08.2012/07:14)
AlkatraZ, вот тогда вопрос, почему не отдавать файл напрямую в арбуз? без временного файла?
Маленькие (типа мелкой картинки, или аватара) можно отдавать и сразу.
А большие нельзя, база будет забита открытыми соединениями, да и докачка не будет поддерживаться.
Всего: 12