Heim >Backend-Entwicklung >C++ >Ankündigung der allgemeinen Verfügbarkeit des C++ SDK für Couchbase
Wir freuen uns, die allgemeine Verfügbarkeit (GA) des C++ SDK für Couchbase bekannt zu geben! Diese Version erweitert unseren bestehenden umfassenden Satz an SDK-Bibliotheken in 11 Programmiersprachen um Unterstützung für die native C++-Sprache und stellt einen wichtigen Meilenstein in unserem Engagement dar, Entwicklern robuste, leistungsstarke Tools zum Erstellen moderner, skalierbarer Anwendungen bereitzustellen. Tatsächlich ist dieses C++ SDK die Kernbibliothek hinter unseren bestehenden Python-, NodeJS-, Ruby- und PHP-SDKs und ist bestrebt, ein konsistentes, leistungsfähiges und effizientes Erlebnis über alle diese Programmiersprachen hinweg zu bieten.
C++ bleibt aufgrund seiner Leistung, Effizienz und Kontrolle über Systemressourcen eine wichtige Sprache für viele Entwickler. Durch die Einführung des C++ SDK ermöglicht Couchbase Entwicklern, diese Vorteile zu nutzen und gleichzeitig die erweiterten NoSQL-Funktionen von Couchbase voll auszunutzen. Hier sind einige Hauptgründe, warum diese Version bahnbrechend ist:
C++ ist bekannt für seine Geschwindigkeit und sein niedriges Speichermanagement und eignet sich daher ideal für Anwendungen, bei denen die Leistung von entscheidender Bedeutung ist. Das C++ SDK für Couchbase stellt sicher, dass Sie Hochleistungsanwendungen erstellen können, ohne Einbußen bei Geschwindigkeit oder Effizienz.
Das C++ SDK bietet eine nahtlose Integration mit Couchbase Server und ermöglicht Entwicklern die einfache Durchführung von Vorgängen wie KV-Vorgängen, SQL++-Abfragen und Transaktionen. Diese enge Integration stellt sicher, dass Ihre Anwendungen effektiv skaliert werden können und gleichzeitig eine hohe Leistung beibehalten.
Das C++ SDK verfügt über eine moderne, idiomatische API, die den neuesten C++-Standards entspricht. Dies macht es nicht nur leistungsstark, sondern auch intuitiv für C++-Entwickler, wodurch die Lernkurve verkürzt wird und Sie schnell mit der Entwicklung von Anwendungen beginnen können.
Hier sind einige der herausragenden Funktionen des C++ SDK für Couchbase:
Das C++ SDK vereinfacht die Verbindungsverwaltung, sodass Sie mit minimalem Aufwand Verbindungen zu Ihrem Couchbase-Cluster herstellen und verwalten können. Dazu gehört die Handhabung von Verbindungspooling, Lastausgleich und Failover, um sicherzustellen, dass Ihre Anwendung stabil und leistungsfähig bleibt. Dies bedeutet, dass das SDK die Topologie Ihres Clusters automatisch lesen und nahtlose Verbindungen bei Topologieänderungen wie Clustergrößenänderungen oder Cluster-Upgrades bereitstellen kann. Unten finden Sie ein Beispiel für C++-Code zum Herstellen einer Verbindung mit Ihrer Couchbase-Datenbank.
// 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 << "Unable to connect to the cluster. Error code: " << connect_err.message() << "\n"; } else { auto collection = cluster.bucket(config.bucket_name) .scope(config.scope_name) .collection(config.collection_name); // d something interesting cluster.close().get(); }
Das C++ SDK unterstützt nativ die Durchführung von Schlüsselwertoperationen. Schlüsselwertoperationen gibt es nur bei Couchbase und ermöglichen sehr schnelle CRUD-Operationen für in Couchbase gespeicherte Dokumente. Unten finden Sie ein Beispiel für C++-Code zum Ausführen eines einfachen KV-Get & Upsert eines Dokuments.
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 << record.content_as() << "\n"; // create a new document const std::string document_id{ "minimal_example" }; const tao::json::value basic_doc{ { "a", 1.0 }, { "b", 2.0 }, }; // KV auto [err, resp] = collection.upsert(document_id, basic_doc, {}).get(); if (err.ec()) { std::cout << "ec: " << err.message() << ", "; } else { std::cout << "id: " << document_id << ", CAS: " << resp.cas().value() << "\n"; } cluster.close().get();
Das C++ SDK unterstützt SQL++-Abfragen, Volltextsuche (FTS) und Vektorsuche und stellt Ihnen leistungsstarke Tools zur Durchführung komplexer Datenoperationen zur Verfügung. Egal, ob Sie anspruchsvolle Abfragen ausführen oder Volltextsuchen durchführen müssen, mit dem SDK sind Sie an der richtigen Adresse.
Unten finden Sie einen Codeausschnitt zum Ausführen einer einfachen SQL++-Abfrage zum Abrufen von Datensätzen aus der Flugliniensammlung:
auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name); auto [err, resp] = scope.query("SELECT * FROM airline LIMIT 10").get(); std::cout << "--- Iterating as JSON objects:\n"; for (auto row : resp.rows_as_json()) { std::cout << "Airline(id: " << row["airline"]["id"] << ", name: \"" << row["airline"]["name"] << "\")\n"; }
Unten finden Sie einen Codeausschnitt zum Ausführen einer FTS-Abfrage, um eine Volltextsuche nach „schöne Restaurants“ durchzuführen, dem Index, der für die Wahrzeichensammlung erstellt wurde:
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<couchbase::codec::tao_json_serializer>(); std::cout << "score: " << row.score() << ", id: \"" << row.id() << "\", content: \"" << fields["content"].get_string() << "\"\n"; }
Unten finden Sie einen Codeausschnitt zum Ausführen einer Vektorsuchabfrage:
auto scope = cluster.bucket(config.bucket_name).scope(config.scope_name); // weights could be retrieved from your llm model or openAI std::vector<double> 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<couchbase::codec::tao_json_serializer>(); std::cout << "score: " << row.score() << ", id: \"" << row.id() << "\", content: \"" << fields["content"].get_string() << "\"\n"; }
Das SDK unterstützt asynchrone Programmiermodelle, sodass Sie reaktionsfähige, nicht blockierende Anwendungen erstellen können. Dies ist besonders nützlich für Anwendungen mit hohem Durchsatz, bei denen die Aufrechterhaltung der Reaktionsfähigkeit von entscheidender Bedeutung ist. Hier ist ein Beispiel für die Ausführung einer Transaktion in einem asynchronen Kontext:
std::shared_ptr<async_attempt_context> ctx) -> couchbase::error { ctx->get( collection, some_id, // do something in this transaction }
Dieses neue C++ SDK bietet Unterstützung für Transaktionen und ersetzt unsere bestehende C++-Transaktionsunterstützung durch das Hinzufügen weiterer Leistungsverbesserungen und Funktionen. Unten finden Sie ein Beispielcode-Snippet zum Erstellen eines Transaktionskontexts:
std::shared_ptr<couchbase::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”) }
Fehlerbehandlung ist in jeder Anwendung von entscheidender Bedeutung, und das C++ SDK bietet, genau wie unsere anderen SDKs, umfassende Fehlerbehandlungsfunktionen, einschließlich Wiederholungsversuchen bei Verbindungsabbrüchen, Verbindungspooling und informativen Fehlermeldungen. Dadurch wird sichergestellt, dass Sie Fehler ordnungsgemäß behandeln und beheben können, wodurch die Stabilität und Zuverlässigkeit Ihrer Anwendungen verbessert wird.
Um Ihnen den Einstieg in das C++ SDK für Couchbase zu erleichtern, haben wir auf unserer Dokumentationswebsite einen ausführlichen Leitfaden für die ersten Schritte vorbereitet. Hier ist ein kurzer Überblick, wie Sie beginnen können:
Wir glauben an die Kraft der Community und der Open-Source-Entwicklung. Das C++ SDK für Couchbase ist Open Source und wir ermutigen Sie, einen Beitrag zu leisten, Feedback zu geben und sich an der Diskussion zu beteiligen. Wenn Sie unser Kunde mit Unternehmenslizenz sind, können Sie sich über den Support an uns wenden. Andernfalls können Sie auf unsere umfassende Dokumentation zugreifen, den Couchbase-Foren oder Couchbase Discord beitreten oder sich über unser Support-Portal an uns wenden.
Weitere Informationen finden Sie auf unserer Dokumentationswebsite. Es geht detaillierter auf die API ein, insbesondere auf Transaktionen und asynchrone Vorgänge, und bietet weitere Referenzmaterialien und Beispielbindungslinks, damit Sie tiefer in die Materie eintauchen können:
Unterstützte Betriebssysteme sind auf unserer Dokumentationswebsite aufgeführt.
Viel Spaß beim Codieren!
Das Couchbase-Team
Der Beitrag „Ankündigung der allgemeinen Verfügbarkeit des C++ SDK für Couchbase“ erschien zuerst im Couchbase-Blog.
Das obige ist der detaillierte Inhalt vonAnkündigung der allgemeinen Verfügbarkeit des C++ SDK für Couchbase. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!