Каковы основные различия между Redis и Membase?
В чем основное отличие между Redis и Membase?
Ответ 1
Масштабируемость: Membase предлагает распределенное хранилище ключей/значений (так же, как Memcache), поэтому записи и чтения всегда будут выполняться в прогнозируемом постоянном времени независимо от того, насколько велика ваша совокупность данных. Redis, с другой стороны, предлагает только репликацию master-slave, которая ускоряет чтение, но не ускоряет запись.
Резервирование данных Просто настроить кластер с установленным количеством реплицированной копии для каждой пары "ключ-значение", разрешить серверам отказоустойчивость в работе node в кластере без потери данных. Однако репликация master-slave от Redis не предлагает такой же тип избыточности данных.
Тип данных: Redis предлагает возможность управлять списками в атомном режиме из коробки, но можно реализовать аналогичную функциональность в логическом уровне приложения с помощью Membase.
Утверждение: В настоящее время Redis более широко принят и немного более зрелый, чем Membase. У Membase есть несколько примеров использования высокого профиля, таких как Zynga и их множество социальных игр.
Недавно Membase объединилась с Couchbase, и у них будет версия Membase, которая предложит CouchDB Map/Reduce и возможность запроса/индекса в следующей крупной версии (запланированной на начало 2011 года).
Ответ 2
Membase - это массивное хранилище ключей с постоянством и репликация для перехода на другой ресурс. Данные, хранящиеся в membase, не подлежат "модификации" (помимо приращения). Вы получаете или устанавливаете его.
Redis - это скорее хранилище данных ключей. Redis позволяет манипулировать наборами, списками, сортированными списками, хэшами и некоторыми нечетными другими типами данных. Хотя redis имеет репликацию, это больше тип репликации типа master/slave.
Ответ 3
Я добавляю некоторые ответы на ответ Манто:
- В Redis встроен механизм транзакций, а membase - нет. Основание на вашей работе может быть критическим.
- Репликация Master-master имеет несколько недостатков, сравниваемых с master-slave: неустойчивый (ленивый объект, async...), более сложный по сравнению с master-slave (следовательно, добавляет некоторую задержку).
- Текущая версия redis (2.x) не поддерживает кластеризацию. Вам нужно будет вручную обмануть базу данных (отметьте http://antirez.com/post/redis-presharding.html), в то время как membase поддерживает кластеризацию из коробки и имеет довольно приятный мониторинг gui.
- (Benchmark может быть **, но люди просто любят грязные вещи). Redis, похоже, имеет небольшую производительность в сильно параллельном случае. (http://coder.cl/2011/06/concurrency-in-redis-and-memcache/)