SDKs & Connectors
Couchbase provides several SDKs to allow applications to access a Couchbase cluster, as well as Mobile SDKs to carry your application to the edge. 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()
Server SDKs
The Couchbase SDKs allows applications to access a Couchbase cluster. They offer traditional synchronous APIs as well as scalable asynchronous APIs to maximize performance.
The Java SDK forms the cornerstone of our JVM clients. It allows Java applications to access a Couchbase Server cluster. The Java SDK offers traditional synchronous APIs as well as scalable asynchronous APIs to maximize performance.
Our new Scala SDK allows Scala applications to access a Couchbase Server cluster. It offers synchronous, asynchronous, and reactive APIs for flexibility and maximum performance.
The .NET SDK enables you to interact with a Couchbase Server cluster from the .NET Framework using any Common Language Runtime (CLR) language, including C#, F#, and VB.NET. It offers both a traditional synchronous API and an asynchronous API based on the Task-based Asynchronous Pattern (TAP).
The Couchbase C SDK (libcouchbase
) enables C and C++ programs to access a Couchbase Server cluster.
The C SDK is also commonly used as a core dependency of SDKs written in other language to provide a common implementation and high performance.
Libcouchbase also contains the cbc
suite of command line tools.
The Node.js SDK allows you to connect to a Couchbase Server cluster from Node.js.
The Node.js SDK is a native Node.js module using the very fast libcouchbase
library to handle communicating with the cluster over the Couchbase binary protocol.
The PHP SDK allows you to connect to a Couchbase Server cluster from PHP.
The PHP SDK is a native PHP extension and uses the Couchbase high-performance C library libcouchbase
to handle communicating to the cluster over Couchbase binary protocols.
The Python SDK allows Python applications to access a Couchbase Server cluster.
The Python SDK offers a traditional synchronous API as well as integration with twisted, gevent, and asyncio.
It depends on the C SDK (libcouchbase
) and utilizes it for performance and reliability.
The Ruby SDK allows Ruby applications to access a Couchbase Server cluster. The Ruby SDK includes high-performance native Ruby extensions to handle communicating to the cluster over Couchbase’s binary protocols.
The Couchbase Go SDK allows you to connect to a Couchbase Server cluster from Go. The Go SDK is a native Go library and uses the high-performance gocbcore to handle communicating to the cluster over Couchbase’s binary protocols.
SDK doctor
SDK doctor is a tool to diagnose application-server-side connectivity issues with your Couchbase Cluster. SDK doctor
Mobile SDKs
Use Couchbase Lite as an embedded database within your app with various JavaScript frameworks' APIs.
Create your mobile app in C#, using .NET Standard 2.0.
Develop and deploy your Couchbase Lite applications to a JVM environment.
Create an Android app, using Couchbase Lite as an embedded database.
Create an iOS app in Swift, using Couchbase Lite as an embedded database.
Create an iOS app in Objective-C, using Couchbase Lite as an embedded database.
Big Data Connectors
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
In addition to the Couchbase Support Team, help can be found from the community in our forums, and on our Gitter page.
Information on some 3rd-party SDK integrations, such as Spring Data, can be found in the SDK docs.
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.