2014-06-25 8 views
7

Esiste una libreria C++ valida e mantenuta per l'interazione con Cassandra? Questa è una domanda di disambiguazione. Ricerca di tale software porta sempre al DataStax "cpp-driver" (un nome bizzarro e fuorviante) qui:Cosa è successo alla libreria "reale" di Cassandra C++ libcql?

https://github.com/datastax/cpp-driver

Cosa c'è di strano in questo, però, è che libcql preceduta, e ora la pagina di libcql indirizza a cpp-pilota, affermando che non è più mantenuto, cioè

https://github.com/mstump/libcql

Ma il codice cpp-pilota sembra completamente diverso da quello che era libcql. In effetti, il codice di esempio in cpp-driver non sembra affatto C++ (più simile a C semplice) e non ha commenti nel codice. Sembra essere un progetto completamente diverso (e meno maturo). Tuttavia, DataStax si riferisce ancora ad esso come C++. Inoltre, sembra essere l'unico progetto mantenuto che fornisce l'interfacciamento C e/o C++ con Cassandra. Cosa è successo a libcql? Perché è stato sottoposto a qualche strana trasformazione una volta "trasformata" in DataStax?

+0

In effetti, il cosiddetto driver C++ è orribile per essere utilizzato da C++. Gli oggetti non sono gestiti (devi liberarli esplicitamente o includerli in shared_ptr) e le raccolte di Cassandra non sono mappate alle raccolte C++ (ad es. Mappa, elenco). – user1202136

risposta

3

libcql si sta evolvendo/trasformando nello cpp-driver.

Come avrete notato il CPP-driver è ancora in lavorazione, ma i suoi obiettivi principali sono per portarlo alla pari con gli altri piloti Cassandra da DataStax funzioni di supporto come:

  1. rilevamento automatico nodi
  2. politiche innesto per il routing, tentativi, fail-over
  3. un'API C pura che possono essere utilizzati sia da C, C++, ma anche altri piloti Lang (per garantire elevate prestazioni)

Alcuni o Se le funzionalità sono già disponibili (menzionate in http://www.datastax.com/dev/blog/datastax-cpp-driver-beta-release), mentre altre sono in lavorazione su JIRA.

Ultimo ma non meno importante, l'autore di libcql è entrato in DataStax e attualmente sta contribuendo allo cpp-driver.