Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Couchbase 4.6 Developer Preview Released, Adds Real-Time Connectors for Apache Spark 2.0 and Kafka

Couchbase 4.6 Developer Preview Released, Adds Real-Time Connectors for Apache Spark 2.0 and Kafka


Couchbase 4.6 Developer Preview release features full text search improvements, cross data center replication with globally-ordered conflict resolution and connectors for real-time analytics technologies: one for Spark 2.0 and the other for Kafka.

The full text search capabilities are based on Golang based open-source library, Bleve. Bleve supports faceting and relevance-based scoring. This release supports sorting of query results by any indexed field, unlike previous versions that sorted based on Bleve’s score.

Cross Data Center Replication is convenient for applications used in multiple geo locations. Couchbase replicates write operations performed on any data-center asynchronously across data-centers. Applications can rely on Couchbase’s replication mechanisms to keep a consistent state.

The default mechanism for conflict resolution is the document revision identifier, causing the document version with more updates to always win in a conflict scenario. Couchbase 4.6 introduces a new conflict resolution strategy, that considers the document update timestamp. The source cluster fetches metadata for the changed records from the destination cluster and queues the updates that have a chance of winning the conflict resolution. Client libraries are also multi-datacenter aware.

N1QL (pronounced “nickel”), a SQL dialect for document databases introduced in Couchbase 4.0, ships with new string and date functions. Sub-document level updates, introduced in Couchbase 4.5, are now exposed in multiple client libraries (Java, .NET, NodeJS, PHP) with support for multiple data structures: lists, sets, queues and maps.

The Developer Preview includes a Spark 2.0 and a Kafka connector. Both connectors use the new DCP client. DCP is the change protocol of Couchbase and the new client can react to node failures and Couchbase cluster topology changes.

The Spark 2.0 connector supports the Spark 2.0’s Structured Streaming, automatic flow control on Couchbase cluster expansions and transparently handle of Couchbase’s cluster node failures. It is possible to stream changes to Spark 2.0 applications from the database beginning or from ‘now’.

The Kafka Connector streams document changes from Couchbase to Kafka. It integrates with Apache Kafka and with Confluent Platform. Via Kafka it can stream the changes to other external systems like HDFS.

Couchbase Server 4.6 also includes Linux Pluggable Authentication Modules (PAM) support for authentication delegation.

Like Couchbase 4.5, this version ships with Couchbase Analytics, a separate querying engine for analytical workloads. It works on a common schema flexible model as the operational database, updates based on DCP and runs isolated from the operational workload, not affecting its throughput and latency.

Rate this Article