Today, we are announcing the general availability of Couchbase Mobile 2.1. This release follows on the heels of Couchbase Mobile 2.0 which was released earlier this year. Couchbase Mobile extends the Couchbase Data Platform to the edge, securely managing and syncing data from any cloud to all edge devices or directly between edge devices. In this post, I will give you an overview of the key features that will be available in this release.
With Couchbase Mobile 2.0, we built the most advanced NoSQL data platform for your mobile applications. Among the plethora of new features and enhancements, we developed a brand new, thread-safe, query API that supported SQL-like query semantics making it very easy for developers to adopt the new API. Full-Text Search support implied that you could very easily build highly responsive search experiences, even in offline mode. We also introduced a new WebSockets-based replication protocol that was faster and more resource efficient than its HTTP-based predecessor. We laid the architectural foundation that would allow us to quickly build new features across all supported platforms.
With Couchbase Mobile 2.1, we continue to innovate and bolster our platform with security, performance, and high availability enhancements to meet the demands of business-critical applications.
In this post, we discuss the main features across Couchbase Lite and Sync Gateway. In addition to the features discussed here, there are a number of bug fixes and smaller enhancements which are discussed in platform-specific release notes.
Peer-to-Peer data sync
This feature allows you to directly synchronize data between Couchbase Lite instances over IP and non-IP transport such as Bluetooth and NFC without the need for a centralized data store. This allows users to collaborate even in disconnected environments such as underground mines, disaster recovery zones, or remote areas in parks and forests. The data sync leverages the same WebSockets-based replication protocol that was developed in 2.0. The bidirectional nature of the protocol is very suitable for peer-to-peer configurations.
A key point to note is that we focus on the data storage and sync aspects, identifying changes to the underlying Couchbase Lite database and notifying the app of the changes to be synced to specific peers. We support flexible configurations such as push-only, pull-only, and bidirectional push-pull data sync between the connected peers. For the actual communication of data changes, we define an interface that would allow the app to integrate it with a suitable platform specific peer-to-peer framework such as Apple’s Multipeer Connectivity or Android’s Nearby Messages API.
Aspects of a peer-to-peer setup such as device discovery, authentication, and session establishment/teardown are the responsibility of the app and are very easily supported through existing frameworks. You can learn more about it in our peer-to-peer documentation.
On-device data encryption
This Enterprise Edition feature allows you to encrypt your Couchbase Lite data, thereby securing your data at rest on your edge devices. This, in combination with SSL/TLS-based encryption of data, enables full-stack data security and privacy which is the cornerstone of business-critical applications especially in the healthcare, defense and finance industries.
We support AES-256 based encryption standard. Applications can encrypt their database by either providing a raw AES-256 key or a password as part of the database configuration. In the latter case, the key is derived from the password. The application is responsible for the storage and management of the raw key and/or password. Couchbase Lite does not persist the user key or password. You can learn more about it in our encryption documentation.
Guaranteed high availability
This feature ensures that there is zero downtime of the Sync Gateway during a server rebalance or failover. Prior to Mobile 2.1, if a Couchbase server data node or index node went down, it could take anywhere from a few minutes to several hours until the reindexing was complete and the Sync Gateway became available again to start serving requests. In 2.1, the Sync Gateway has migrated from views to using N1QL/Global Secondary Index(GSI) for its internal security and replication functions. By using index replicas, we can guarantee that there is no downtime during a node failover. As a result of the migration, we have also observed performance improvements in query processing. This capability is enabled by default. You can learn more about it in our Sync Gateway documentation.
Enhanced supportability using continuous logging
With this feature, the Sync Gateway continuously outputs data to four new log files intended for use by support. The four log files correspond to four log levels – error, warning, info, and debug, each with its own retention policy. By separating the log files intended for support from the console-based logging facility, users have the flexibility to tune what gets logged to console, potentially even disabling it, without impacting support.
This feature allows us to get all the information needed to diagnose an issue, without requiring support to go back to the user and request they try to reproduce the logs after increasing the verbosity of the logging. Oftentimes, it may not be simple to reproduce the issue! We can now reduce the turnaround time required by support to diagnose an issue. This feature is enabled by default.
Privacy and security enhancements
The Sync Gateway supports log redaction as an opt-in feature and is disabled by default. When enabled, all user data is tagged for redaction in the log files. During post-processing of the logs by sgcollect_info, all the tagged user data is redacted. This ensures that all private data is redacted in logs that are shared with our support teams.
In addition to username/password-based authentication, the Sync Gateway now supports the ability to authenticate against the Couchbase server using X.509 certificates. This requires a version of Couchbase Server that supports certificate-based authentication.
You can download Couchbase Mobile 2.1 today from our downloads page. Note that our Enterprise Edition is also free to download and use for development purposes. You can learn more in our What’s New page.
Here are some other helpful links:
- Couchbase Lite
- Sync Gateway
- Couchbase Mobile blogs
- Couchbase Forums