Nous sommes ravis d'annoncer la disponibilité générale (GA) du SDK C pour Couchbase ! Cette version ajoute la prise en charge du langage C natif à notre ensemble complet existant de bibliothèques SDK dans 11 langages de programmation et marque une étape importante dans notre engagement à fournir des outils robustes et performants aux développeurs pour créer des applications modernes et évolutives. En fait, ce SDK C est la bibliothèque principale derrière nos SDK Python, NodeJS, Ruby et PHP existants et s'efforce de fournir une expérience cohérente, performante et efficace dans tous ces langages de programmation.
C reste un langage vital pour de nombreux développeurs en raison de ses performances, de son efficacité et de son contrôle sur les ressources système. En introduisant le SDK C, Couchbase permet aux développeurs de tirer parti de ces avantages tout en tirant pleinement parti des capacités NoSQL avancées de Couchbase. Voici quelques raisons clés pour lesquelles cette version change la donne :
C est réputé pour sa vitesse et sa gestion de la mémoire de bas niveau, ce qui le rend idéal pour les applications où les performances sont critiques. Le SDK C pour Couchbase garantit que vous pouvez créer des applications hautes performances sans sacrifier la vitesse ou l'efficacité.
Le SDK C offre une intégration transparente avec Couchbase Server, permettant aux développeurs d'effectuer facilement des opérations telles que des opérations KV, des requêtes SQL et des transactions. Cette intégration étroite garantit que vos applications peuvent évoluer efficacement tout en conservant des performances élevées.
Le SDK C dispose d'une API moderne et idiomatique qui s'aligne sur les dernières normes C. Cela le rend non seulement puissant mais également intuitif pour les développeurs C, réduisant ainsi la courbe d'apprentissage et vous permettant de commencer à créer des applications rapidement.
Voici quelques-unes des fonctionnalités remarquables du SDK C pour Couchbase :
Le SDK C simplifie la gestion des connexions, vous permettant d'établir et de gérer les connexions à votre cluster Couchbase avec un minimum d'effort. Cela inclut la gestion du pool de connexions, l’équilibrage de charge et le basculement, garantissant ainsi que votre application reste résiliente et performante. Cela signifie que le SDK peut lire automatiquement la topologie de votre cluster et fournir des connexions transparentes lors des modifications de topologie telles que le redimensionnement ou la mise à niveau du cluster. Vous trouverez ci-dessous un exemple de code C pour vous connecter à votre base de données 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::coutPrise en charge des opérations par valeur clé (KV)
Le SDK C prend en charge de manière native l'exécution d'opérations sur les valeurs clés. Les opérations clé-valeur sont uniques à Couchbase et fournissent des opérations CRUD très rapides pour les documents stockés dans Couchbase. Vous trouverez ci-dessous un exemple de code C pour exécuter une simple obtention et insertion KV d'un document.
auto collection = cluster.bucket(config.bucket_name) .scope(config.scope_name) .collection(config.collection_name); // KV- get auto record = collection.get(document_id); std::coutPrise en charge des requêtes riches, de la recherche et de la recherche de vecteurs
Le SDK C prend en charge les requêtes SQL, la recherche en texte intégral (FTS) et la recherche vectorielle, vous offrant ainsi des outils puissants pour effectuer des opérations de données complexes. Que vous ayez besoin d'exécuter des requêtes sophistiquées ou d'effectuer des recherches en texte intégral, le SDK est là pour vous.
Recherche de requête
Vous trouverez ci-dessous un extrait de code permettant d'exécuter une simple requête SQL pour récupérer les enregistrements de la collection des compagnies aériennes :
auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name); auto [err, resp] = scope.query("SELECT * FROM airline LIMIT 10").get(); std::coutRecherche en texte intégral (FTS)
Vous trouverez ci-dessous un extrait de code pour exécuter une requête FTS afin d'effectuer une recherche en texte intégral pour « bons restaurants » l'index créé sur la collection historique :
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::coutRecherche de vecteurs
Vous trouverez ci-dessous un extrait de code pour exécuter une requête de recherche vectorielle :
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 Programmation asynchrone
Le SDK prend en charge les modèles de programmation asynchrone, vous permettant de créer des applications réactives et non bloquantes. Ceci est particulièrement utile pour les applications à haut débit où le maintien de la réactivité est essentiel. Voici un exemple d'exécution d'une transaction dans un contexte asynchrone :
std::shared_ptrctx) -> couchbase::error { ctx->get( collection, some_id, // do something in this transaction } Transactions
Ce nouveau SDK C inclut la prise en charge des transactions et remplace notre prise en charge existante des transactions C en ajoutant davantage d'améliorations de performances et de fonctionnalités. Vous trouverez ci-dessous un exemple d'extrait de code permettant de créer un contexte de transaction :
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”) }Gestion robuste des erreurs
La gestion des erreurs est cruciale dans toute application, et le SDK C, tout comme nos autres SDK, fournit des fonctionnalités complètes de gestion des erreurs, notamment de nouvelles tentatives en cas d'interruption de connexion, de regroupement de connexions et de messages d'erreur informatifs. Cela garantit que vous pouvez gérer et récupérer facilement les erreurs, améliorant ainsi la stabilité et la fiabilité de vos applications.
Commencer
Pour vous aider à démarrer avec le SDK C pour Couchbase, nous avons préparé un guide de démarrage détaillé sur notre site Web de documentation. Voici un bref aperçu de la façon de commencer :
- Installer le SDK : suivez les instructions d'installation dans la documentation pour configurer le SDK dans votre environnement de développement.
- Connectez-vous à votre cluster : Connectez-vous à votre cluster Couchbase.
- Effectuez des opérations CRUD, exécutez des requêtes et tirez parti des puissantes fonctionnalités de Couchbase.
Communauté et soutien
Nous croyons au pouvoir de la communauté et du développement open source. Le SDK C pour Couchbase est open source et nous vous encourageons à contribuer, à fournir des commentaires et à rejoindre la conversation. Pour obtenir de l'aide, si vous êtes notre client sous licence d'entreprise, vous pouvez nous contacter via l'assistance, sinon vous pouvez accéder à notre documentation complète, rejoindre les forums Couchbase ou Couchbase Discord, ou nous contacter via notre portail d'assistance.
Lectures complémentaires
Pour en savoir plus, consultez notre site Web de documentation. Il entre plus en détail sur l'API, en particulier sur les transactions et les opérations asynchrones et fournit d'autres documents de référence et des exemples de liens de liaisons pour que vous puissiez approfondir :
- Exemples de code du SDK Couchbase C
- Documentation du SDK Couchbase C
- Téléchargez et installez le SDK Couchbase C
Les systèmes d'exploitation pris en charge sont répertoriés sur notre site Web de documentation.
Bon codage !
L'équipe Couchbase
Le message annonçant la disponibilité générale du SDK C pour Couchbase est apparu en premier sur le blog Couchbase.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3