Temos o prazer de anunciar a disponibilidade geral (GA) do C SDK para Couchbase! Esta versão adiciona suporte para linguagem C nativa ao nosso conjunto abrangente de bibliotecas SDK existentes em 11 linguagens de programação e marca um marco significativo em nosso compromisso de fornecer ferramentas robustas e de alto desempenho para que os desenvolvedores criem aplicativos modernos e escaláveis. Na verdade, este SDK C é a biblioteca principal por trás de nossos SDKs Python, NodeJS, Ruby e PHP existentes e se esforça para fornecer uma experiência consistente, eficiente e de desempenho em todas essas linguagens de programação.
C continua sendo uma linguagem vital para muitos desenvolvedores devido ao seu desempenho, eficiência e controle sobre os recursos do sistema. Ao apresentar o C SDK, o Couchbase capacita os desenvolvedores a aproveitar essas vantagens e, ao mesmo tempo, aproveitar todos os benefícios dos recursos avançados de NoSQL do Couchbase. Aqui estão alguns dos principais motivos pelos quais este lançamento é uma virada de jogo:
C é conhecido por sua velocidade e gerenciamento de memória de baixo nível, tornando-o ideal para aplicações onde o desempenho é crítico. O C SDK para Couchbase garante que você possa criar aplicativos de alto desempenho sem sacrificar a velocidade ou a eficiência.
O C SDK fornece integração perfeita com o Couchbase Server, permitindo que os desenvolvedores executem facilmente operações como operações KV, consultas SQL e transações. Essa forte integração garante que seus aplicativos possam ser dimensionados de maneira eficaz, mantendo o alto desempenho.
O C SDK apresenta uma API moderna e idiomática que se alinha aos padrões C mais recentes. Isso o torna não apenas poderoso, mas também intuitivo para desenvolvedores C, reduzindo a curva de aprendizado e permitindo que você comece a criar aplicativos rapidamente.
Aqui estão alguns dos recursos de destaque do C SDK para Couchbase:
O C SDK simplifica o gerenciamento de conexões, permitindo que você estabeleça e gerencie conexões com seu cluster Couchbase com esforço mínimo. Isso inclui lidar com pool de conexões, balanceamento de carga e failover, garantindo que seu aplicativo permaneça resiliente e com bom desempenho. Isso significa que o SDK pode ler automaticamente a topologia do seu cluster e fornecer conexões contínuas durante alterações de topologia, como redimensionamentos ou atualizações de cluster. Abaixo está um exemplo de código C para conectar ao seu banco de dados 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::coutSuporte à operação de valor-chave (KV)
O SDK C oferece suporte nativo à execução de operações de valor-chave. As operações de valor-chave são exclusivas do couchbase e fornecem operações CRUD muito rápidas para documentos armazenados no couchbase. Abaixo está um exemplo de código C para executar um simples KV get & upsert de um documento.
auto collection = cluster.bucket(config.bucket_name) .scope(config.scope_name) .collection(config.collection_name); // KV- get auto record = collection.get(document_id); std::coutSuporte avançado para consulta, pesquisa e pesquisa vetorial
O SDK C oferece suporte a consultas SQL, pesquisa de texto completo (FTS) e pesquisa vetorial, fornecendo ferramentas poderosas para executar operações de dados complexas. Se você precisa executar consultas sofisticadas ou realizar pesquisas de texto completo, o SDK tem o que você precisa.
Consultar Pesquisa
Abaixo está um trecho de código para executar uma consulta SQL simples para buscar registros da coleção de companhias aéreas:
auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name); auto [err, resp] = scope.query("SELECT * FROM airline LIMIT 10").get(); std::coutPesquisa de texto completo (FTS)
Abaixo está um trecho de código para executar uma consulta FTS para fazer uma pesquisa de texto completo por “bons restaurantes” o índice criado na coleção de pontos de referência:
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::coutPesquisa vetorial
Abaixo está um trecho de código para executar uma consulta de pesquisa vetorial:
auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name); // weights could be retrieved from your llm model or openAI std::vectorweights{ 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 Programação Assíncrona
O SDK oferece suporte a modelos de programação assíncrona, permitindo que você crie aplicativos responsivos e sem bloqueio. Isto é particularmente útil para aplicações de alto rendimento onde manter a capacidade de resposta é essencial. Aqui está um exemplo de execução de uma transação em um contexto assíncrono:
std::shared_ptrctx) -> couchbase::error { ctx->get( collection, some_id, // do something in this transaction } Transações
Este novo C SDK inclui suporte para transações e substitui nosso suporte existente para transações C, adicionando mais melhorias de desempenho e recursos. Abaixo está um trecho de código de exemplo para criar um contexto de transação:
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”) }Tratamento robusto de erros
O tratamento de erros é crucial em qualquer aplicativo, e o C SDK, assim como nossos outros SDKs, fornece recursos abrangentes de tratamento de erros, incluindo novas tentativas para quedas de conexão, pooling de conexões e mensagens de erro informativas. Isso garante que você possa lidar e se recuperar de erros com facilidade, melhorando a estabilidade e a confiabilidade de seus aplicativos.
Começando
Para ajudá-lo a começar a usar o C SDK para Couchbase, preparamos um guia detalhado de primeiros passos em nosso site de documentação. Aqui está uma rápida visão geral de como começar:
- Instalar o SDK : siga as instruções de instalação na documentação para configurar o SDK em seu ambiente de desenvolvimento.
- Conecte-se ao seu cluster: Conecte-se ao seu cluster Couchbase.
- Execute operações CRUD, execute consultas e aproveite os recursos poderosos do Couchbase.
Comunidade e Suporte
Acreditamos no poder da comunidade e do desenvolvimento de código aberto. O C SDK para Couchbase é de código aberto e incentivamos você a contribuir, fornecer feedback e participar da conversa. Para obter suporte, se você for nosso cliente licenciado empresarial, poderá entrar em contato por meio do suporte; caso contrário, poderá acessar nossa documentação abrangente, ingressar nos Fóruns do Couchbase ou no Discord do Couchbase, ou entrar em contato por meio de nosso portal de suporte.
Leitura adicional
Para saber mais, confira nosso site de documentação. Ele fornece mais detalhes sobre a API, especialmente sobre transações e operações assíncronas, e fornece outros materiais de referência e links de vinculações de amostra para você se aprofundar:
- Exemplos de código do Couchbase C SDK
- Documentação do SDK Couchbase C
- Baixe e instale o Couchbase C SDK
Os sistemas operacionais suportados estão listados em nosso site de documentação.
Boa codificação!
Equipe Couchbase
A postagem Anunciando a disponibilidade geral do C SDK para Couchbase apareceu pela primeira vez no The Couchbase Blog.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3