Мембаз против Кассандры? - PullRequest
7 голосов
/ 10 января 2011

Какая база данных NoSQL лучше для большинства приложений?


И Cassandra (0,7x), и Membase:

  • База данных ключевых значений
  • БЫСТРО
  • Горизонтально масштабируемый
  • Может быть связан с Hadoop для обработки Mapreduce
  • Поддержка увеличения и уменьшения

Кассандра имеет возможность выбора для каждого запроса на долговечность /гарантии согласованности

Cassandra имеет поддержку столбцов BigTable

В Membase есть асинхронные записи (с немедленным возвратом)


Помимо гарантий согласованности, почему вы выбираете одно из другого?

Ответы [ 3 ]

8 голосов
/ 11 января 2011

Cassandra предлагает строки, разбитые на столбцы, которые можно индексировать, эффективно обновлять независимо (вместо необходимости перезаписывать всю строку / объект) и использовать в качестве материализованных представлений (в отличие от реляционных строк, имена столбцов Cassandra можно определять динамически во время выполнения).

Cassandra предлагает репликацию с несколькими мастерами в нескольких центрах обработки данных, настраиваемую для каждого ключа. (Например, я хочу 3 копии набора данных X в центре обработки данных в Северной Америке и 1 копию в Европе. Но набор данных Y я хочу только 2 копии в Северной Америке.)

Неверно говорить, что «Кассандра больше ориентирована на запись, чем на чтение». Разница в том, что оба очень быстры с Cassandra, в отличие от большинства систем, которые только быстро читают.

FWIW, Кассандра раньше предлагала асинхронные записи, но мы сняли ее, потому что, когда вы достигаете предела своей мощности, вы выбираете: (1) запустить сервер на землю или (2) отбросить запросы без обратной связи с клиент, это то, что случилось. Это не стоит очень небольшого увеличения производительности.

5 голосов
/ 08 апреля 2011

Membase недавно объединилась с CouchDB и будет обновлять свой диск / постоянный слой с sqllite до CouchDB, предоставляя Membase возможность выполнять сопоставление / уменьшение и запрашивание / индексирование.

Одна вещь, которую еще никто не упомянул, - это то, что кластеры Membase чудесно просты в настройке, тогда как Cassandra берет на себя больше работы системного администратора.

Кассандра также получила более широкое распространение, хотя есть некоторые ключевые варианты использования Membase, такие как Zynga и ее социальные игры.

1 голос
/ 11 февраля 2012

Это действительно упрощенный вопрос.Почему вы не сравниваете riak, Couchdb, Hadoop и другие?

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

Весь смысл noSql состоит в том, чтобы деконструировать монолитную СУБД и предоставить урезанные инструменты базы данных, которые сосредоточены на аспектах доступа к базе данных, которыеузкие места для ВАШЕГО применения.Каждое приложение уникально, и поэтому не существует такого понятия, как лучший выбор.

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

Блогосфера заполненас историями людей, которые начали с одного и того же упрощенного вопроса и в итоге сделали неправильный выбор.Если вы хотите получить правильный ответ, вам нужно начать с правильного вопроса, а иногда вам нужно проснуться и почувствовать запах кофе и понять, что вашим приложением сложно управлять с технической точки зрения.Другие обнаружили, что проблемы масштабирования могут быть лучше решены деловыми людьми, но предварительное условие заключается в том, что технические специалисты должны быть в состоянии объяснить систему, ее узкие места и естественные ограничения, а также возможность более легкого масштабирования определенными способами, если толькобизнес будет двигаться в другом направлении.

...