Today, we’re very excited to announce the availability of Couchbase Server 4.6.0 DP. This is an early developer release that comes with some exciting capabilities for cross datacenter replication, security, query, tools, and powerful full text search capability. The Developer Preview release also adds support for MAC OSX Sierra and Microsoft Windows 10 Anniversary Edition.

What’s new in the 4.6.0 Developer Preview?

Cross Datacenter Replication with Timestamp-based Conflict Resolution

This release introduces a new option to resolve conflicts with XDCR using timestamps. With this option, conflicts are resolved by comparing timestamps of conflicting documents. The timestamp-based conflict resolution provides a new option for applications which want users to continue seeing the latest change or version, no matter when conflicts are resolved in the background. Server set timestamp on every document combines the best of logical and physical clocks and captures the causality relationship like logical clocks, and enables easy identification of consistent snapshots in distributed systems. For more information, see Cross Datacenter Replication with Timestamp-based Conflict Resolution.

Hardened Security with Pluggable Authentication Module

By adding support for Pluggable Authentication Modules (PAM), this release of Couchbase Server enables you to centralize and synchronize password management across servers. You can use existing password management services such as Linux /etc/shadow for a Couchbase cluster. You can also control password expiration rules and other password policies. PAM Authentication in Couchbase is available only on Linux platform and is an Enterprise only feature. For more information, see Pluggable Authentication Modules.

N1QL Updates

In release 4.6, N1QL adds many new functions to help with manipulating date/time values and to tokenize strings, and generate an array of date ranges etc.  Further, N1QL improvements include multiple performance optimizations. See documentation for full details.

  • DATE & TIME functions:

N1QL adds bunch of new DATE & TIME functions to manipulate date/time fields.

  • New string functions:

  • The function TOKENS() is added which tokenizes given input string based on specified delimiters and options to respect case, special characters etc.,

  • The string reverse function REVERSE() is added

  • New ARRAY_DATE_RANGE() function is added which returns an array of dates from given start & end dates, incrementing the specified part of the date.

  • Performance improvements include optimizations for queries that use COUNT() aggregations, or that can use multiple indexes with Intersect Scans.

See String Functions and Date Functions for the complete list of functions added in this release.

Data Import and Export Tools

This release introduces tools to import and export data to and from Couchbase Server. cbimport imports data from a CSV file or a JSON document, and cbexport exports data as a JSON document. For more information, see Data Import and Export Tools.

Full Text Search Updates

Faster Full-Text Search indexing and queries

FTS delivered many performance enhancements in 4.6, the largest of which is the switch to MossStore as the new default persistence for full text indexes. In addition, many other performance improvements were made in FTS and in bleve, the full-text search and indexing Go library that powers FTS.

Index Type Mapping by Key

You can now use the document ID to determine document type in index mappings. Index mapping is the process of specifying the rules for making documents searchable. In full text search, you normally want to specify different index mappings for different document types. For example, you might want to index the “city” field, but only for documents of type “hotel” and not for documents of type “landmark”.  In previous releases, this only worked if type was set by an attribute in the JSON; now you can also determine type with the document key.

Custom Sort for Full-Text Search

Until now, search results were always sorted by score, in descending order. For many use cases, this is fine, but many users wanted more flexibility. In 4.6, FTS results can now be sorted on any field in your JSON document that is stored in the FTS index.  

Here are some resources to get you started.

  • You can download 4.6.0 DP on your machine from downloads page

  • If you’re a Docker fan, you can pull 4.6.0DP container image from Docker Hub

  • Check out our 4.6.0 DP documentation

  • Check out the 4.6.0 DP release notes

  • You can read more about FTS enhancements in Couchbase Server 4.6.0DP in the blog

Reach out to us via our community portal. We look forward to your feedback!

Posted by Anil Kumar, Director Product Management, Couchbase Server

As a Director of Product Management at Couchbase, Anil Kumar is responsible for Couchbase Server product development, roadmaps, positioning, messaging, and collateral. Prior to joining Couchbase, Anil spent several years working at Microsoft in the Entertainment division and most recently in the Windows and Windows Live division. Anil holds a master’s degree in computer science and a bachelor’s in information technology.

Leave a reply