What’s New?

Couchbase Server 5.5 is a substantial extension of the Couchbase Data Platform. This release introduces several new enterprise grade features relating to agility, performance, and manageability. It also includes enhancements to existing services as well as new server and SDK components that have been in the works for a long time. Take a look at the release notes for a list of known and fixed issues in this release.

Unmatched agility and flexibility

Couchbase Eventing Service

This release introduces our Couchbase Eventing Service – a multidimensional-scaling (MDS) enabled service that lets you process changes to data as they happen in near real-time.

Couchbase Functions is the first offering under the Couchbase Eventing Service that enables you to write server-side functions that are automatically triggered using the familiar Event-Condition-Action model. It provides an easy-to-use online JavaScript code editor that lets you develop and debug the code on generated mutations to the data residing in Couchbase cluster.

The Couchbase Eventing Service handles all the complexity of scaling to a large number of document mutations. This new offering enables you to develop deeply engaging and personalized user experiences based on real-time events. To learn more about this new service, see Introduction.

Couchbase Analytics (Developer Preview)

Couchbase Analytics (currently in Developer Preview) enables you to analyze your JSON data in real time without the need to extract, transform, load (ETL) your data into a separate system. It allows you to develop insight-driven applications quickly and easily using the same SDKs. It removes the need for ETL and the complexity of managing a separate analytics system. With this release, Analytics is fully integrated with Couchbase Server and no longer requires a separate installation. Couchbase’s unique architecture for Multi-Dimensional Scaling (MDS) allows operational and analytical queries to run concurrently without impacting one another, providing the workload isolation required for production deployments. To learn more about this service, see Couchbase Analytics.

ANSI joins in N1QL

The Couchbase Data Platform is the only platform that extends SQL to support JSON data natively via N1QL queries. N1QL now has support for ANSI joins making it easier to migrate applications from RDBMS to Couchbase. Developers can leverage their SQL knowledge to develop applications on Couchbase, thereby increasing productivity.

ANSI joins support improved data modeling capability and flexibility with Couchbase. Since you can join based on arbitrarily complex expressions, business requirements can be coded and translated effectively and efficiently. We’ve extended ANSI syntax to join on both scalars and arrays. See the ANSI JOIN Clause for details.

Unparalleled performance at scale

N1QL pushdowns - aggregate optimization

One of the key advantages of a declarative query language like N1QL is that the system can optimize and improve the query plans and execution without changing the applications. Since the introduction of N1QL, Couchbase has improved the query performance by orders of magnitude.

With aggregate optimization, the query engine leverages the indexes to perform aggregate calculations to improve the performance of queries by another order of magnitude. Your existing aggregate queries with matching indexes will simply run faster. See Group By and Aggregate Performance for details.

Index partitioning

With support for index partitioning, you can now index a large number of documents and horizontally scale an index as needed. The system will partition the index across a number of index nodes using hash partitioning.

Index partitioning is transparent to queries – one does not have to update the queries when changing the index partitioning strategy. See Index Partitioning for details.

End-to-end data compression

With the introduction of compression across layers from client to storage, Couchbase significantly reduces the cost of network, memory, and storage required for your existing workloads.

Documents are transparently compressed when transferred between the clients and the servers, in the server cache, and on disk. Documents are also compressed when transferred between clusters across data centers. See Compression for more information.

New Full-Text Search index engine (Developer Preview)

The latest update to the full-text search service provides a preview of our new indexing engine, codename: scorch. If you want to test the new performance, you can choose to use the current engine (version 5.0) or try the new engine (version 6.0) when creating an index through the GUI or REST API.

The indexing speed is substantially faster, up to 2x faster, and the index size on disk has been dramatically reduced, up to 80% reduction. Note that these are interim performance numbers as development continues.

This release of Full-text Search also includes 11 new language analyzers including: Danish, Dutch, Finnish, German, Hungarian, Norwegian, Romanian, Russian, Spanish (Castilian), Swedish, and Turkish.

Ease of platform management

Security compliance

Couchbase continues to extend its support for security to enable enterprises to meet increasing security compliance requirements such as the EU’s General Data Protection Regulation (GDPR) effective May 2018. We extend X.509 certificate authentication beyond key-value data access to query and search services for all SDK.

We also support field-level encryption in our SDKs to protect sensitive user data. Users can enable log redaction to prevent leaking sensitive user data when using the logs for troubleshooting production issues.

Furthermore, we employ system auditing to track all admin and non-admin access, including auditing of query statements.

Auto failover

Couchbase further improves high availability for mission-critical deployments and reduce operator intervention. Couchbase enhances the detection of common disk failures and automatically fails over the node with bad disks saving without operator intervention. It also handles multiple server failures based on the replica count to avoid data loss, and can fail over an entire server group if a rack or zone is not available.

Response Time Observability

With response time observability, you now have telemetry for monitoring how well your Couchbase cluster is meeting your application SLAs. In your application you can set thresholds to allow you to log operations based on performance of your requests. You can correlate timing information from client through to server and back to quickly triage performance issues and help identify the root cause of performance issues.

The performance of operations are all exposed via methods you are already familiar with in the Couchbase SDK. See Threshold Logging Tracing through the SDK for details.

IPv6 support

With the explosion of mobile and IoT devices, enterprises are seeing an increasing percentage of their user traffic coming from IPv6. Many large enterprises are starting to deploy IPv6 infrastructure to support these IPv6 devices. We have added IPv6 support to enable our customers to deliver exceptional user experiences with the Couchbase Data Platform. See Using IPv6 With Couchbase for more information.

SDK enhancements

Many improvements are exposed through the Couchbase SDK, therefore update to the latest versions to ensure maximum compatibility. See the SDK documentation for details.

Table 1. SDK versions that support release 5.5 features
SDK Version Supporting 5.5 Features Field Encryption (Unbundled libs)

Go

1.4.0

gocbfieldcrypt

Node

2.5.0

couchbase-encryption

Java

2.6.0

encryption-extension

.NET

2.6.0

Couchbase.Extensions.Encryption

Python

2.4.0

(Improvements pending for threshold logging)

cbencryption

PHP

2.5.0

couchbase-encryption

LCB

2.9.2

Not applicable

Additional improvements

Query: ALTER INDEX

This new declarative command provides administrators the ability to move indexes from one node to the other. See ALTER INDEX for details.

Index: Index usage parameters on the Web Console

Revamped Administrator Console and REST endpoints that expose various index usage parameters.

Search: Geospatial searches

Geospatial point/distance and bounding box queries on point data are now GA. See Geospatial Queries for details.

Tools: Enhancements to cbbackupmgr utility

For more information, see cbbackupmgr.

Docs editor

Edit document data from the user interface without the syntactic constraints of JSON.