Amazon’s Highly Available Key-value Store

Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Amazon’s Highly Available Key-value Store

Post by Сабина »

Попалась очень хорошая статья с описанием амазонской архитектуры -
http://www.allthingsdistributed.com/fil ... sp2007.pdf" onclick="window.open(this.href);return false;

И еще тут на видео их СТО немного поясняет. Где то с 43:00 -й минуты - https://www.youtube.com/watch?v=p03BU0VE1Yw" onclick="window.open(this.href);return false;

Может кому пригодится
https://www.youtube.com/watch?v=wOwblaKmyVw
kostik78
Уже с Приветом
Posts: 3175
Joined: 17 May 2007 14:07

Re: Amazon’s Highly Available Key-value Store

Post by kostik78 »

Амазон все конечно хорошо, но вот подвязываться на него не стоит. Когда выростает нагрузка понимаешь что дешевле просто железо поставить а вот просто так не выходит, так как продукт подвязан на чисто амазоновские штучки. Нетфликс до сих пор плачет крокодиловыми слезами. Что не крупный outage то амазон лег.

На самом деле есть прекрасный опен соупс проект который был создан на основе dinamo - Riak. Написан прекрасной командой из basho(некоторых лично знаю). Продукт довольно стабильный и комьюнити сильное. У нас он пашет тоже только в путь - 2k read requests per server. 32 servers in cluster.
Sergey___K
Уже с Приветом
Posts: 13014
Joined: 10 Jul 2001 09:01
Location: VA

Re: Amazon’s Highly Available Key-value Store

Post by Sergey___K »

прекрасный опен соупс проект который был создан на основе dinamo - Ria
Хммм.... когда док. начинается с
Not all data is a good fit for Riak.
, то я, как-то не уверен, стоит ли продолжать
Immutable data ...
Small objects ...
Independent objects — Objects that do not have interdependencies on other objects ...
А, вообще, обилие новооткрытых велосипедов начинает напрягать.
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Amazon’s Highly Available Key-value Store

Post by valchkou »

kostik78 wrote:На самом деле есть прекрасный опен соупс проект который был создан на основе dinamo - Riak.
недостаток RIAK в том что он платный и никакие лозунги типа "опен соурс" ему не помогут.
Спрос на спецов, т.е., количество вакансий тоже не вселяет оптимизма.
Sergey___K wrote: Хммм.... когда док. начинается с
Not all data is a good fit for Riak.
, то я, как-то не уверен, стоит ли продолжать
это утверждение верно для любой NoSQL БД. Ни одна из них не универсальна и предназначена для определенного круга задач.
Сначала нужно понять проблему и почему она не решается обычной RDBMS, затем уже рассматривать альтернативы.
Часто слышу что NoSQL БД была выбрана только потому что нужно было попробовать новые базворды.
Позже делается глубокий вывод что NoSQL это гавно и нет ничего лучше старой доброй RDBMS.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Amazon’s Highly Available Key-value Store

Post by Сабина »

kostik78 wrote:Амазон все конечно хорошо, но вот подвязываться на него не стоит. Когда выростает нагрузка понимаешь что дешевле просто железо поставить а вот просто так не выходит, так как продукт подвязан на чисто амазоновские штучки. Нетфликс до сих пор плачет крокодиловыми слезами. Что не крупный outage то амазон лег.

На самом деле есть прекрасный опен соупс проект который был создан на основе dinamo - Riak. Написан прекрасной командой из basho(некоторых лично знаю). Продукт довольно стабильный и комьюнити сильное. У нас он пашет тоже только в путь - 2k read requests per server. 32 servers in cluster.
Да, мы из использоавали на последнем проекте и тоже знаю там многих лично :)
https://www.youtube.com/watch?v=wOwblaKmyVw
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Amazon’s Highly Available Key-value Store

Post by Сабина »

valchkou wrote: Позже делается глубокий вывод что NoSQL это гавно и нет ничего лучше старой доброй RDBMS.
Как то вы спешите с выводами. Я не спорю что может для вашей задачи и правда нужна RDBMS и вы разочарованы, но зачем за всех то говорить ?
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Amazon’s Highly Available Key-value Store

Post by valchkou »

Сабина wrote:
valchkou wrote: Позже делается глубокий вывод что NoSQL это гавно и нет ничего лучше старой доброй RDBMS.
Как то вы спешите с выводами. Я не спорю что может для вашей задачи и правда нужна RDBMS и вы разочарованы, но зачем за всех то говорить ?
Сабина, извините я наверное неверно выразил мысль.
я не разочарован, я как раз наоборот.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Amazon’s Highly Available Key-value Store

Post by Сабина »

