What’s New in Version 6.5?


    Couchbase Server 6.5 brings many sought-after relational capabilities to the NoSQL world. This release seeks to improve developer agility, reduce total cost of ownership, enhance manageability, and provide more enterprise-grade security and performance.

    For more information about platform support changes, deprecation notifications, notable improvements, and fixed and known issues, refer to the release notes.

    New Features and Enhancements

    Developer Preview Mode

    This release introduces Developer Preview mode, which provides the ability to enable early access to features that are still under active development. Developer Preview mode is disabled by default and needs to be enabled explicitly using the CLI or REST API. Features in this release that are enabled by Developer Preview mode are marked with (Developer Preview) in the sections that follow.

    Interested to learn more about Developer Preview mode and play with these features in development? See Developer Preview Mode and Features for details.

    Agility and Flexibility Enhancements

    This release brings many sought-after relational capabilities to application developers — distributed ACID transactions, advanced query capabilities like window functions, an index advisor, a cost-based optimizer, eventing enhancements, and major updates to SDKs, to name a few.

    Distributed ACID Transactions

    With distributed ACID transactions, application developers can simplify their application logic by relying on all-or-nothing semantics from Couchbase for durably modifying multiple documents distributed on different nodes. Replicas are immediately consistent with the transaction commit while indexes and Cross Data Center Replication (XDCR) are eventually consistent with the transaction commit. Read committed isolation is provided for concurrent readers. Durability is provided at three different levels: Replicate to the majority of the nodes; replicate to the majority and persist to disk on primary; or persist to disk on the majority of the nodes.

    Couchbase transactions are architected to provide ACID guarantees at scale while ensuring there are no single points of failure or performance bottlenecks.

    For more information, see Transactions.

    SDK 3.0 Releases

    Couchbase SDKs are bringing in major new features and updating to the latest interfaces for the platform. They support many new features available in this Server release while ensuring compatibility with older releases.

    For more information, see the SDK 3 documentation.

    Query Enhancements

    This release packs numerous additions to N1QL and the Query Service to provide a comprehensive query development toolkit for building applications.

    Window Functions

    RDBMS ANSI standard equivalent window functions are introduced in Couchbase to take complex queries like financial and statistical reporting and simplify them with intuitive N1QL constructs.

    Window functions are used to compute an aggregate or cumulative value, based on a group of objects. The objects are not grouped into a single output object — each object remains separate in the query output.

    For more information, see Window Functions.

    Common Table Expressions (CTE)

    Couchbase Common Table Expression is yet another ANSI CTE equivalent to enhance the manageability of complex queries where the developer can isolate the SQL statement into an ad hoc named result set, which can be referenced as a source table in the context of a larger query.

    You can use the WITH clause to create a common table expression. For more information, see WITH Clause.

    Query and Search Integration

    Couchbase’s powerful full-text search capability can now be fully integrated with N1QL. This feature extends N1QL search functionality with fuzzy and non-exact text searches across multiple fields and any order. By enabling developers to use full-text search queries directly within a N1QL query, it eliminates the need to write complex code to process and combine the results from separate SQL and search queries.

    For more information, see Search Functions.

    Cost-Based Optimizer (Developer Preview)

    Couchbase delivers a cost-based optimizer, deriving access patterns based on statistical data for query tuning to the NoSQL world. This feature helps developers by eliminating the time spent on tweaking a query using a rule-based optimizer to choose the most optimal execution plan.

    For more information, see Cost-Based Optimizer.

    Index Advisor (Developer Preview)

    Index advisor provides index suggestions to optimize query tuning and improve the performance of the queries. Running workloads are monitored and analyzed to suggest appropriate indexes for improving response times.

    For more information, see ADVISE Statement.

    User-defined Functions (Developer Preview)

    Stored procedures of the relational world are brought to you as user-defined functions with N1QL. JavaScript developers can define the functions centrally, which can in turn be leveraged by several applications or microservices, thus enabling better management of complex logic and application performance.

    For more information, see User-Defined Functions.

    Analytics Enhancements

    Window Functions

    Window functions are also available in the Analytics service. While the syntax and semantics are portable between query and analytics services, the Query service runs in SMP mode while the Analytics service runs in an MPP architecture.

    For more information, see Window Functions.

    Scan Consistency in Analytics

    With scan consistency in Analytics, cluster operations like rebalance and failover will not affect the business-critical reports and dashboards that are being used to glean insights and drive business decisions.

    For more informaiton, see Query Parameters.

    Storage compression

    Storage compression using snappy enables a reduction of the disk footprint of the Analytics Service resulting in reduced storage costs. Compression can be enabled per dataset or globally for all newly created datasets.

    For more information, see Data Definition Language (DDL).

    Full Text Search Enhancements

    Couchbase full text search improved it’s performance significantly across many query types like geo queries, numeric-range queries, fuzzy queries. For more information, see Improvements in 6.5.0.

    It has also improved the stability and robustness of the underlying text indexing engine bleve and newer rest endpoints to support more manageability.

    Eventing Enhancements

    Couchbase Functions now supports native cURL that lets users propagate events to other APIs when mutation rates are low. The source bucket could be updated from inside the Function which lets developers write applications that need inline data enrichment capabilities. For an example, see source bucket mutation. Also, other bucket operations, like sub-document changes, could be performed from within the Function. By leveraging ‘From Prior’ as a feed boundary, Couchbase Functions could be undeployed, edited, and redeployed without losing a single mutation; continuity is maintained.

    Performance and Scale Enhancements

    More Buckets per Cluster

    Buckets in Couchbase provide physical, logical, and access isolation. Starting with version 6.5, you can create up to 30 buckets in a single cluster, which bolsters the opportunities for supporting multi-tenancy and microservices-based applications with improved resource utilization.

    For more information, see Create a Bucket.

    Collections (Developer Preview)

    As a step toward seamless migration from relational to NoSQL, collections are introduced to allow applications to structure their data by keeping similar documents together, just like tables do in relational databases. Further, related collections can be held together in a single scope. With collections and scopes, application developers will find it much easier to migrate their schemas and data to Couchbase from relational systems like Oracle and SQL Server, as well as translate their SQL queries to Couchbase N1QL. Collections and scopes can be individually access-controlled, hence also enabling many microservices and/or applications to share a single Couchbase database (bucket).

    For more information, see Collections Overview.

    Advanced Filtering in XDCR

    XDCR’s advanced filtering provides the capability to build filters based on document attributes such as keys, values, and extended attributes with a N1QL-like syntax. Filters can also be modified dynamically for ongoing replication to ensure users only replicate the data relevant to their business needs at any point during the replication.

    For more information, see Advanced Filtering in XDCR.

    Quality of Service for XDCR

    XDCR’s Quality of Service feature enables administrators to prioritize on-going replication streams over the initial replication to ensure the replications are serviced in the order of criticality. Priorities assigned will dictate the quality of service for every replication stream and enable efficient resource utilization.

    For more information, see XDCR Priority.

    Ease of Platform Manageability

    Rebalance Enhancements

    Rebalance is now much more robust and resilient, enabling Couchbase administrators to automate management of their cluster rebalance. Some of the improvements include automatic restart of rebalance after failure, automatic rebalance after node failover, and enhanced monitoring of rebalance progress.

    For more information, see Rebalance Overview.

    Backup and Recovery

    Significant improvements are made to backup and recovery in terms of performance, storage, and scalability.

    Improved Backup Performance

    Improved rate of backup and restore is one of the most important factors in adopting Couchbase as an enterprise-grade tool. In order to improve performance, some fundamental changes have been made to the backup tool. Some of these improvements include leveraging value compression on the server, replacing the storage engine, modifying the storage format, limiting the size of the backup file, metadata isolation, etc.

    This has resulted in significant improvement in various backup functionalities (such as full backup, incrementals, merge, list, etc.) as well as scalability for data sets in the range of single digit TBs. Internal tests have shown ~4x improvement compared to previous versions of backup.


    Historically, backup was stored as one big file, which at times, led to the need for ~20-30% more storage compared to the size of the original data set, especially for merge operations. With the changes made to the storage engine, compression, file formats, and metadata isolation, the required storage is reduced to ~40% of the original data set.

    The cbbackupmgr info command (Developer Preview)

    The cbbackupmgr info command is introduced to provide a detailed listing of backup files with information on the type of backup (such as full, incremental, merge, number of views, indexes, FTS indexes, indication of backup completion, etc.) in addition to the repositories and their sizes. A JSON output option is also included, which can be used for automation purposes.

    For more information, see cbbackupmgr-info.

    Measuring Consistency (Developer Preview)

    Since Couchbase Server is a completely distributed database, it takes a certain amount of time for data to be distributed across nodes. With 6.5, consistency can now be measured for backups. To attain maximum consistency, a full backup can be run, followed by small incrementals to make up for the delta. “Disk-only” mode is used where the documents persisted to the disk are backed up, which provides better consistency across vBuckets.

    Advanced UI Statistics

    Unique service-specific stats are made available in the UI to assist with troubleshooting. These stats are updated with a new charting framework which enables users to completely customize them, with features such as the ability to select time ranges, sizes for display, aggregation across multiple nodes, edit, drag, drop, and more.

    For more information, see Monitor with the UI.

    Enhanced Security Capabilities

    Node-to-Node Encryption

    Couchbase Server continues to extend its security capabilities to meet stringent security and regulatory compliance requirements. Node-to-node encryption adds an additional layer of security by encrypting data in transit between cluster services which are deployed across servers. This prevents potential attackers from intercepting sensitive intra-cluster traffic.

    For more information, see Node-to-Node Encryption.

    LDAP Group Support

    With group support, you can leverage existing organizational groups in your LDAP domain to control Couchbase Server access. In addition, user groups can also be configured for local domain users to better manage and control which Couchbase resources are accessed. Groups can be mapped to real-life development teams, business units, or departments.

    For more information, see Authentication.

    TLS Cipher Configuration

    With security becoming more and more important than ever, hardening your servers and removing old or weak cipher suites is becoming a major priority for many organizations. Couchbase Server provides a consistent approach to modify TLS cipher suites and settings across services, which persists across server upgrades and restarts.

    For more information, see Encryption.