2010-11-05 18 views
26

Redis Vs Hazelcast Se la mia app:Redis vs Hazelcast

  • hanno un sacco di richieste HTTP (6.000 per minuto, raccolgo scatti Info) che deve essere salvato
  • hanno un sacco di richieste HTTP che interrogano i dati precedentemente salvati.

Le mie domande sono - Quale tra Redis e Hazelcast dovrei scegliere di archiviare e interrogare i dati - che uno è più veloce per la lettura e la scrittura? - quale è più affidabile? - Potrebbe essere un'alternativa migliore a Cassandra?

rispondere a tutte le domande aiuta

+3

Dovresti provare a descrivere meglio il tuo problema. I dati che vuoi inserire e, soprattutto, il modo in cui devi interrogare i tuoi dati. – antirez

+1

Sto pianificando di inserire circa 30 valori-chiave. Sembra che i dati. userid-Set. set ha attributi per quell'utente, intorno a 10. Si aggiornerà costantemente e otterrà query costantemente. Mi piacciono i redis perché sa cos'è un Set ed è una operazione, ma non può scalare. – Federico

risposta

0

Sia Redis e Hazelcast sono database basati memoria, quindi in teoria, dovrebbero fornito la stessa velocità e le prestazioni. Esaminando i documenti per Hazelcast, riceverai un supporto migliore con Redis a causa della grande quantità di librerie per l'interfaccia con il database. Hazelcast sembra che abbiano solo librerie java, Redis ne ha una per ogni lingua.

Risposte:

  1. Si dovrà verificare da soli, per quanto posso dire confronti spettacoli diversi Redis come più veloce one of them is here, ma non voglio dire che questi parametri sono al 100%

  2. Devono essere entrambi affidabili, ma non posso garantire per Hazelcast.

  3. Forse ...

vorrei andare con Redis, perché trovo che è la più usabile e ha grande documentazione.

+10

Questo benchmark confronta Redis con memcached, non con Hazelcast. – nilskp

18

Siamo passati da redis a hazelcast per le nostre esigenze di memorizzazione nella cache.

  • Protostuff + Hazelcast è molto più veloce per noi che
  • Protostuff + Jedi (pooled) + Redis

Usiamo protostuff di serializzare i fagioli che sono costosi da creare. Il meccanismo di serializzazione standard di Hazelcasts è molto più lento. Il nostro ambiente è Glassfish 3.1.

Hazelcast sembra avere solo le librerie java, Redis ne ha una per ogni lingua.

Vero. Hazelcast fornisce solo un'API REST e un'implementazione del protocollo memcached.

10

C'è una molto utile lib - Redisson.Fornisce distribuito Java oggetti e servizi (BitSet, BloomFilter, Set, SortedSet, Map, ConcurrentMap, List, Queue, Deque, BlockingQueue, BlockingDeque, ReadWriteLock, Semaphore, Lock, AtomicLong, CountDownLatch, Publish/Subscribe, RemoteService, ExecutorService, LiveObjectService, ScheduledExecutorService) in cima al server Redis!

Supporta modalità cluster, sentinella, master/slave e connessione singola.

funziona perfettamente nel cloud e supporta AWS Elasticache e Azure Redis cloud

seguito sono riportati alcuni esempi di successo da parte dei clienti Redisson:

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

9

A partire dal 2017, sia Redis e Hazelcast offerta chiave di archiviazione \ valore estremamente scalabile \ key. Con tempi di risposta molto rapidi < 10 ms.

Redis è unico in quanto supporta altre strutture di dati come set sored, set di hash e un meccanismo di pubblicazione \ sub. È anche estensibile tramite lo scripting lua. È probabilmente il più popolare e ampiamente utilizzato tra i due prodotti. Soprattutto al di fuori dell'ecosistema Java.

Hazelcast è unico in quanto può essere incorporato in un processo host Java, rendendolo ideale per la creazione di microservizi con stato senza una dipendenza esterna del database. Ha anche alcune altre piccole differenze, come la possibilità di ottenere una chiamata da una scadenza chiave. In un certo senso, fa meno globale ma le poche cose che fa, le fa meglio. Soprattutto se stai usando Java. Complessivamente si tratta di soluzioni simili progettate per casi d'uso simili come la memorizzazione nella cache di dati esterni, la creazione di un backplane di comunicazione o di uno stato di memoria condivisa per un microservizio di stato, o anche la memorizzazione (piccole quantità di dati aziendali non relazionali) con un certo grado di durata.

+0

Non sono d'accordo con la tua opinione. La configurazione della scala di Redis non ha richiesto molto tempo. Ci sono voluti circa un'ora. Ad esempio, non hai bisogno di Twemproxy, se usi Redisson. Risolve i problemi di bilanciamento delle connessioni per te. –

+2

Concordo sul fatto che con il cluster RC di Redis e i nuovi servizi gestiti da SaaS per Redis il panorama è cambiato in termini di ridimensionamento di Redis su più istanze bilanciate con caricamento orizzontale da quando ho scritto questo. – Eric

+0

@Eric Quindi si prega di modificare o eliminare la risposta. –

1

Per decidere quale è il buono, è necessario un problema relativo al thread del client.

In base a questo benchmark Hazelcast è migliore di Redis se si utilizza più thread. Forse questo è un punto di riferimento aziendale ingiusto, ma mostra qualcosa sul threading.

+0

Sarei grato per qualsiasi feedback o critica che posso imparare o utilizzare per aiutarmi a migliorare la mia risposta. Quindi per favore lascia un commento mentre downvoting una risposta ... – Fsr

+0

Non mi fiderei di questo punto di riferimento. Innanzitutto, non fornisce alcuna informazione sul cluster Redis, la parte più importante dei nodi master/slave di cui è composta. Ad esempio, la scala delle operazioni di scrittura del cluster Redis dipende dalla quantità di nodi master stessa per le operazioni di lettura. Ecco un altro benchmark che mostra 1.2M ops/sec per il cluster Redis http://highscalability.com/blog/2014/8/27/the-12m-opssec-redis-cloud-cluster-single-server-unbenchmark.html –

+1

Penso che tu sia per lo più downvoted perché le persone sono alla ricerca di una valutazione indipendente e neutrale di diversi prodotti, e hai appena collegato il blog di Hazelcast, che, anche se hanno cercato di essere neutrali, è ancora suscettibile di essere di parte, perché creeranno un test che si adatta al loro prodotto. Inoltre, StackOverflow preferisce che tu citi le informazioni pertinenti oltre a fornire un link, nel caso in cui il link smetta di funzionare. – MichaelRom