Что случилось с «настоящей» библиотекой Cassandra C libcql?

#c #cassandra #cql

#c #кассандра #cql

Вопрос:

Существует ли какая-либо законная, поддерживаемая библиотека C для взаимодействия с Cassandra? Это своего рода вопрос устранения неоднозначности. Поиск такого программного обеспечения всегда приводит к «cpp-драйверу» DataStax (странное и вводящее в заблуждение название) здесь:

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

Что в этом странного, так это то, что libcql предшествовал этому, и теперь страница libcql перенаправляет на cpp-driver, указывая, что это больше не поддерживается, т.е.

https://github.com/mstump/libcql

Но код cpp-драйвера выглядит совершенно иначе, чем в libcql. На самом деле, пример кода в cpp-driver вообще не похож на C (больше похож на обычный C) и не имеет комментариев в коде. Похоже, это совершенно другой (и менее зрелый) проект. Тем не менее, DataStax по-прежнему ссылается на нее как на C . Кроме того, похоже, это единственный поддерживаемый проект, который обеспечивает взаимодействие C и / или C с Cassandra. Что случилось с libcql? Почему она претерпела какое-то странное преобразование после того, как была «передана» в DataStax?

Комментарии:

1. Действительно, так называемый драйвер C ужасен для использования с C . Объекты не управляются (их нужно явно освободить или обернуть в shared_ptr), а коллекции Cassandra не сопоставляются с коллекциями C (например, map, list).

Ответ №1:

libcql развивается / превращается в cpp-драйвер.

Как вы заметили, cpp-драйвер все еще находится в разработке, но его основные цели — привести его в соответствие с другими драйверами Cassandra от DataStax, поддерживающими такие функции, как:

  1. автоматическое обнаружение узлов
  2. подключаемые политики для маршрутизации, повторных попыток, сбоев
  3. чистый C API, который можно использовать как из C, C , так и из других драйверов lang (для обеспечения высокой производительности)

Некоторые функции уже доступны (упомянуты в http://www.datastax.com/dev/blog/datastax-cpp-driver-beta-release ), в то время как другие работают над JIRA.

И последнее, но не менее важное: автор libcql joined DataStax, и в настоящее время он вносит свой вклад в cpp-driver .