valchkou wrote:]
Сабина, извините я наверное неверно выразил мысль.
я не разочарован, я как раз наоборот.
Я тоже наверное читаю все по диагонали между интервью :). Но понятно же что nosql нужен для scalability что есть trade offs, но когда надо скейлится тут без особых вариантов. Просто переход на NoSQL он много чего за собой включая пересмотр архитектуры. Рассчитывать на него все просто ляжет как на просто еще одну rdbms было бы странно
https://www.youtube.com/watch?v=wOwblaKmyVw
kostik78
Уже с Приветом
Posts: 3175
Joined: 17 May 2007 14:07

Re: Amazon’s Highly Available Key-value Store

Post by kostik78 »

valchkou wrote:[
недостаток RIAK в том что он платный и никакие лозунги типа "опен соурс" ему не помогут.
Что там платное не раскажите ? :) Multi DC replication - так вообщем не для каждой задачи это нужно. А вот в плане поставил и забыл, он работает на 100%. У нас кластер собран 4 года назад. Кроме регулярных систем патчей (security) ничего больше с ним не делают. Работает однако :D
kostik78
Уже с Приветом
Posts: 3175
Joined: 17 May 2007 14:07

Re: Amazon’s Highly Available Key-value Store

Post by kostik78 »

Sergey___K wrote: Хммм.... когда док. начинается с
Not all data is a good fit for Riak.
, то я, как-то не уверен, стоит ли продолжать
Действительно для любого хранилища данных - RDBMS, NoSQL и т.п. Для примера сделать session store на MySQL или Postgress можно, вопрос только на сколько пользователей. Когда мы говорим о миллионах пользователях и десятки тыш реквестов в секунду RDBMS просто захлебнется. А NoSQL (Riak, Casandra, Dinamo) будут прекрасно чувствовать себя.
Sergey___K
Уже с Приветом
Posts: 13014
Joined: 10 Jul 2001 09:01
Location: VA

Re: Amazon’s Highly Available Key-value Store

Post by Sergey___K »

kostik78 wrote:
Sergey___K wrote: Хммм.... когда док. начинается с
Not all data is a good fit for Riak.
, то я, как-то не уверен, стоит ли продолжать
Действительно для любого хранилища данных - RDBMS, NoSQL и т.п. Для примера сделать session store на MySQL или Postgress можно, вопрос только на сколько пользователей. Когда мы говорим о миллионах пользователях и десятки тыш реквестов в секунду RDBMS просто захлебнется. А NoSQL (Riak, Casandra, Dinamo) будут прекрасно чувствовать себя.
Смотря, как расшардите RDBMS.
kostik78
Уже с Приветом
Posts: 3175
Joined: 17 May 2007 14:07

Re: Amazon’s Highly Available Key-value Store

Post by kostik78 »

Sergey___K wrote: Смотря, как расшардите RDBMS.
О каком шардинге Вы говорите в этом случае? :lol: Задача проста - проверить данная сессия валидна или нет. Конечно можно и так извратиться - сделать раутинг на конкретную data shard где конкретный пользователь живет, но все равно это будет too much на каждый реквест требующий авторизации лазить в базу данных когда этот реквест может с базой данных и не работать совсем (бррр)

А можно просто взять продукт который заточен под такие задачи где требуется простой lookup by key. Зачем искать себе преключений на голову ? На RDBMS можно другую более подходящую для нее работу найти.

Дабы не вставать два раза из тойже области - задача throttling и введение лимитов на выполнение реквестов per user на RDBMS вообще сложно решаемая опять же когда говорим о милионах пользователей.
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Amazon’s Highly Available Key-value Store

Post by valchkou »

kostik78 wrote:
valchkou wrote:[
недостаток RIAK в том что он платный и никакие лозунги типа "опен соурс" ему не помогут.
Что там платное не раскажите ? :) Multi DC replication - так вообщем не для каждой задачи это нужно.
Для моих задач нужно. No single point of failure вообще много кому сейчас нужно.
вы как хотите, а я в светлое будущее riak не верю.
kostik78
Уже с Приветом
Posts: 3175
Joined: 17 May 2007 14:07

Re: Amazon’s Highly Available Key-value Store

Post by kostik78 »

valchkou wrote: Для моих задач нужно. No single point of failure вообще много кому сейчас нужно.
вы как хотите, а я в светлое будущее riak не верю.
А что будет светлым будущим ? Casandra ? Или что-то еще? И честно - Вы хоть использовали Riak для чего нибудь или так голословно ? И когда про single point of failure - Вы о чем?
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Amazon’s Highly Available Key-value Store

Post by valchkou »

kostik78 wrote: А что будет светлым будущим ? Casandra ? Или что-то еще? И честно - Вы хоть использовали Riak для чего нибудь или так голословно ? И когда про single point of failure - Вы о чем?
Ставлю на Cassandra, Mongo в перспективе 5 лет.

