Спасибо.
On 25 июн, 12:00, Artiom Diomin <kro...@gmail.com> wrote:
> ФС, однозначно, а в БД путь до файла
>
> В Чтв, 25/06/2009 в 00:47 -0700, netremo пишет:
>
> > Товарищи ещё один вопросик. Я недавно начал использовать рельсы. Тут
> > встала проблема сохранение файлов (офисные) на сервере. Подскажите в
> > какую сторону почитать и что использовать. Как хранить данные - в
> > файловой системе или в БД. Сейчас проект использует mysql.
>
> > Спасибо.
> > >
> --
> Artiom Diomin
>
> Jabber/Gtalk: k...@linux.md
>
> signature.asc
> < 1KбПросмотретьЗагрузить
Так когда приходит по 4 клиента в час, но жутко хитрая схема
авторизации, секурности, высокие требования по безопасности и
сохранности данных, многие используют блобы в БД. Всяко для DBA
дополнительный кускок хлеба.
Но когда возникает хотя бы 10 тыс хитов в день, хранить файлы в БД
становится не то что неудобным, а попросту невозможным.
Файл с диска отдается default веб-сервером многократно быстрее потому
что sendfile.
Вот в этом и есть разница между длинными транзакциями в больших
приложениях на 1000 клиентов и
веб-сайтами. Эти 10 тысяч приходят пиково, создавая даже на сетевой
интерфейс существенную нагрузку.
В энтерпрайзе не приходится отдавать сотни картинок на страницу,
скорее кучу данных ворошить.
Когда файлы хранятся в БД, их чертовски сложно обрабатывать
ImageMagick-ом (стандартом де-факто в рельсах),
их неудобно кешировать на промежуточном CDN, их нельзя архивировать
средствами бекапа файлов.
А то, что не видел разницу между отдачей через апач и nginx — многое
объясняет =) Разница там действительно огромная.
On 7 июл, 13:12, Alex Dmitriev <rene.dek...@gmail.com> wrote:
> Вы можете сказать, зачем КОНКРЕТНО вам хранить файлы в БД? То, что так
> делать можно, не значит что так делать нужно. Особенно в контексте
> веб-проекта, где юзеры за одну сессию могут просматривать сотни файлов.
>
> Хранение файлов в файловой системе нужно для того, чтобы быстро отдавать
> статику, нормально делать бэкапы, организовать кэширование на CDN и клиенте,
> а так же масштабировать хранилище с минимумом вмешательства непосредственно
> в код проекта. Делать то же самое при хранении файлов в БД будет
> проблематично.
>
> 7 июля 2009 г. 14:13 пользователь Dieinzige <dieinz...@googlemail.com>написал:
>
>
>
> > Да соглашусь со всем окоромя :
> > (Когда файлы хранятся в БД, их чертовски сложно обрабатывать
> > ImageMagick-ом (стандартом де-факто в рельсах),
> > их неудобно кешировать на промежуточном CDN, их нельзя архивировать
> > средствами бекапа файлов. )
> > тут такой вопрос...
> > не лучше ли единоразово обработать imageMagick-ом картинку,и сложить
> > ее, ( а там в базу или на фс уже без раницы),и затем так же вытягивать
> > уже измененные данные.
> > если не правильно тебя понял опять ж сори, потому - что работа с
> > rmagic-ом еще впереди.)
> > неудобно кешировать на промежуточном CDN -тут спорный вопрос о
> > трудозатратах на ссылку на промежуточный CDN картинок. или бд куда
> > будем периодечески все стягивать...хотя это опять же некоторые
> > сложности..так что повторюсь довольно спорно имхо.
> > >>их нельзя архивировать средствами..
> > средствами субд все довольно просто становится.
> > а оракля вообще сладкие фишки дает)
>
> --
> Alex V. Dmitriev
> Skype: rene-dekart
> MSN/AIM/Jabber/GTalk: rene.dek...@gmail.com
> Blog:http://railorz.ru
ну допустим пример:
Организовать простейший документо оборот , в рамках чего то
абстрактного.
достаточно широкая правовая система..
будите хранить на фс?)
<<
нормально делать бэкапы, организовать кэширование на клиенте,
а так же масштабировать хранилище с минимумом вмешательстваАргументы,)
непосредственно
в код проекта.
>>
Алексей, потому что в случаях тяжелого документооборота файловая
система — лишняя
и ненужная точка сбоя. Оракловый админ справится с бекапом данных, а вот
двух админов (ораклового и обычного) уже стыковать очень дорого.
Я бы сказал, что скорее наличие BLOB-ов — следствие того периода в
индустрии, во время
которого БД считалась хорошим сервером приложений с унифицированным
SQL интерфейсом.
Соответственно, где же ещё хранить файлы, как не в таком хранилище.
Мне к счастью ни разу не приходилось иметь дела с системами, где файлы
хранятся в БД.
On 7 июл, 14:13, Alex Dmitriev <rene.dek...@gmail.com> wrote:
> 7 июля 2009 г. 16:04 пользователь Max Lapshin <max.laps...@gmail.com>написал:
>
>
>
> > 2009/7/7 Alex Dmitriev <rene.dek...@gmail.com>:
>
> > > 7 июля 2009 г. 15:30 пользователь Dieinzige <dieinz...@googlemail.com>
> > > написал:
>
> > >> ну допустим пример:
> > >> Организовать простейший документо оборот , в рамках чего то
> > >> абстрактного.
> > >> достаточно широкая правовая система..
> > >> будите хранить на фс?)
>
> > > Да, конечно. А почему нет?
>
> > Алексей, потому что в случаях тяжелого документооборота файловая
> > система -- лишняя
> > и ненужная точка сбоя. Оракловый админ справится с бекапом данных, а вот
> > двух админов (ораклового и обычного) уже стыковать очень дорого.
>
> Ммм, окей :) Но речь-то идет о простейшей системе документооборота на MySQL
> (см. первый пост). Так или иначе, опыта с документооборотом у меня не много,
> поэтому не буду настаивать.
>
> В любом случае, нужно четко осознавать, по какой причине в конкретном
> проекте файлы предполагается хранить в БД. Наличие в базах данных поддержки
> BLOB-полей - не достаточная причина, на мой взгляд, надо что-то посерьезнее.
>
> --
> Alex V. Dmitriev
> Skype: rene-dekart
> MSN/AIM/Jabber/GTalk: rene.dek...@gmail.com
> Blog:http://railorz.ru
On Jul 7, 5:12 am, Alex Dmitriev <rene.dek...@gmail.com> wrote:
> Вы можете сказать, зачем КОНКРЕТНО вам хранить файлы в БД? То, что так
> делать можно, не значит что так делать нужно. Особенно в контексте
> веб-проекта, где юзеры за одну сессию могут просматривать сотни файлов.
>
> Хранение файлов в файловой системе нужно для того, чтобы быстро отдавать
> статику, нормально делать бэкапы, организовать кэширование на CDN и клиенте,
> а так же масштабировать хранилище с минимумом вмешательства непосредственно
> в код проекта. Делать то же самое при хранении файлов в БД будет
> проблематично.
>
> 7 июля 2009 г. 14:13 пользователь Dieinzige <dieinz...@googlemail.com>написал:
>
>
>
> > Да соглашусь со всем окоромя :
> > (Когда файлы хранятся в БД, их чертовски сложно обрабатывать
> > ImageMagick-ом (стандартом де-факто в рельсах),
> > их неудобно кешировать на промежуточном CDN, их нельзя архивировать
> > средствами бекапа файлов. )
> > тут такой вопрос...
> > не лучше ли единоразово обработать imageMagick-ом картинку,и сложить
> > ее, ( а там в базу или на фс уже без раницы),и затем так же вытягивать
> > уже измененные данные.
> > если не правильно тебя понял опять ж сори, потому - что работа с
> > rmagic-ом еще впереди.)
> > неудобно кешировать на промежуточном CDN -тут спорный вопрос о
> > трудозатратах на ссылку на промежуточный CDN картинок. или бд куда
> > будем периодечески все стягивать...хотя это опять же некоторые
> > сложности..так что повторюсь довольно спорно имхо.
> > >>их нельзя архивировать средствами..
> > средствами субд все довольно просто становится.
> > а оракля вообще сладкие фишки дает)
>
> --
> Alex V. Dmitriev
> Skype: rene-dekart
> MSN/AIM/Jabber/GTalk: rene.dek...@gmail.com
> Blog:http://railorz.ru
А как делаются бекапы 100-гигабайтного (500гб, терабайтного, етс -
размер не важен, главное, что с картинками внутри он капец насколько
больше обычного будет) мускуля?
З.Ы. Да, я считаю что файлам в __мускуле__ не место (по крайней мере
пока PBXT с их стримингом не допилят) и да - бекапы это одна из двух
главных причин (вторая - скорость отдачи, но там еще можно спорить).
--
Alexey Kovyrin
http://kovyrin.info/
Да пользуйтесь на здоровье и ощущайте себя первопроходцем при использовании
файлов в БД с рельсами =)
7 июля 2009 г. 22:05 пользователь Dieinzige (diei...@googlemail.com) написал:
2009/7/7 Nikolay Grebnev <nikolay...@gmail.com>:
--
Alexey Kovyrin
http://kovyrin.info/
Угу. Как говорит мой коллега, иногда не масштабироваться — работать надо.