Мембаз против Кассандры?

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


И Кассандра (0,7х), и Мембаса:

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

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

Кассандра имеет поддержку колонки BigTable

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


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

3 ответа

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам