SDKs & Connectors

Couchbase provides several SDKs to allow applications to access a Couchbase cluster (Capella or self-managed), as well as Couchbase Lite — an embedded, NoSQL JSON Document Style database for your mobile apps. To exchange data with other platforms, we offer various Big Data Connectors.

val json = JsonObject("foo" -> "bar", "baz" -> "qux")

collection.reactive.upsert("document-key", json)
    .doOnError(err  => println(s"Error during upsert: ${err}"))
    .doOnNext(_     => println("Success"))
    .subscribe()
Columnar SDKs

SDKs for Capella Columnar — Couchbase’s analytical database (RT-OLAP) for real time apps and operational intelligence — are in development, and will be arriving first for the Java, Node.js, and Python platforms.


Server SDKs

The Couchbase SDKs allow applications to access a Couchbase cluster. They offer traditional synchronous APIs as well as scalable asynchronous APIs to maximize performance.

SDK Documentation Hello World Example API Reference

.NET SDK

Docs

.NET Getting Started

.NET API Reference

C SDK

Docs

C Getting Started

C API Reference

C++ SDK

Docs

C++ Getting Started

C++ API Reference

Go SDK

Docs

Go Getting Started

Go API Reference

Java SDK

Docs

Java Getting Started

Java API Reference

Kotlin SDK

Docs

Kotlin Getting Started

Kotlin API Reference

Node.js SDK

Docs

Node.js Getting Started

Node.js API Reference

PHP SDK

Docs

PHP Getting Started

PHP API Reference

Python SDK

Docs

Python Getting Started

Python API Reference

Ruby SDK

Docs

Ruby Getting Started

Ruby API Reference

Scala SDK

Docs

Scala Getting Started

Scala API Reference

SDK Extension Libraries

The SDK Extension Libraries are shipped as separate libraries.

Field Level Encryption

Fields within a JSON document can be securely encrypted by the SDK to support FIPS 140-2 compliance. This is a client-side implementation, with encryption and decryption handled by the Couchbase client SDK.

Response Time Observability

Health indicators can tell you a lot about the performance of an application. Monitoring them is vital both during its development and production lifecycle. For a database, performance is best encapsulated via per-request performance.

Distributed ACID Transactions

Previously, distributed ACID transactions were available as separate libraries for some of the SDKs. Please note that this feature, available now in most of the SDKs, is incorporated directly into these SDKs.


Capella columnar SDKs

Capella Columnar is an analytical database (RT-OLAP) for real time apps and operational intelligence. Columnar SDKs are tailored to the APIs offered by this service.

Columnar SDK Documentation Hello World Example API Reference

Java Columnar SDK

Docs

Java Getting Started

Java Columnar API Reference

Node.js Columnar SDK

Docs

Node.js Getting Started

Node.js Columnar API Reference

Python Columnar SDK

Docs

Python Getting Started

Python Columnar API Reference

SDK doctor

SDK doctor is a tool to diagnose application-server-side connectivity issues with your Couchbase Cluster. SDK doctor

Mobile Development with Couchbase Lite

Mobile Platform Documentation API Reference

Couchbase Lite Java Android

Docs

API Reference

Couchbase Lite C#

Docs

API Reference

Couchbase Lite Java

Docs

API Reference

Couchbase Lite Objective-C

Docs

API Reference

Couchbase Lite Swift

Docs

API Reference

Couchbase Lite JavaScript

Docs

Big Data Connectors

ODBC and JDBC Drivers

ODBC and JDBC drivers enable any application based on the ODBC/JDBC standards, for example Microsoft Excel, QlikView, SAP Lumira, or Tableau, to connect to a Couchbase Server or cluster. ODBC and JDBC Drivers

Couchbase Community

Community Help

In addition to the Couchbase Support Team, help can be found from the community in our forums, and on our official Couchbase Discord server.

Integrations

Information on some 3rd-party SDK integrations, such as Spring Data, can be found in the SDK docs.

Tutorials

The developer bootstrap exercises and other tutorials highlight the use of Couchbase SDKs in the stacks you are most likely to use in development, such as Spring Data, Node Ottoman, and Python Flask.