понедельник, 4 июля 2011 г.

Re: Par: Re: mysql + blob

1) сколько конкретно было таких серверов раздачи картинок?
- 2 сервера, которые отдают картинки, на lighttpd

2) сколько было картинок и какой объём базы?
картинок много, я не могу сказать точную цифру, т.к это против политики безопасности банка, но больше 100Gb

3) как вы бекапили базу?
Оракл с этим справляется

4) была ли у вас возможность перезаписи картинки в базе?
Да

5) сколько времени было потрачено на изобретение своего велосипеда
вместо paperclip?
В общей сложности 1 неделя, для драйверов под php, ruby, java, и единый API на стороне сервера для этого всего.

Нам не нужны какие-то эффекты на картинках, только ресайзинг и кроппинг и все это делать динамически, при запросе урл:


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

По поводу головной боли не согласен, её нет.

По поводу девелопить, у нас никто не сливает базу для разработки, т.к никаких прямых запросов в базу нет. Только доступ к процедурам (пакетам) в оракле.

Хранить то может быть и лучше на диске, но как вы будете закачивать например на каждый их этих сервером одни и теже картинки? или синхронизировать через rsyn? или еще как-то? База данных это уже умеет делать сама, вам же нужно только научить держать кэш картинок локально, да и не забывайте, image server и база данных раздельны.

Т.к сервера всего 2 мы не запаривались по поводу обновления кэша, оракл сам умеет опрашивать сервера, чтобы сказать что кэш стал не валидным.

2011/7/4 Max Lapshin <max.lapshin@gmail.com>
2011/7/4 Ruslan Zavackiy <ruslan.zavackiy@gmail.com>:
> Хм, а почему вы все как один считаете что хранить картинки в базе это плохо?
> Дело не в том, как их хранить, дело в том, как их отдавать. Тут нужно
> представлять реализацию таким образом, что в базе у вас храниться реальная
> картинка, при первом запросе такой картинки, вы должны создать её кэш на
> диске, и в последующих обращениях спрашивать сначала сервер, а нету ли такой
> картинки. Мы у себя организовывали Image Server,


Давайте ближе к делу:
1) сколько конкретно было таких серверов раздачи картинок?
2) сколько было картинок и какой объём базы?
3) как вы бекапили базу?
4) была ли у вас возможность перезаписи картинки в базе?
5) сколько времени было потрачено на изобретение своего велосипеда
вместо paperclip?

Теперь насчёт хранения картинок в базе:
проблема даже не столько в том, что поддерживание когерентности кеша
на диске и содержимого в базе -- это дополнительная и ненужная головная
боль, а скорее в том, что пока в базе хранится текст, её можно
бекапить, копировать, перезаливать.

Более того, очень длительное время можно спокойно девелопить проект,
сливая себе локально продакшн базу, но оставляя картинки на сервере.
Это очень немаловажная деталь, потому что для огромного количества
сайтов это снимает кучу проблем.

В случае же с отдельным хранением картинок получается сразу хранить их
в том хранилище, которое для них идеально предназначено -- это unix
file system (сервер на виндовсе не рассматриваем). Для них есть разные
механизмы архивирования, бекапа. Различные программы уже будут уметь с
ними работать, не надо писать кошмарные скрипты по выгрузке картинки
из базы, обработке её и заливке обратно.

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ

 Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
 Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
 Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
 
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

Комментариев нет:

Отправить комментарий