«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Объявление об общей доступности C++ SDK для Couchbase

Объявление об общей доступности C++ SDK для Couchbase

Опубликовано 6 августа 2024 г.
Просматривать:448

Announcing General Availability of the C   SDK for Couchbase

Мы рады объявить об общедоступной версии (GA) C SDK для Couchbase! Этот выпуск добавляет поддержку родного языка C к нашему существующему комплексному набору библиотек SDK на 11 языках программирования и знаменует собой важную веху в нашем стремлении предоставить разработчикам надежные и высокопроизводительные инструменты для создания современных масштабируемых приложений. Фактически, этот C SDK является основной библиотекой, лежащей в основе наших существующих SDK для Python, NodeJS, Ruby и PHP, и стремится обеспечить согласованную, производительную и эффективную работу на всех этих языках программирования.

Почему C SDK?

C остается жизненно важным языком для многих разработчиков благодаря своей производительности, эффективности и контролю над системными ресурсами. Представляя C SDK, Couchbase дает разработчикам возможность использовать эти преимущества, в то же время в полной мере используя расширенные возможности Couchbase NoSQL. Вот несколько ключевых причин, почему этот выпуск меняет правила игры:

Производительность

C известен своей скоростью и низкоуровневым управлением памятью, что делает его идеальным для приложений, где производительность имеет решающее значение. C SDK для Couchbase гарантирует, что вы сможете создавать высокопроизводительные приложения без ущерба для скорости и эффективности.

Бесшовная интеграция

C SDK обеспечивает плавную интеграцию с Couchbase Server, позволяя разработчикам легко выполнять такие операции, как операции KV, SQL-запросы и транзакции. Такая тесная интеграция гарантирует эффективное масштабирование ваших приложений при сохранении высокой производительности.

Современный дизайн API

C SDK имеет современный идиоматический API, соответствующий новейшим стандартам C. Это делает его не только мощным, но и интуитивно понятным для разработчиков C, сокращая время обучения и позволяя быстро приступить к созданию приложений.

Ключевая особенность

Вот некоторые из выдающихся особенностей C SDK для Couchbase:

Простое управление подключением

C SDK упрощает управление соединениями, позволяя вам устанавливать соединения с вашим кластером Couchbase и управлять ими с минимальными усилиями. Сюда входит обработка пула соединений, балансировка нагрузки и отработка отказа, гарантируя, что ваше приложение останется устойчивым и производительным. Это означает, что SDK может автоматически считывать топологию вашего кластера и обеспечивать плавные соединения во время изменений топологии, таких как изменение размера кластера или его обновление. Ниже приведен пример кода C для подключения к вашей базе данных Couchbase.

// Attempt to connect to the Couchbase cluster
auto [connect_err, cluster] = couchbase::cluster::connect(config.connection_string, options).get();

if (connect_err) {
    // Output the error message if connection fails
    std::cout 



Поддержка операций «ключ-значение» (KV)

C SDK изначально поддерживает выполнение операций «ключ-значение». Операции «ключ-значение» уникальны для Couchbase и обеспечивают очень быстрые операции CRUD для документов, хранящихся в Couchbase. Ниже приведен пример кода C для запуска простого получения и добавления документа KV.

auto collection = cluster.bucket(config.bucket_name)
                         .scope(config.scope_name)
                         .collection(config.collection_name);

// KV- get
auto record = collection.get(document_id);
std::cout 



Поддержка расширенных запросов, поиска и векторного поиска

C SDK поддерживает запросы SQL, полнотекстовый поиск (FTS) и векторный поиск, предоставляя вам мощные инструменты для выполнения сложных операций с данными. Если вам нужно выполнить сложные запросы или полнотекстовый поиск, SDK поможет вам.

Поиск по запросу

Ниже приведен фрагмент кода для выполнения простого SQL-запроса для получения записей из коллекции авиакомпаний:

auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name);
  auto [err, resp] = scope.query("SELECT * FROM airline LIMIT 10").get();
  std::cout 



Полнотекстовый поиск (FTS)

