2014-06-25 5 views
7

Gibt es irgendeine legitime, gepflegte C++ - Bibliothek für die Interaktion mit Cassandra? Dies ist eine Frage der Disambiguation. Die Suche nach solchen Software führt immer zur DataStax „cpp-Treiber“ (ein bizarrer und irreführender Name) hier:Was ist mit der "echten" Cassandra C++ - Bibliothek libcql passiert?

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

Was allerdings über diese ungerade ist, ist, dass libcql es voraus, und nun die libcql Seite lenkt zu cpp-Treiber, wird nicht mehr, dass die besagt erhalten, dh

https://github.com/mstump/libcql

Aber der CPP-Treiber-Code scheint völlig anders als das, was libcql war. Tatsächlich scheint der Beispielcode in cpp-driver überhaupt nicht C++ zu sein (eher wie einfaches C) und hat kein In-Code-Kommentieren. Es scheint ein völlig anderes (und weniger ausgereiftes) Projekt zu sein. DataStax bezeichnet es jedoch immer noch als C++. Außerdem scheint es das einzige gepflegte Projekt zu sein, das C- und/oder C++ - Schnittstellen zu Cassandra bietet. Was ist mit libcql passiert? Warum hat es eine seltsame Transformation erfahren, nachdem es DataStax "umgedreht" wurde?

+0

In der Tat ist der so genannte C++ - Treiber schrecklich aus C++ zu verwenden. Objekte werden nicht verwaltet (Sie müssen sie explizit freigeben oder sie in shared_ptr einschließen), und Cassandra-Sammlungen werden nicht C++ - Sammlungen (z. B. map, list) zugeordnet. – user1202136

Antwort

3

libcql entwickelt sich in die cpp-driver.

Wie Sie die CPP-Fahrer bemerkt, ist noch in Arbeit, aber seine Hauptziele sind es mit den anderen Cassandra Treiber von DataStax unterstützt Funktionen wie auf dem Niveau zu bringen:

  1. Auto-Knoten Entdeckung
  2. steckbare Richtlinien für Routing, Wiederholungen, Fail-over
  3. eines reinen C-API, die sowohl von C, C++ verwendet werden können, sondern auch andere lang Treiber (zu hohen Leistung zu gewährleisten)

Einige os f die Funktionen sind bereits verfügbar (erwähnt in http://www.datastax.com/dev/blog/datastax-cpp-driver-beta-release), während andere an JIRA bearbeitet werden.

Last but not least, der Autor von libcql trat DataStax bei und er trägt derzeit zur cpp-driver bei.