2010-11-05 59 views
26

Redis Vs Hazelcast Si mi aplicación:Redis vs Hazelcast

  • tienen una gran cantidad de peticiones http (6.000 por minuto, colecciono clics Información) que necesita ser salvado
  • tienen una gran cantidad de peticiones HTTP que consulta los datos previamente guardados.

Mis preguntas son - ¿Cuál entre Redis y Hazelcast debería elegir para almacenar y consultar datos - cuál es el más rápido de lecturas y escrituras? - ¿cuál es más confiable? - ¿Podría ser Cassandra una mejor opción?

contestar ninguna de las preguntas ayuda

+3

Debería tratar de describir mejor su problema. Los datos que desea ingresar, y especialmente, la forma en que necesita consultar sus datos. – antirez

+1

Planeo poner alrededor de 30 M pares de valores-clave. Los datos se parecen. ID de usuario-Set. set tiene atributos para ese usuario, alrededor de 10. Se actualizará constantemente y obtendrá consultas constantemente. Me gusta el redis porque sabe qué es un Set y es una operación, pero no puede escalar. – Federico

Respuesta

0

Tanto Redis y Hazelcast son bases de datos basados ​​en memoria, así que en teoría, deberían siempre la misma velocidad y el rendimiento. Al revisar los documentos de Hazelcast, obtendrás un mejor soporte con Redis debido a la gran cantidad de bibliotecas para interactuar con la base de datos. Hazelcast parece que solo tienen bibliotecas de Java, Redis tiene una para cada idioma.

Respuestas:

  1. Usted tendrá que probar esto por su cuenta, por lo que yo puedo decir diferentes comparaciones muestra Redis tan rápido one of them is here, pero no voy a decir que estos puntos de referencia son 100%

  2. Deben ser confiables, pero no puedo responder por Hazelcast.

  3. Tal vez ...

Me gustaría ir con Redis, porque me parece que es el más fácil de usar y tiene una gran documentación.

+10

Ese punto de referencia compara Redis con memcached, no con Hazelcast. – nilskp

18

Cambiamos de redis a hazelcast para nuestras necesidades de almacenamiento en caché.

  • Protostuff + Hazelcast es mucho más rápido para nosotros que
  • Protostuff + Jedis (agrupada) + Redis

Utilizamos Protostuff para serializar los granos que son caros de crear. El mecanismo de serialización estándar de Hazelcasts es mucho más lento. Nuestro entorno es Glassfish 3.1.

Hazelcast parece que solo tienen java libs, Redis tiene una para cada idioma.

Es cierto. Hazelcast proporciona solo una API REST y una implementación del protocolo memcached.

10

Hay una muy útil lib - Redisson.Proporciona distribuye Java objetos y servicios (BitSet, BloomFilter, Set, SortedSet, Map, ConcurrentMap, List, Queue, Deque, BlockingQueue, BlockingDeque, ReadWriteLock, Semaphore, Lock, AtomicLong, CountDownLatch, Publish/Subscribe, RemoteService, ExecutorService, LiveObjectService, ScheduledExecutorService) encima del servidor Redis!

Es compatible con los modos de clúster, centinela, maestro/esclavo y conexión única.

funciona perfectamente en la nube y es compatible con AWS ElastiCache y Azure Redis Nube

A continuación se presentan algunos casos de éxito de clientes redisson:

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

9

A partir de 2017, tanto Redis y Hazelcast oferta altamente disponible \ clave escalable \ valor de almacenamiento. Con tiempos de respuesta muy rápidos < 10ms.

Redis es único en el sentido de que es compatible con otras estructuras de datos como conjuntos sombreados, conjuntos de hash y un mecanismo pub \ sub. También es extensible a través de secuencias de comandos lua. Es probablemente el más popular y ampliamente utilizado de los dos productos. Especialmente fuera del ecosistema de Java.

Hazelcast es único ya que puede integrarse en un proceso de host de Java, lo que lo hace ideal para la construcción de microservicios con estado sin dependencia de una base de datos externa. También tiene algunas otras pequeñas diferencias, como la posibilidad de recibir una devolución de llamada después del vencimiento de una clave. En cierto sentido, lo hace menos general, pero las pocas cosas que hace, lo hace mejor. Especialmente si estás usando Java.

En general, son soluciones similares diseñadas para casos de uso similares como almacenamiento en caché de datos externos, creación de un plano posterior de comunicación o estado de memoria compartida para un microservicio con estado o incluso almacenamiento (pequeñas cantidades de datos comerciales no relacionales) con algún grado de durabilidad.

+0

No estoy de acuerdo con tu opinión. La configuración de la escala Redis no tomó mucho tiempo, tomó una hora más o menos. No necesitas Twemproxy también, si usas Redisson, por ejemplo. Resuelve cualquier problema de equilibrio de conexión para usted. –

+2

Acepto que con el RC del clúster de Redis y los nuevos servicios gestionados de SaaS para Redis, el paisaje ha cambiado en términos de escalamiento de Redis a múltiples instancias equilibradas de carga horizontal desde que escribí esto. – Eric

+0

@Eric Luego, edite o elimine su respuesta. –

1

Para decidir cuál es el bueno, hay un problema con el uso del hilo del cliente.

De acuerdo con este benchmark Hazelcast es mejor que Redis si utiliza más hilo. Tal vez este es un punto de referencia de la compañía injusta, pero muestra algo sobre el roscado.

+0

Agradecería cualquier comentario o crítica de la que pueda aprender o utilizar para ayudarme a mejorar mi respuesta. Así que por favor deja un comentario mientras bajas una respuesta ... – Fsr

+0

No me fiaría de tal punto de referencia. En primer lugar, no proporciona ninguna información sobre el cluster de Redis, tal parte principal como la cantidad de nodos maestro/esclavo en la que consiste. Por ejemplo, la escala de operaciones de escritura del cluster de Redis depende de la cantidad de nodos maestros para las operaciones de lectura. Aquí hay otro punto de referencia que muestra 1.2M ops/sec para el cluster Redis http://highscalability.com/blog/2014/8/27/the-12m-opssec-redis-cloud-cluster-single-server-unbenchmark.html –

+1

Creo que la mayoría de ustedes votaron negativamente porque las personas buscan una evaluación independiente y neutral de diferentes productos, y acaban de vincular el propio blog de Hazelcast, el cual, incluso si trataban de ser neutrales, es probable que sea parcial, porque crearán una prueba que se adapte a su producto. Además, stackoverflow prefiere que cites la información relevante y proporciones un enlace, en caso de que el enlace deje de funcionar. – MichaelRom