Application development
Couchbase provides developers with native SDKs for popular programming languages including Java, .Net, Node.js, PHP, Python, Ruby, C/C++, Go, and more. These SDKs expose read, write, and other commands as functions in their programming language of choice - whatever they use to write their applications.
The APIs are idiomatic, that is, they are done in the style that developers expect for each language.
Applications can be programmed using the key-value operations, JavaScript-based View API, or N1QL queries. Clients must pass the key for key-value operations and can optionally do so for N1QL queries to speed access.
An important benefit of the SDKs is topology awareness, meaning that each client knows the cluster map and gets updates if the cluster map changes. This enables the clients to transparently track topology changes and handle conditions such as rebalance and failover and you as a developer can focus only on the application logic. Thus, when an application needs to read or update a document, the client can hash the document id and then use that hash to determine exactly which server is the master for that document without consulting an external routing authority.