Riak да использовал немного, но не настолько чтобы сравнить его с Cassandra по пунктам.
Единственно нарекание на тот момент - мне нужно было локальную копию запускать на винде, для offline dev,
под винду риака небыло, приходилось VM поднимать ради этого.
Если вы специалист то давайте сравним по фитчам чисто ради интереса.

Но причина моей неверы совсем не во внутренностях самой бд, а в спросе на спецов на данный момент.
kostik78
Уже с Приветом
Posts: 3175
Joined: 17 May 2007 14:07

Re: Amazon’s Highly Available Key-value Store

Post by kostik78 »

Mongo еще живая? :) Шучу, но у них там столько детских проблем было что мама не горюй. Я пыталься как то лет 6 назад сделать проект на ней. Дальше автомейщен тестирования слава богу не прошло. А то в продакшен наплакались бы.

Про винду странное говорите. Riak работает везде где работает Erlang и значит на винде тоже.

По фичам что мне нравиться в Riak - true master less для нормальных операций добавления и чтения, потдержка siblings, миксованые бакетс с разными engines, есть возможность активировать strong concistency, надежность и высокий throughtput, post commit hooks для имплементирования кастом обработчиков и простота управление кластером: добавление, удаление нод и т.п. Народ еще юзает sorl поверх него но я не использовал так что тут не могу утвеждать что работает.

А про востребоновость как то Вы тоже уже опоздали на пару тройку лет. У меня есть опыт Erlang и в линкедин постоянно стучаться те кому нужен опыт функционального програмирования. А про Riak уже много кто знает и использует.
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Amazon’s Highly Available Key-value Store

Post by valchkou »

kostik78 wrote:Mongo еще живая? :) Шучу, но у них там столько детских проблем было что мама не горюй. Я пыталься как то лет 6 назад сделать проект на ней. Дальше автомейщен тестирования слава богу не прошло. А то в продакшен наплакались бы.
5887 вакансий
http://www.indeed.com/jobs?q=MongoDB&l=" onclick="window.open(this.href);return false;
kostik78 wrote: Про винду странное говорите. Riak работает везде где работает Erlang и значит на винде тоже.
инфа с официальной страницы: Riak is not currently supported on Microsoft Windows.
http://docs.basho.com/riak/latest/ops/b ... om-source/" onclick="window.open(this.href);return false;
kostik78 wrote: По фичам что мне нравиться в Riak - true master less для нормальных операций добавления и чтения, потдержка siblings, миксованые бакетс с разными engines, есть возможность активировать strong concistency, надежность и высокий throughtput, post commit hooks для имплементирования кастом обработчиков и простота управление кластером: добавление, удаление нод и т.п. Народ еще юзает sorl поверх него но я не использовал так что тут не могу утвеждать что работает.
все перечисленное имеется и в cassandra. + free multi-datacenter support.
Cassandra: 3666 вакансий
http://www.indeed.com/jobs?q=Cassandra&l=" onclick="window.open(this.href);return false;
kostik78 wrote: А про востребоновость как то Вы тоже уже опоздали на пару тройку лет. У меня есть опыт Erlang и в линкедин постоянно стучаться те кому нужен опыт функционального програмирования. А про Riak уже много кто знает и использует.
Riak: 383 вакансии
http://www.indeed.com/jobs?q=riak&l=" onclick="window.open(this.href);return false;
User avatar
Леонид Ильич Брежнев
Уже с Приветом
Posts: 8632
Joined: 22 Mar 2011 01:40

Re: Amazon’s Highly Available Key-value Store

Post by Леонид Ильич Брежнев »

Сабина wrote:Попалась очень хорошая статья с описанием амазонской архитектуры -
http://www.allthingsdistributed.com/fil ... sp2007.pdf" onclick="window.open(this.href);return false;
Sabina, a почему сейчас? Статья, от если мне не изменяет память, от 2007 года.
За это время Амазон успел выпустить в жизнь и "придавить" SimpleDB, и выпустить в жизнь DynamoDB.
User avatar
Леонид Ильич Брежнев
Уже с Приветом
Posts: 8632
Joined: 22 Mar 2011 01:40

Re: Amazon’s Highly Available Key-value Store

Post by Леонид Ильич Брежнев »

valchkou wrote:Ставлю на .... Mongo в перспективе 5 лет.
Монго проигрывал, например, Аэроспайку еще год - два назад, как Москвич 401 современному мерседесу.
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Amazon’s Highly Available Key-value Store

Post by valchkou »

Леонид Ильич Брежнев wrote:
valchkou wrote:Ставлю на .... Mongo в перспективе 5 лет.
Монго проигрывал, например, Аэроспайку еще год - два назад, как Москвич 401 современному мерседесу.
Ув Леонид Ильич, не удачное сравнение.
Мерседес получше и нынешней лады, а народ в россии почемуто за ладу голосует ногами.
На рынке не всегда властвует тот у кого продукт лучше.
Есть еще такие показатели как community, Q&A на stackoverflow, production installations, (цена иногда).
Вот риак за кое что хочет денег, не важно за что, но где гарантия что ценовая политика не изменится,
как у GoogleAppEngine, спустя 3 года. Или тот же Аэроспайк, попробуйте найти ресурс на рынке с опытом Аэроспайк vs Монго.

