Ho recentemente iniziato a lavorare con Cassandra Database. Ora sono in procinto di valutare a quale Cassandra client
dovremmo andare avanti.API del client Cassandra Java
Ho visto vari post su Stackoverflow su quale client utilizzare per Cassandra ma nessuno ha una risposta molto definitiva.
La mia squadra mi ha chiesto di fare qualche ricerca su questo e di trovare un certo pros and cons
per ogni Cassandra Client API’s
in Java.
Come ho già detto, ho recentemente è stato coinvolto con Cassandra
quindi non avere più di tanto idea del perché alcune persone scelgono Pelops client
e perché certe persone vanno con Astyanax
e alcuni altri clienti.
Conosco brevi cose su ciascuno dei client Cassandra, con cui intendo dire che sono in grado di farlo funzionare e iniziare a leggere e scrivere nel database di Cassandra.
Di seguito sono le informazioni che ho finora.
CASSANDRA APIS
Hector (produzione-Ready)
Il più stabile delle API Java, pronto per il prime-time.Astianatte (su e Comer)
Un pulito API Java da Netflix. Non è così diffuso come Hector, ma è solido.Kundera (La NoSQL ORM)
JPA compatibile, questo è utile quando si vuole interagire con Cassandra attraverso oggetti.
Questo ti costringe in qualche modo a non essere in grado di avere un numero dinamico di colonne/nomi, ecc. Ma ti permette di eseguire il port over ORM, o centralizzare lo storage su Cassandra per usi più tradizionali.Pelope
Ho usato solo Pelope brevemente. Era un'API semplice, ma non sembrava che lo avesse lo slancio dietro.PlayORM (ORM senza i vincoli?)
Ho appena sentito parlare di questo. Sembra che stia cercando di risolvere l'impedenza di disaccordo tra gli ORM tradizionali basati su JPA e NoSQL introducendo JQL. Sembra promettente .Thrift (evitarmi!)
Questa è l'API "di basso livello".
seguito sono nostre priorità nel decidere Cassandra Client
-
- Prima priorità sono: basso overhead latenza, Asynch API, e affidabilità/stabilità ambiente di produzione.
(ad esempio un'API più user-friendly che si può avere nel DAL che avvolge il client). - Il pool di connessioni e la consapevolezza delle partizioni sono altre buone caratteristiche.
- In grado di rilevare eventuali nuovi nodi aggiunti.
- buon supporto, nonché (come sottolineato dal decano di seguito)
Qualcuno può fornire alcuni pensieri su questo? E anche qualsiasi pro e contro per ogni Cassandra Client
e anche quale client può soddisfare i miei requisiti sarà di grande aiuto pure.
Credo, principalmente girerò intorno a Astyanax client or New Datastax client that uses Binary protocol
Credo che sia la base della mia ricerca fino ad ora. Ma non ho certe informazioni per sostenere la mia ricerca e presentarla alla mia squadra.
Qualsiasi confronto tra il client Astyanax e il client New Datastax (che utilizza un nuovo protocollo Binary) sarà di grande aiuto.
Sarà di grande aiuto per me nella mia ricerca e otterrò molte informazioni su questo da persone diverse che hanno usato clienti diversi in passato.
È inoltre possibile aggiungere cassandra-JDBC alla tua lista https://code.google.com/a/apache-extras.org/p/cassandra-jdbc/ – phatfingers
Buone phatfingers punto. Ho conosciuto un'altra roba. Freddo. – ferhan
Ho scelto astyanax ad un certo punto e posso dire di sicuro che è facile da usare e molto stabile. Pochi indicatori: [per il driver datastax è beta per ora] (https://github.com/datastax/java-driver/blob/master/README.rst); [Astyanax su protocollo nativo] (https://github.com/Netflix/astyanax/issues/280) –