web-dev-qa-db-fra.com

redis vs hazelcast

Redis Vs Hazelcast Si mon application:

  • J'ai beaucoup de requêtes http (6 000 par minute, je collecte des informations sur les clics) qui doivent être enregistrées
  • Ayez beaucoup de requêtes http qui interrogent les données précédemment enregistrées.

Mes questions sont - laquelle entre Redis et Hazelcast devrais-je choisir de stocker et d'interroger des données - laquelle est plus rapide pour les lectures et les écritures? - lequel est le plus fiable? - Pourrait Cassandra être une meilleure option?

Répondre à l'une des questions aide

32
Federico

Nous sommes passés de redis à Hazelcast pour nos besoins de mise en cache.

  • Protostuff + Hazelcast est beaucoup plus rapide pour nous que
  • Protostuff + Jedis (regroupés) + Redis

Nous utilisons des prototypes pour sérialiser des beans dont la création est coûteuse. Le mécanisme de sérialisation standard des Hazelcasts est beaucoup plus lent. Notre environnement est Glassfish 3.1.

Hazelcast semble avoir seulement Java libs, Redis en a un pour chaque langue.

Vrai. Hazelcast fournit juste une API REST et une implémentation du protocole memcached.

22
psartini

Il y a une lib très pratique - Redisson . Il fournit des services et des objets Java Java (BitSet, BloomFilter, Set, SortedSet, Map, ConcurrentMap, List, Queue, Deque, BlockingQueue, BlockingDeque, ReadWriteLock , Semaphore, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, RemoteService, ExecutorService, LiveObjectService, ScheduledExecutorService) sur le serveur Redis!

Il prend en charge les modes cluster, sentinelle, maître/esclave et connexion unique.

Fonctionne parfaitement dans le cloud et prend en charge AWS Elasticache et Azure Redis Cloud

Voici quelques exemples de réussite de clients Redisson:

Passer de Hazelcast à Redis
Verrouillage distribué avec Redis (migration depuis Hazelcast)

13
Nikita Koksharov

À partir de 2017, Redis et Hazelcast offrent un stockage à haute disponibilité\clé évolutive\valeur. Avec des temps de réponse très rapides <10 ms.

Redis est unique en ce qu'il prend en charge d'autres structures de données comme les ensembles sored, les ensembles de hachage et un mécanisme pub\sub. Il est également extensible via lua scripting. C'est probablement le plus populaire et le plus utilisé des deux produits. Surtout en dehors de l'écosystème Java.

Hazelcast est unique en ce qu'il peut être intégré dans un processus hôte Java, ce qui le rend idéal pour la construction de microservices avec état sans dépendance de base de données externe. Il présente également d'autres petites différences, comme la possibilité d'obtenir un rappel d'une expiration de clé. Dans un sens, il fait moins globalement mais le peu de choses qu'il fait, il les fait mieux. Surtout si vous utilisez Java.

Dans l'ensemble, il s'agit de solutions similaires conçues pour des cas d'utilisation similaires comme la mise en cache de données externes, la création d'un fond de panier de communication ou d'un état de mémoire partagée pour un microservice avec état, ou même le stockage (de petites quantités de données non relationnelles) avec une certaine durabilité.

12
Eric

Pour décider lequel est le bon, il y a un problème avec le thread client utilisant.

Selon cela benchmark Hazelcast est meilleur que Redis si vous utilisez plus de thread. C'est peut-être une référence injuste pour l'entreprise, mais elle montre quelque chose sur le filetage.

1
Ferhat

Redis et Hazelcast sont des bases de données basées sur la mémoire, donc en théorie, elles devraient fournir la même vitesse et les mêmes performances. En regardant les documents pour Hazelcast, vous obtiendrez un meilleur support avec Redis en raison du grand nombre de bibliothèques pour l'interfaçage avec la base de données. Hazelcast semble avoir seulement Java libs, Redis en a un pour chaque langue.

Réponses:

  1. Vous devrez tester cela par vous-même, pour autant que je puisse dire que différentes comparaisons montrent que Redis est plus rapide l'un d'eux est ici , mais je ne dirai pas que ces repères sont à 100%

  2. Ils devraient être à la fois fiables, mais je ne peux pas garantir Hazelcast.

  3. Peut être...

J'irais avec Redis, car je trouve que c'est le plus utilisable et qu'il a une excellente documentation.

0
Colum