Я тут не пытаюсь доказать какая бд лучше. Основной показатель лично для меня это рынок работ и зарплат.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Amazon’s Highly Available Key-value Store

Post by Сабина »

Леонид Ильич Брежнев wrote:
Сабина wrote:Попалась очень хорошая статья с описанием амазонской архитектуры -
http://www.allthingsdistributed.com/fil ... sp2007.pdf" onclick="window.open(this.href);return false;
Sabina, a почему сейчас? Статья, от если мне не изменяет память, от 2007 года.
За это время Амазон успел выпустить в жизнь и "придавить" SimpleDB, и выпустить в жизнь DynamoDB.
Имелось в виду самое описание как построена их distributed system, кмк в этой статье наиболее удачное, если цель понять
https://www.youtube.com/watch?v=wOwblaKmyVw
kostik78
Уже с Приветом
Posts: 3175
Joined: 17 May 2007 14:07

Re: Amazon’s Highly Available Key-value Store

Post by kostik78 »

valchkou wrote: 5887 вакансий
http://www.indeed.com/jobs?q=MongoDB&l=" onclick="window.open(this.href);return false;
...
http://www.indeed.com/jobs?q=riak&l=" onclick="window.open(this.href);return false;
Ваша статистика отражает текущее положение дел и ничего не имеет общего с тем что будет через 5 лет. Все наверное еще помнят что говорили про Java 20 лет назад и какова была у нее популярность на job market по сравнению с С++. Что мы имеем сейчас ? ;)
valchkou wrote: все перечисленное имеется и в cassandra. + free multi-datacenter support.
Вы точно внимательно сравнивали? Casandra не потдерживает siblings и только стратегия LWW. Так скажем это далеко не самый оптимальный вариант для многих бизнес кейсов когда нужно допускать concurrent modification. Riak дает выбор либо LWW or conflict resolutions.
Про DC replication тут спорить не буду. Она за деньги, но вот в нашем случае она нам не понадобилась, так как есть inhouse solution и нам не надо реплицировать все данные из riak. только небольшой subset.

По поводу multi-dc в cassandra все не так гладко, но так как я ее не использовал не буду дальше голословить. Мое понятие базируется на фитбеке знакомых которые cassandra активно юзают.
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Amazon’s Highly Available Key-value Store

Post by valchkou »

kostik78 wrote: Ваша статистика отражает текущее положение дел и ничего не имеет общего с тем что будет через 5 лет.
согласен, и это меня беспокоит.
kostik78 wrote:Casandra не потдерживает siblings и только стратегия LWW. Так скажем это далеко не самый оптимальный вариант для многих бизнес кейсов когда нужно допускать concurrent modification. Riak дает выбор либо LWW or conflict resolutions.
у Cassandra есть lightweight transactions http://www.datastax.com/dev/blog/lightw ... sandra-2-0" onclick="window.open(this.href);return false;
или по русски говоря conditional write.
в купе со Strong Consistency дает вполне предсказуемый результат при concurrent modification - first write wins.

надеюсь я правильно понял вопрос
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Amazon’s Highly Available Key-value Store

Post by Сабина »

Кстати отцы :) ... Не поможете придумать что надо рассказывать на тему
best practices and pitfalls of building software on top of AWS
https://www.youtube.com/watch?v=wOwblaKmyVw
kostik78
Уже с Приветом
Posts: 3175
Joined: 17 May 2007 14:07

Re: Amazon’s Highly Available Key-value Store

Post by kostik78 »

valchkou wrote: надеюсь я правильно понял вопрос
Неа не то. Siblings это когда происходит конкурентная модификация и Riak не отказывает ни кому а просто сохраняет две версии (мутации). Потом на чтении нужно решить что делать с мутациями - мержит или выбрать что-то одно.

Вот тут такое на cassandra брешут. Это правда ?
In the event of server failures and network problems, Riak is designed to always accept read and write requests, even if the servers that are ordinarily responsible for that data are unavailable.

Cassandra will allow writes to (optionally) be stored on alternative servers, but will not allow that data to be retrieved. Only after the cluster is repaired and those writes are handed off to an appropriate replica server (with the potential data loss that timestamp-based conflict resolution implies, as discussed earlier) will the data that was written be available to readers.
Если да то это серьезное ограничение которое при проектировании нужно учитывать. В Riak можно решить как действовать в зависимости от данных. То бишь гибкость имеется.

Return to “Вопросы и новости IT”