Announcing Couchbase Server 5.5 Beta

This release is an extension of the Couchbase Data Platform but also introduces several new Enterprise Grade features – agility, performance, and manageability – all based on critical feedback from our customers. Included are many enhancements to existing services, updated SDK components and two new services for you to try. We hope you’ll enjoy trying it out and letting us know your feedback and issues.

This is a pre-release version, with some known issues we are still working on, so we do not recommend using this release until the production version is available later this summer.

Unmatched agility and flexibility

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 are also more productive as they can leverage their SQL knowledge to develop applications on Couchbase.

Here is the kind of JOIN syntax you are used to using, which is 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:
ANSI Join N1QL documentation
ANSI join support in N1QL blog
See it in action with other new Querying Features in Couchbase 5.5

Couchbase Eventing Service

This release introduces our Couchbase Eventing Service – a multi-dimensional-scaling (MDS) enabled 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 Eventing announcement
Couchbase Eventing documentation
See it in action using Node.js – Detect Sensitive Information In Your NoSQL Documents Automatically With Couchbase Functions

Couchbase Analytics Service

Couchbase Analytics Service (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. 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:
Couchbase Analytics documentation
Configuring Couchbase Analytics blog
Using Couchbase Analytics with Node.js and JavaScript blog
Using Couchbase Analytics for Complex and Efficient Queries in a Java Application blog

 

Unparalleled performance at scale

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, and 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:
Group By and Aggregate Performance documentation
New Querying Features In Couchbase 5.5 blog

Index partitioning

With support for index partitioning, you can now index a large number of documents and horizontally scale out 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:
Index Partitioning in Couchbase Server 5.5 blog
New Index Service Features in 5.5

Data compression

With end-to-end compression 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 datacenters.

Data compression in the Couchbase Data Platform – click to read more

Read more:
Couchbase data compression documentation
Store more for less using data compression blog

 

The easiest platform to manage

Deploying and managing Couchbase at scale with Kubernetes

An open source system for deploying, scaling, and managing containerized applications, Kubernetes handles the work of scheduling containers onto a cluster and manages the workloads to ensure they run as the user intended.

By leveraging the latest features from Kubernetes to support stateful applications, we allow users to leverage their investment in Kubernetes and containers to easily deploy and manage Couchbase clusters at scale. In addition, a close partnership with Red Hat is bringing all of this capability to OpenShift

Read more:
Couchbase Operator User’s Guide
Introducing Couchbase Operator: Running Couchbase Natively on Kubernetes and OpenShift Platform

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:
Auto-FailOver Features in Couchbase Server 5.5

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 our SDKs to protect sensitive user data. Users can enable log redaction (documentation here) 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:
GDPR: Businesses must focus on digital transformation, not just tick-box compliance blog
X.509 certificate authentication blog
X.509 certificate authentication documentation
 
Using Couchbase SDK with X.509 certificate authentication
Log redaction in Couchbase Server 5.5 blog
Log redaction documentation
N1QL Querying auditing documentation
Auditing N1QL Query Statements blog
SDK Field-level Encryption  – documentation and blog are coming

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.  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 now also possible (why this became important).

Read more: 
SDK Threshold Logging configuration documentation
Building an Observation Deck
How OpenTracing became important
Response Time Observability with the Java SDK

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:
IPv6 Galore blog
IPv6 setup documentation

Additional improvements

Future blog posts will cover these features as well as other elements that are part of this release, including:

  • 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 searches: Point/distance and bounding box queries on point data are now GA;
    Read more: in FTS geospatial documentation; 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
  • SDK enhancements – Many improvements are exposed through the Couchbase SDK, so be sure to update to the latest versions to ensure maximum support.
    Refer to the following SDK version reference table to see which (earliest) version you need for accessing specific features at the time of the 5.5 Beta launch.

     

    Feature
    Go
    Node
    Java
    .NET
    Python
    PHP
    C/libcouchbase
    IPv6
    1.3.3
    2.4.3
    2.5.5
    2.5.5
    2.3.3
    2.4.3
    2.8.3
    Field-level encryption
    1.3.5
    gocbfieldcrypt
    2.4.5
    node-cbfieldcrypt
    2.6.0-dp
    2.6.0-dp
    Extensions.Encryption
    2.4.6
    2.8.6
    Compression
    1.3.4
    2.4.5
    2.6.0-dp
    2.6.0-beta
    2.4.0-dp
    2.4.3
    2.8.4
    Threshold Logging/Tracing
    1.3.5
    2.6.0-dp
    2.6.0-dp
    2.4.0-dp2
    2.4.6
    x.509 Certificate Authentication
    1.3.3
    2.4.4
    2.5.5
    2.6.0-beta
    2.3.3
    2.4.3
    2.8.4
    Log Redaction
    1.3.4
    2.4.5
    2.5.5
    2.5.5
    2.4.0-dp
    2.4.5
    2.8.5
     

Additional resources:

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

Posted by Tyler Mitchell

Product Manager for Couchbase SDK and Full Text Search - strategizing features and tools for the next generation engagement database! I like seeing products get out into the wild and in customer's hands. I've done a bunch of blogging for using open source tech and have authored a couple books, one for O'Reilly..

Leave a reply