A newer version of this documentation is available.

View Latest

What’s New?

To maintain competitive edge, organizations need to constantly revolutionize their customer experience. To make this possible, Couchbase 5.0 provides the first true Engagement Database.

Couchbase Server 5.0 provides unmatched agility and manageability, and delivers unparalleled performance at any scale. This release provides some exciting features in the areas of scalability, high-availability, performance, security, indexing and querying, search, tools, platforms and application development. It also supports a wide ecosystem of big data and integration connectors.

Secure Platform

Role Based Access Control (RBAC)

Building on the Role Based Access Control (RBAC) security model introduced in version 4.5 for Administrators, Couchbase Server 5.0 introduces RBAC for applications. This allows you to control, at both broad and granular levels, what administrators, end-users, and application services can do. By using RBAC, you can closely align the roles you assign users and administrators to the actual roles they hold within your organization, so that they have access to just the information they need, and therefore meet compliance requirements. For more information, see RBAC.

Full Text Search

Couchbase Server 5.0 delivers the first production release of the Full Text Search service. This includes the ability to index Couchbase documents and query them rapidly using a variety of indexing methods, text analyzers, and languages - without leaving the Couchbase data platform. Since the last Developer Preview, we’ve improved performance and added various new features including:

  • Full SDK support

  • Wide range of query types - term match, fuzzy search, date and numeric range query

  • Preview of a new geospatial and term range query

  • Distributed and replicated search index and query

  • Real-time indexing and dynamic management

  • Integrated web UI with a new Search tab for Full Text Search on the Web Console.

  • Up to 30x performance improvement due to many enhancements, small and large. See Performance, Scalability, and High Availability for details.

For more information, see Full Text Search: Fundamentals.

N1QL Enhancements

Couchbase Server 5.0 brings a number of rich query performance optimizations, feature enhancements and new functionality in N1QL Query engine. Many of the functionality and performance improvements also include corresponding enhancements in GSI Indexes to help N1QL fully leverage the optimizations.

Adaptive Indexes

Adaptive Indexes are special type of array indexes that can index all or a set of specified fields of a document. Unlike composite GSI indexes, such an index is generic in nature. Adaptive Indexes can efficiently lookup any of the index-key values without restrictions such as prefix index-key ordering. This enables efficient ad-hoc search queries that can use WHERE clause predicates on arbitrary fields without requiring to create multiple composite indexes or different combinations of index keys. For more details and examples, refer to the Adaptive Index section.

RBAC for N1QL Statements

N1QL adds support for using the Role Based Access Control (RBAC) feature. Statement level roles are added for executing various N1QL statements such as SELECT, UPDATE, INSERT, and to access system keyspaces. For more information, see RBAC.

External Data Access & Federated Queries using CURL

Couchbase Server 5.0 adds a new N1QL function named as CURL() function, which implements a subset of cURL functionality and enables N1QL queries to interact and integrate with external JSON data sources available over HTTP/REST. This allows federated queries against external data sources or other Couchbase clusters. For example, this enables N1QL queries to use FTS indexes, or to access data from other Couchbase Clusters, or in general access any REST endpoint (such as Google APIs, or Yahoo API) that can provide JSON data. For more information, see CURL Function.

Monitoring and Profiling N1QL Queries

This feature enables fine grain and detailed query monitoring and profiling. This provides details about various query phases, query operators involved in the processing of the query, and corresponding execution timings and characteristics (such as intermediate results). All monitoring information is also captured in various system keyspaces. This helps diagnosing troubled queries and understanding performance profile and insights.

New query parameters are provided to enable, disable, and control the monitoring capabilities, and can be configured for a query engine or individual queries. See Monitoring N1QL Queries for details.

Indexing and Querying on Meta() fields

Couchbase Server 5.0 adds the capability to index the document metadata fields expiration and cas. Subsequently, queries can be written to find documents based on filters on these fields. For example, it would be possible to use the index to efficiently find all expired or to be expired documents.

N1QL Performance Improvements

In Couchbase Server 5.0, N1QL and GSI Indexes together enable many performance optimizations. For more details, see Index Pushdown Optimizations.

  • Complex Predicate Pushdown: Supports efficient and exact pushdown of complex AND/OR predicates to index. This helps in:

    • avoiding spurious results from Indexer in certain queries where predicates have range scans on prefixing index-keys.

    • efficiently using multiple indexes for different conditions of an OR predicate etc.

  • Index Projection: In the version 5.0, N1QL adds support to request only the required information from Index, and thus avoid any unnecessary processing.

  • Support is added to create indexes with ASC/DESC specified for individual index keys, and leverage index-order for queries with aligned ORDER BY clause.

  • Operators such as OFFSET, MAX(), MIN(), DISTINCT, COUNT (DISTINCT field) are pushed down to indexer.

Performance, Scalability, and High Availability

Plasma: New Efficient and Performant Storage Engine

Plasma presents a highly scalable and performant key-value storage engine. It uses lock-free data structures to effectively utilize multi-core CPUs and a memory-first architecture that persists only when required. This helps in creating a system that scales almost linearly and exploits the current trends in SSD and Flash storage. Persistent snapshots, that run in the background, help create recovery points that can be used to rollback in case of failure. Creating and managing such persistence snapshots creates minimal overhead on the disk and CPUs and also on the other processes running on the indexing node, thereby significantly reducing write amplification. Plasma is the underlying storage engine used for Standard Global Secondary Indexes, which you can choose as part of Index Settings while setting up the cluster. For more information, see Plasma documentation and the related blog here.

