В чем основная разница между Redis и Membase? - PullRequest
10 голосов
/ 22 февраля 2011

Каковы основные различия между Redis и Membase?

Ответы [ 3 ]

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

Масштабируемость: Membase предлагает распределенное хранилище ключей / значений (так же, как Memcache), поэтому запись и чтение всегда будут выполняться в предсказуемо постоянное время независимо от размера вашего набора данных. Redis, с другой стороны, предлагает репликацию «главный-подчиненный», которая ускоряет чтение, но не ускоряет запись.

Избыточность данных Настроить кластер с заданным количеством реплицированных копий для каждой пары ключ-значение очень просто, что позволяет серверам переключать отказоустойчивый узел в кластере без потери данных. Однако репликация «главный-подчиненный» Redis не обеспечивает такой же тип избыточности данных.

Тип данных: Redis предлагает возможность обрабатывать списки атомарным способом из коробки, но можно реализовать аналогичные функции на уровне логики приложения с помощью Membase.

Утверждение: В настоящее время Redis более широко распространен и немного более зрел, чем Membase. У Membase есть несколько высококлассных вариантов использования, таких как Zynga и множество социальных игр.

Membase недавно объединилась с Couchbase, и у них будет версия Membase, которая предложит CouchDB Map / Reduce и возможность запроса / индексации в следующем основном выпуске (запланированном на начало 2011 года).

8 голосов
/ 03 марта 2011

Membase - это огромное хранилище значений ключей с постоянным доступом и репликацией для отработки отказа. Данные, хранящиеся в мембране, не подлежат «модификации» (кроме приращения). Вы получаете или устанавливаете это.

Redis - это больше хранилище ключевых данных. Redis позволяет манипулировать наборами, списками, отсортированными списками, хешами и некоторыми нечетными другими типами данных. В то время как у redis есть репликация, это больше тип репликации master / slave.

6 голосов
/ 13 июля 2011

Я добавляю несколько моментов к ответу Манто:

  1. Redis имеет встроенный механизм транзакций, а мембрана - нет.Исходя из вашей работы, это может быть критически важно
  2. Репликация мастер-мастер имеет некоторые недостатки по сравнению с master-slave: слабая согласованность (lazy object, async ...), более сложное сравнение с master-slave (следовательно, добавьте некоторыезадержка).
  3. Текущая версия redis (2.x) не поддерживает кластеризацию.Вам нужно будет вручную осилить базу данных (отметьте http://antirez.com/post/redis-presharding.html),, пока мембрана поддерживает кластеризацию из коробки, и у вас есть довольно приятный графический интерфейс для мониторинга.
  4. (тест может быть **, но люди просто любят грязныевещи) Redis, кажется, имеет небольшое преимущество в сильно параллельном случае. (http://coder.cl/2011/06/concurrency-in-redis-and-memcache/)
...