Announcing Couchbase Server 5.5

Couchbase Server 5.5 production release is now available! We are very excited to share more information about this substantial extension of the Couchbase Data Platform. This release introduces several new Enterprise Grade features relating to agility, performance, and manageability – all based on critical feedback from our users.

In this release, you will find many enhancements to new and existing services. SDK libraries have also been updated to support these updates.

You can download this release right away!

Unmatched agility and flexibility

We continue to add new capabilities to Couchbase Server to help give more options for your development toolbox. These include new services as well as powerful updates to existing services. Here are a few of these updates.

Couchbase Eventing Service

This release introduces the Couchbase Eventing Service – a multi-dimensional scaling (MDS) service that lets customers 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 your code. The code can be applied to mutations that occur on the data within a 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.

Read more:

Couchbase Analytics Service

Couchbase Analytics Service (currently available as a 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 familiar 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 additional 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.

Read more:

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 relational databases to Couchbase. Developers can leverage their SQL knowledge to develop applications on Couchbase, thereby increasing productivity.

Here is the kind of JOIN syntax now available in Couchbase:

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.

Read more:

Unparalleled performance at scale

Helping you squeezing every last drop of ROI out of your Couchbase cluster is our primary goal when adding new performance improvements to the data platform. Many are added to the N1QL query capabilities as well as to properties of the overall system.

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.

Read more:

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.

Read more:

End-to-end data compression

Couchbase has added compression across all layers from client to storage, significantly reducing the cost of network, memory, and storage required for existing workloads.

Documents are transparently compressed when transferred between the clients and the server, in the server cache, and on disk. Documents are also compressed when transferred between clusters across data centers via XDCR.

Read more:

New Full-Text Search index engine

The latest update to the full-text search service provides a preview of our new indexing engine, codename: scorch. For users who want to test the new performance, they can choose whether 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.

Indexing speed is substantially faster – up to 2x faster, and the index size on disk has been dramatically reduced – up to 80% reduction.

These are interim performance numbers as development continues. Stay tuned for the next version of Couchbase Server where these features are planned to be made generally available.

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.

The easiest platform to manage

New features for improving performance and agility also need to be supported by ease-of-management. In this release, further security features have been added as well as more failover options. We’ve also added more ways to gain insights about application performance and support for IPv6 networks.

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 SDKs.

We also support field-level encryption in the SDK to protect sensitive user data. Users can also 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.

Read more:

Auto failover

Couchbase further improves high availability for mission-critical deployments and reduces operator intervention. Couchbase enhances the detection of common disk failures and automatically fails over the node with bad disks saving operators time and energy. 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.

Read more:

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. Integration with OpenTracing is also being worked on (read: why this became important).

Read more:

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.

Read more:

SDK Improvements

There are many Couchbase SDK improvements that align with Couchbase Server 5.5 new features, be sure to update to the latest versions.  Refer to the following table to see which (earliest) version of the SDK you need for accessing specific 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

Other elements of this release include:

  • Query – ALTER INDEX: This new declarative command provides administrators the ability to move indexes from one node to the other
  • Index – Revamped Administrator Console and REST endpoints that expose various index usage statistics.
  • Full-text Search (FTS) – Geospatial point/distance and bounding box queries on point data are now GA features. Read more in Couchbase FTS geospatial documentation or the technical blog: Geospatial Search with ASP.NET Core, Aurelia, and Google Maps
  • Tools – Further enhancements to the cbbackupmgr utility
  • Docs editor – Edit document data from the user interface without the syntactic constraints of JSON

Resources:

I appreciate feedback on my posts and welcome you to keep in touch – drop me an email (tyler-at-couchbase.com) or connect on Twitter.

Author

Posted by Madhuram Gupta

Leave a reply