Index HA and Manageability

Index replica support has been added to improve index HA and manageability. Users can specify the number of replicas to create and the system will manage the placements of the index replicas on different index nodes, server groups, and availability zones.

Couchbase Server 5.0 also supports rebalancing indexes when adding, removing, and swapping an index node.

Robust Failure Detection and Fast Failover

Couchbase Server’s key high availability features is automatic failover. Automatic failover happens within the cluster after a minimum timeout is met and that timeout is required to identify the failure node and start the auto-failover process. With the new robust failure detection in this version, the cluster manager now can reduce the timeout from current minimum of 30 seconds to lower than 10 seconds. Hence the total downtime experienced by the application could be reduced significantly. For more information, see Automatic Failover.

Ephemeral Buckets

With ephemeral buckets in Couchbase Server 5.0, you can reduce the total cost of ownership (TCO) by eliminating the disk component of your buckets, and get highly consistent in-memory performance without disk-based fluctuations. You also get faster node warmups, rebalances and restarts, as well as cheaper geo-replication. Ephemeral buckets are designed to be used as an alternative to Couchbase buckets whenever persistence is not required, for example, when repeated disk access involves too much overhead. For more information, see Ephemeral buckets.

Full Text Search Performance Improvements

The performance of Full text search (FTS) has improved by an order of magnitude due to many enhancements, small and large. Many improvements are due to enhancements made in bleve, the full-text search and indexing Go library that powers FTS.

The biggest single contributor to performance improvements is MossStore, the new default KV store underlying full text indexes. FTS has for some time used Moss to improve query and especially indexing performance. Moss, which stands for "Memory-oriented sorted segments", is a simple, fast, persistable, ordered key value collection implemented as a pure Golang library. MossStore extends Moss so that it efficiently persists sorted segments to disk when necessary.

N1QL Performance Improvements

In Couchbase Server 5.0, N1QL and GSI Indexes together enable many performance optimizations. For details, see N1QL Performance Improvements.

Enhanced Management & Development Tools

Couchbase Web Console

The redesigned 5.0 interface for Couchbase Server’s web console offers a new, modern take on usability in a browser-based application. Re-designed for intelligence, comfort, and speed, you will see a clean new look and experience a streamlined interface to Couchbase administration and development platform that optimizes your common tasks and workflows.

Some of the more obvious improvements are the modern color palette that shows the condition of your cluster, servers, and services; simplified navigation that lets you know where you are, where you’ve been, and where you might go next; and a responsive layout that fits your browser at any screen size. For details, see Couchbase Web Console.

CBImport & CBExport Tools

This version delivers the first production release of the high performant data tools. cbimport imports data from a CSV file or a JSON document, and cbexport exports data as a JSON document. For more information, see cbimport and cbexport.

Query Workbench Enhancements
  • Visual Query Plan

    The Query Workbench now has an advanced feature that is visual query plan. Each time a query is executed, an explain command is automatically run in the background to retrieve the query plan for that query.

    The Query History navigation has improved which allows you to view history of all executed queries, search the query history, delete a specific entry, or delete the entire query history. For more information, see Query Workbench.

  • Query Monitoring

    This release introduces a new feature that allows you to monitor the current state of query service on the Couchbase Web Console. You can view the different types queries that are Active (currently running), Completed (recently run), and Prepared (aggregate statistics for prepared queries). Statistics information for the query service is displayed at the bottom of the page. Different information may be shown depending on the user’s access control role. For more information, see Query Monitoring.

Mobile Server Interoperability

With Couchbase Server 5.0, you can build engaging mobile experiences without making changes to your technology stack. You can add mobile capabilities to existing applications powered by Couchbase Server by adding Sync Gateway and Couchbase Lite to your existing deployment. The data from existing Couchbase Server clusters can be easily provided to mobile applications with an embedded database and seamless synchronization capabilities. You can choose to make all or a specific subset of your existing data available for mobile users.

Simplified Development and Big Data Connectors

Each of the Couchbase SDK supported languages release new improvements each month. To build applications against the latest features of Couchbase Server, you should update to the latest SDK versions.

The latest SDK update supports many new critical features including:

  • Role-based access control

  • Querying the new Full Text Search (FTS) Service

  • Querying the Analytics Service

There are many other language-specific improvements worth reviewing, see the release notes of each language for more about bug fixes and new features.

Support for different development environments also continues with, for example, improved Spring Data integration and .NET Core support for cross-platform development.

Big Data Connectors

Spark Connector 2.1

First stable release of 2.1.x series brings various improvements in the following areas.

Spark Core

  • Support for Apache Spark 2.1.x

  • Updated the Couchbase Java SDK to 2.4.2

  • Updated dcp-client to 0.8.0

    Spark SQL

  • Various fixes for custom nested schemas

  • Added config option to also store the document ID in the document instead of removing it proactively

    Spark Streaming

  • Internals reworked for Structured Streaming, Adaptations for dcp-client 0.8.0

For more information, see connectors:spark-2.1/spark-intro.adoc.

Talend Connector [Developer Preview]

Developer Preview of a newly rebuilt Talend connector is now available for Talend Open Studio 6.3.1. Get the Github code and see the pre-release tutorial walkthrough. Code will continue to change until it becomes stable for production.

Elasticsearch Plug-in 2.2

The latest updates include support for Elasticsearch including support for ES 2.4 and 5.3 as well as fixed multiple issues. Refer to the documentation or follow installation and configuration walkthrough.