LINUX.ORG.RU

Кто щупал Elliptics

 elliptics, , reverbrain,


0

1

Как известно, у нищебродов, которым надо дешево и сердито шардинг-репликация терабайтов фоток и смайликов - не так много опций.

Всякие там люстры - слишком ынтырпрайзно. Поэтому если делать упор не на скорости, а на простоте поддержки, вылазят всякие GridFS в монге и Elliptics от яндекса. Причем если монговский GridFS просто мутный (непонятно что со скоростью), то элиптикс - откровенно темная лошадка (непонятно что с поддержкой).

Недавно обратил внимание, что Поляков заделал http://www.reverbrain.com/ и собрал в кучу сорцы бывшего похмела на гитхабе. Посему вопрос - кто-нибудь пробовал его Elliptics/Eblob в своих продакшенах или это дальше яндекса так и не пошло? Давно смотрю на проект, вроде то что надо, но сцыкотно на него завязываться.

★★★★★

Последнее исправление: maxcom (всего исправлений: 1)

Ответ на: комментарий от anonymous

Потому что если у кого-то и есть информация, то у разработчиков. Это не настолько популярные технологии, чтобы им владел каждый админ-восьмиклассник.

Vit ★★★★★
() автор топика

Написал Полякову, он сказал что реально есть 2 инсталляции - одна в яндексе, вторая в гибдд. Ну и на http://elliptics.ru/ тусуются девы и админы.

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

Vit ★★★★★
() автор топика
Ответ на: комментарий от pylin

Да фик знает. Концептуальных проблем пока не вижу. Возможно, по недомыслию :) . Если у вас какие-то конкретные вопросы - попробуйте точнее сформулировать.

Ну и у меня размеры школьные, пока на терабайт всего, а не кластер в пиццот стоек.

Vit ★★★★★
() автор топика
9 марта 2013 г.
Ответ на: комментарий от Vit

Говорят, еще есть в undev, rambler, express42 и каких-то социалках

Запустить сложно, туториалы вообще старые, но потом работает и есть не просит. Мы искали для хостинга 10-20мб файлов, ничего другого не нашли. Восстановление подглюковывает, но Поляков говорит, что сейчас переписывают на что-то модное

anonymous
()
Ответ на: комментарий от anonymous

Сенькс. Я пока решил с монги начать. Софт «бытовой» (форум/блоги/...), надо чтобы развернуть мог даже полный дятел.

Когда хранишище распухнет - буду думать.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Монга хорошая, особенно, если руками удачно отшардировать - автошард глючит. Ставится легко и документация крутая, но большие файлы (даже мегабайты) вообще не держит.

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

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

anonymous
()
Ответ на: комментарий от anonymous

У меня в основном картинки. Говорил с живыми людьми, которые подобное с монгой делали (в екатеринбурге, здоровый городской портал). У них вообще синхронный питон с кеширующим прокси на nginx. Говорят, на 5 терабайт фоток 1 машины хватает. При этом активный дисковый кеш на nginx всего несколько гигабайт.

Понятно, что на монге скорость будет не идеальной. Но тут задача добиться легкой управляемости, и падение скорости в несколько раз ПОКА приемлимо.

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

Или скиньте контакты на vitaly@rcdesign.ru с удовольствием бы пообщался.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

А сколько всего данных? У нас 3 с небольшим терабайта пока и всего около 30+ миллионов ключей - одной машины тоже хватает, но в сеть упираемся, поэтому у нас 4 - 2 по 2 в России и Нидерландах.

Кстати, у нас коллеги использовали встроенный в эллиптикс кэш (точнее только его, без бэкендов на диске) вместо memcached, т.к. тот не многопоточный - около 20 krps держит с машины, Поляков постил цифры, где было 200 тысяч с машины, но у нас таких нагрузок нет.

Nginx может хранить свой кэш в эллиптксе тоже - рассказывал, как cdn в яндексе делали, но мы не использовали. Для своего cdn хотим попробовать, но пока руки не дошли.

С эллиптиксом что хорошо - не нужно стопицот разных технологий курить - все, связанное со стораджем, в одном месте.