Ниже приведен фрагмент кода для выполнения запроса FTS для полнотекстового поиска «хорошие рестораны» — индекс, созданный в коллекции достопримечательностей:

auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name);
auto [err, resp] = scope
  .search("travel-inventory-landmarks",
     couchbase::search_request(couchbase::query_string_query("nice restaurants")),
     couchbase::search_options{}.fields({ "content" }))
  .get();
for (const auto& row : resp.rows()) {
  auto fields = row.fields_as<:codec::tao_json_serializer>();
  std::cout 



Векторный поиск

Ниже приведен фрагмент кода для выполнения векторного поискового запроса:

auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name);

// weights could be retrieved from your llm model or openAI
std::vector weights{ 0.1, 0.2, 0.3, 0.4 };
auto [err, resp] = scope
  .search("travel-inventory-landmarks",
    couchbase::search_request(couchbase::vector_search(
    couchbase::vector_query(field_name, weights))))
  .get();

for (const auto& row : resp.rows()) {
  auto fields = row.fields_as<:codec::tao_json_serializer>();
  std::cout 



Асинхронное программирование

SDK поддерживает модели асинхронного программирования, что позволяет создавать адаптивные неблокирующие приложения. Это особенно полезно для приложений с высокой пропускной способностью, где важно поддерживать оперативность. Вот пример выполнения транзакции в асинхронном контексте:

std::shared_ptr ctx) -> couchbase::error {
  ctx->get(
    collection,
    some_id,
    // do something in this transaction
}

Транзакции

Этот новый C SDK включает поддержку транзакций и заменяет существующую поддержку транзакций C, добавляя дополнительные улучшения производительности и функции. Ниже приведен пример фрагмента кода для создания контекста транзакции:

std::shared_ptr<:transactions::attempt_context> ctx) -> couchbase::error {
  ctx.insert(collection, "doc-a", nlohmann::json({}));
  couchbase::transactions::transaction_get_result doc_a = ctx->get( collection, “doc-a”)
}

Надежная обработка ошибок

Обработка ошибок имеет решающее значение в любом приложении, и C SDK, как и другие наши SDK, предоставляет комплексные возможности обработки ошибок, включая повторную попытку разрыва соединения, объединение пулов соединений и информативные сообщения об ошибках. Это гарантирует, что вы сможете корректно обрабатывать ошибки и восстанавливаться после них, повышая стабильность и надежность ваших приложений.

Начиная

Чтобы помочь вам начать работу с C SDK для Couchbase, мы подготовили подробное руководство по началу работы на нашем веб-сайте документации. Вот краткий обзор того, как начать:

    • Установите SDK : следуйте инструкциям по установке в документации, чтобы настроить SDK в вашей среде разработки.
    • Подключитесь к своему кластеру : подключитесь к своему кластеру Couchbase.
    • Выполняйте операции CRUD, запускайте запросы и используйте мощные функции Couchbase.

Сообщество и поддержка

Мы верим в силу сообщества и разработку с открытым исходным кодом. C SDK для Couchbase имеет открытый исходный код, и мы призываем вас вносить свой вклад, оставлять отзывы и присоединяться к обсуждению. Если вы являетесь нашим клиентом с корпоративной лицензией, вы можете обратиться за поддержкой через службу поддержки. В противном случае вы можете получить доступ к нашей полной документации, присоединиться к форумам Couchbase или Couchbase Discord или обратиться через наш портал поддержки.

Дальнейшее чтение

Чтобы узнать больше, посетите наш сайт документации. В нем более подробно рассматривается API, особенно транзакции и асинхронные операции, а также предоставляются другие справочные материалы и ссылки на примеры привязок, которые помогут вам копнуть глубже:

    • Примеры кода Couchbase C SDK
    • Документация Couchbase C SDK
    • Загрузите и установите Couchbase C SDK

Поддерживаемые операционные системы перечислены на нашем веб-сайте документации.

Удачного программирования!

Команда Couchbase

Пост, объявляющий об общей доступности C SDK для Couchbase, впервые появился в блоге Couchbase.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/couchbase/announcing-general-availability-of-the-c-sdk-for-couchbase-51cg. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3