2014-06-25 13 views
7

Czy istnieje jakakolwiek legalna, obsługiwana biblioteka C++ do interakcji z Cassandrą? To rodzaj ujednoznaczniających pytań. Szukając takiego oprogramowania zawsze prowadzi do DataStax „CPP-driver” (nazwa dziwne i mylące) Tutaj:Co stało się z "prawdziwą" biblioteką Cassandra C++ libcql?

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

Co dziwne na ten temat jest jednak to, że libcql poprzedza go, a teraz strona libcql kieruje do CPP-kierowcy, stwierdzając, że nie jest już utrzymywany, tj

https://github.com/mstump/libcql

ale kod cpp-kierowca wydaje się zupełnie inny niż to, co libcql było. W rzeczywistości przykładowy kod w sterowniku cpp nie wydaje się być w ogóle C++ (bardziej jak zwykły C) i nie ma komentarzy w kodzie. Wygląda na zupełnie inny (i mniej dojrzały) projekt. Jednak DataStax nadal określa go jako C++. Co więcej, wydaje się być jedynym utrzymanym projektem, który zapewnia interfejs C i/lub C++ z Cassandrą. Co stało się z libcql? Dlaczego dokonano jakiejś dziwnej transformacji, kiedy została "przekazana" do DataStax?

+0

Rzeczywiście, tak zwany sterownik C++ jest okropny do użycia z C++. Obiekty nie są zarządzane (musisz zwolnić je jawnie lub zawinąć je w shared_ptr), a kolekcje Cassandra nie są mapowane do kolekcji C++ (np. Mapa, lista). – user1202136

Odpowiedz

3

libcql ewoluuje/przekształca się w cpp-driver.

Jak zauważył CPP-kierowca jest nadal w pracach, ale jej główne cele to przynieść go na równi z innymi kierowcami Cassandra z DataStax funkcji wspierających, takich jak:

  1. auto-węzeł odkrycie
  2. wtykowe polityka routingu, prób, fail-over
  3. czystego C API, które mogą być używane zarówno z C, C++, ale także innych kierowców lang (aby zapewnić wysoką wydajność)

Niektóre o f funkcje są już dostępne (wymienione w http://www.datastax.com/dev/blog/datastax-cpp-driver-beta-release), podczas gdy inne są przetwarzane na JIRA.

Ostatni, ale nie najmniej, autor libcql dołączył DataStax i jest on obecnie przyczyniając się do cpp-driver.

Powiązane problemy