С монгой у нас долгая история - год назад мы регулярно теряли реплику, т.к. из-за баги в вочдоге убивали mongod и привет. В 2+ версии пока не теряли, но и багу починили. Говорят, что данные все еще теряются, сам не проверял. Было дело, не поменяли по умолчанию 64мб, а там что-то типа 100 файлов лежало в каждом - ну так несчастная монга на каждый чих копировала эти чанки - пришлось все сломать и переналивать, иначе диски бы убили. Скорость падает _очень_ сильно, если настроить честную запись в монге, т.е. не как по умолчанию, а чтобы мастер дожидался, пока до слейвов доедет все. На наших объемах было что-то около 30-40 rps. Теряли коллекции несколько раз - наверное диск битый, но вытащить из них данные не удавалось. Из еблоба мы простым скриптом все можем вернуть. Это не сильно нужно - можно с реплики восстановиться, но в монге почему-то в реплике не было этих данных, наверное не доехали, а в эллиптксе так быстрее - очень ждем новое восстановление :) Раньше все время лили картинки, а они небольшие - для веба, сотни килобайт. А потом внезапно захотели лить гифки и большие файлы, ну и никто не подумал, что все надо будет менять - шардирование, все репликасеты, все настройки - вообще все. Отдает монга их медленно, точнее отдает нормально, но нужно еще через джангу прокачать пользователю - и в сумме бывало, что все оочень тормозит. В эллиптиксе мы напрямую через nginx отдаем - он умеет из еблоба стримить. Что еще... 16мб - это максимумальный размер ключа в монге - нам уже не подходит, а gridfs вообще неудобный и глючит сильно. Ключи однажды потеряли, т.к. не знали, что монга просто тихо обрезает длинные ключи. Но это по неопытности.

А так она очень приятная - надо только научиться готовить

anonymous
()
Ответ на: комментарий от anonymous

Данных у меня сейчас «нет» потому что гайки закручены. И откручивать, пока нормальный сторадж не сделан, смысла нема.

У екатиренбуржцев то ли 3 то ли 8 терабайт фоток за весь период. Мне на первые пару лет терабайта точно должно хватить.

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

Насчет «монга через джарнга» понятно. У меня нода, там стримы поддерживаются (отдача по мере получения), думаю будет не такая большая жопа. Тем более, что на nginx можно кешер сочинить к превьюшкам.

С потерями понятно. Если это потери «за последние сутки» - для фоток юзеров это допустимо. Использовать планировалось как раз gridfs

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Стриминга в монге нет - это то же копирование, только не через джангу, а через сервер ноды. Мы когда раздавали гифки - очень с этим огребли на медленных соединениях. У нас тогда был один фронт, и у него все время заканчивалась либо память, либо соединения рвались из-за нехватки процессов. Nginx стримит из еблоба без копирования, ну и соединений держит десятки тысяч одновременно.

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

Эллиптикс в этом плане реально проще - если научиться понимать его логи (тоже очень неочевидные), то все так легко работает. Жду, когда вторичные индексы будут ок (он еще что-то про реалтаймовый поиск говорил), хочу только одну базу.

anonymous
()

А что, теперь всё это хозяйство окончательно перетекло в key-value и можно уже не надеяться использовать его в будущем как распределённую NFS для файлопомойки?

GAMer ★★★★★
()
Ответ на: комментарий от anonymous

Я имел в виду, что в ноде можно доставать файл из монги не целиком, а кусками, и для этого не требуется отдельных процессов под каждую гифку. Это конечно не так экономно, как nginx + eblob, но мелким и средним проектам хватит. А очень крупные уже на эллиптике поедут. Я от него полностью не отказываюсь - наоборот, держу в голове, что нужно будет уметь легко переключаться.

За предупреждения про gridfs спасибо, буду внимательно проверять, что не козлит.

Хотел еще спросить - а надо мудрить с «красивыми» именами файлов и т.п.? Или от этого ни какой практической пользы нет?

Vit ★★★★★
() автор топика
Ответ на: комментарий от GAMer

Ну тенденция имеется. Просто руки чешутся уже у многих, а реальных продакшенов можно по пальцам пересчитать. Почти некого о подводных камнях спрашивать.

Vit ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Это типа «человекопонятно»:

/vasya/albom_more/ya_ubil_akulu.jpg

А это дешево и сердито:

/17e6534359fd

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

А, имена ключей - у монги было (кажется, что и до сих пор есть) ограничение на размер ключа. И вот тут начинается адовый ад - мы так теряли данные - если твой ключ длиннее, то монга просто тихонько выбрасывает его из индекса (в свой лог вроде пишет, я не помню точно).

Вот еще забавную штуку вспомнил - если в репликасете погасить текущий масте, то она выберет новый мастер. Если потом включить старый мастер и погасить новый, то она выберет следующий и т.д.

После того, как монга переберет мастерами все машины (которые ты по очереди выключал и включал), то она перестанет выбирать мастера. Просто не сможет. И снова сделает это тихо - тупо не будет принимать запросы. Это реальная проблема, когда нужно перезапустить весь кластер, чтобы не было заметно пользователю.

anonymous
()
Ответ на: комментарий от anonymous

Ну в текстовом виде ЧПУ мало когда надо хранить. Проще по CRC(url) выгребать.

Тут вопрос юзабилити - надо ли вообще заморачиваться над поддержкой красивых путей, или это никому нафик не требуется

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

Ну тут уж как тебе твое внутреннее что-то подсказывает. Бывает, что наружу торчат непонятные ключи, а бывает, что нормальные понятные, а уже внутри они переделываются на хэши или еще что-то.

Вроде мне говорили, что более понятные ссылки для поисковиков кошернее считаются, и просто на них смотреть приятнее.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.