2010-11-05 14 views
26

Redis Vs Hazelcast Если мое приложение:Redis против hazelcast

  • Есть много запросов HTTP (6000 в минуту, я собираю щелчки данные), которые должны быть сохранены
  • Есть много запросов HTTP которые запрашивают ранее сохраненные данные.

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

Ответ любой из вопросов помогает

+3

Вы должны попытаться описать вашу проблему лучше. Данные, которые вы хотите разместить внутри, и особенно, как вам нужно запрашивать данные. – antirez

+1

Я планирую поставить около 30 М ключевых значений. Данные выглядят. userid-Set. set имеет атрибуты для этого пользователя, около 10. Он будет постоянно обновляться, и он будет получать запрос постоянно. Мне нравится redis, потому что он знает, что такое Set, и это одна операция, но она не может масштабироваться. – Federico

ответ

0

Оба Redis и Hazelcast являются базами данных на основе памяти, так что в теории, они должны при условии, такую ​​же скорость и производительность. Просмотрев документы для Hazelcast, вы получите лучшую поддержку с Redis из-за большого количества библиотек для взаимодействия с базой данных. Hazelcast выглядит так, будто у них только java libs, у Redis есть один для каждого языка.

Ответы:

  1. Вы должны проверить это самостоятельно, насколько я могу сказать, различные сравнения показывает Redis, как быстрее one of them is here, но я не буду говорить эти показатели имеют 100%

  2. Они должны быть надежными, но я не могу ручаться за Hazelcast.

  3. Может быть ...

Я бы с Redis, потому что я считаю это наиболее удобным и имеет большую документацию.

+10

Этот тест сравнивает Redis с memcached, а не с Hazelcast. – nilskp

18

Мы перешли от redis к hazelcast для наших потребностей в кешировании.

  • Protostuff + Hazelcast гораздо быстрее, чем для нас
  • Protostuff + Jedis (складочном) + Redis

Мы используем protostuff сериализовать бобы, которые являются дорогостоящими для создания. Механизм стандартной сериализации Hazelcasts намного медленнее. Наша среда - Glassfish 3.1.

Hazelcast похоже, что у них только java libs, у Redis есть один для каждого языка.

Истина. Hazelcast предоставляет только REST API и реализацию протокола memcached.

10

Существует очень удобный lib - Redisson.Она обеспечивает распределенное Java-объектов и служб (BitSet, BloomFilter, Set, SortedSet, Map, ConcurrentMap, List, Queue, Deque, BlockingQueue, BlockingDeque, ReadWriteLock, Semaphore, Lock, AtomicLong, CountDownLatch, Publish/Subscribe, RemoteService, ExecutorService, LiveObjectService, ScheduledExecutorService) поверх сервера Redis!

Он поддерживает кластер, дозорный, ведущий/ведомый и режимы одиночного подключения.

Прекрасно работает в облаке и поддерживает AWS Elasticache и Azure Redis Облако

Ниже приведены несколько историй успеха от клиентов Redisson:

Moving from Hazelcast to Redis
Distributed Locking with Redis (Migration from Hazelcast)

9

По состоянию на 2017 год, как Redis и Hazelcast предложение высокодоступное \ масштабируемое хранилище ключей \ значение. С очень быстрым временем отклика < 10 мс.

Redis уникален тем, что поддерживает другие структуры данных, такие как ботанные наборы, хэш-множества и механизм pub \ sub. Это также можно расширить с помощью сценариев lua. Это, вероятно, самый популярный и широко используемый из двух продуктов. Особенно за пределами экосистемы Java.

Hazelcast уникален тем, что он может быть встроен в процесс хоста Java, что делает его отличным для создания микросохранений с сохранением состояния без внешней зависимости базы данных. Он также имеет некоторые другие небольшие различия, такие как возможность получить звонок от истечения срока действия ключа. В некотором смысле, он делает меньше всего, но немногие вещи он делает, он делает их лучше. Особенно, если вы используете Java.

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

+0

Не согласен с вашим мнением. Конфигурация масштаба Redis не занимала много времени, потребовалось около часа. Вам также не нужен Twemproxy, если вы используете Redisson, например. Он разрешает любые проблемы с балансировкой соединения для вас. –

+2

Я согласен с тем, что с RC-сервером Redis и новыми управляемыми сервисами SaaS для Redis пейзаж изменился с точки зрения масштабирования Redis до нескольких горизонтально нагруженных сбалансированных экземпляров, так как я написал это. – Eric

+0

@Eric Затем отредактируйте или удалите ответ. –

1

Чтобы решить, какой из них является хорошим, существует проблема с использованием клиентского потока.

В соответствии с этим benchmark Hazelcast лучше, чем Redis, если вы используете больше потоков. Может быть, это нечестный ориентир компании, но показывает что-то о потоковом.

+0

Буду благодарен за любые отзывы или критику, которые я могу узнать или использовать, чтобы помочь мне улучшить мой ответ. Поэтому, пожалуйста, оставьте комментарий, пока вы отрицаете ответ ... – Fsr

+0

Я бы не стал доверять такому эталону. Во-первых, он не предоставляет никакой информации о кластере Redis, такой важной частью, как сумма узлов master/slave, из которой она состоит. Например, масштаб операций записи кластера Redis зависит от количества основных узлов, одинакового для операций чтения. Вот еще один тест, который показывает 1.2M ops/sec для кластера Redis http://highscalability.com/blog/2014/8/27/the-12m-opssec-redis-cloud-cluster-single-server-unbenchmark.html –

+1

Я думаю, что вы в основном получили вниз, потому что люди ищут независимую и нейтральную оценку различных продуктов, и вы просто связали собственный блог Hazelcast, который, даже если они попытались быть нейтральными, все еще, вероятно, будет предвзятым, потому что они создадут тест что соответствует их продукту. Кроме того, stackoverflow предпочитает вам указывать соответствующую информацию, а также предоставлять ссылку, если ссылка перестает работать. – MichaelRom

 Смежные вопросы

  • Нет связанных вопросов^_^