„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Ankündigung der allgemeinen Verfügbarkeit des C++ SDK für Couchbase

Ankündigung der allgemeinen Verfügbarkeit des C++ SDK für Couchbase

Veröffentlicht am 06.08.2024
Durchsuche:541

Announcing General Availability of the C   SDK for 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 strebt danach, ein konsistentes, leistungsfähiges und effizientes Erlebnis über alle diese Programmiersprachen hinweg zu bieten.

Warum C SDK?

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:

Leistung

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.

Nahtlose Integration

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.

Modernes API-Design

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 Erstellung von Anwendungen beginnen können.

Hauptmerkmale

Hier sind einige der herausragenden Funktionen des C SDK für Couchbase:

Einfache Verbindungsverwaltung

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 zu 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 



Schlüsselwert-Betriebsunterstützung (KV).

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 



Umfangreiche Abfrage-, Such- und Vektorsuchunterstützung

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.

Abfragesuche

Unten ist ein 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 



Volltextsuche (FTS)

Unten ist ein 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<:codec::tao_json_serializer>();
  std::cout 



Vektorsuche

Unten ist ein 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 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 



Asynchrone Programmierung

Das SDK unterstützt asynchrone Programmiermodelle und ermöglicht Ihnen die Erstellung reaktionsfähiger, nicht blockierender Anwendungen. 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 ctx) -> couchbase::error {
  ctx->get(
    collection,
    some_id,
    // do something in this transaction
}

Transaktionen

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<: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”)
}

Robuste Fehlerbehandlung

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.

Erste Schritte

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:

    • Installieren Sie das SDK: Befolgen Sie die Installationsanweisungen in der Dokumentation, um das SDK in Ihrer Entwicklungsumgebung einzurichten.
    • Mit Ihrem Cluster verbinden: Stellen Sie eine Verbindung zu Ihrem Couchbase-Cluster her.
    • Führen Sie CRUD-Operationen aus, führen Sie Abfragen aus und nutzen Sie die leistungsstarken Funktionen von Couchbase.

Gemeinschaft und Unterstützung

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.

Weiterführende Literatur

Weitere Informationen finden Sie auf unserer Dokumentationswebsite. Es geht ausführlicher auf die API ein, insbesondere auf Transaktionen und asynchrone Vorgänge, und stellt weitere Referenzmaterialien und Beispielbindungslinks bereit, damit Sie tiefer in die Materie eintauchen können:

    • Couchbase C SDK-Codebeispiele
    • Couchbase C SDK-Dokumentation
    • Couchbase C SDK herunterladen und installieren

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.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/couchbase/anncreasing-general-availability-of-the-c-sdk-for-couchbase-51cg Bei Verstößen wenden Sie sich bitte an [email protected], um den Artikel zu löschen Es
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3