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.
- Download Couchbase Server 5.5 Beta
- Use Docker (couchbase/server:5.5.0-beta)
- Read Couchbase Server 5.5 documentation
- Share your thoughts on the Couchbase Forums
- See all the blogs about Couchbase Server 5.5 or read on below…
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:
1 2 3 4 5 |
SELECT DISTINCT route.destinationairport FROM `travel-sample` airport JOIN `travel-sample` route ON airport.faa = route.sourceairport AND route.type = "route" |
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.
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:
- Download Couchbase Server 5.5 Beta
- Couchbase Server 5.5 documentation
- Use Docker image: couchbase/server:5.5.0-beta
- Share your thoughts on the Couchbase Forums
I appreciate feedback on my posts and welcome you to keep in touch – drop me an email (tyler@couchbase.com) or connect on Twitter.