In the world where data is the currency, backup & recovery for a database is as essential as any other defining parameter such as consistency or performance because the customers cannot afford data loss under any circumstance. Couchbase offers a multifold solution to aid customers with their data protection needs. We have our native backup & recovery solution, our cross data center replication technology widely adopted for disaster recovery and our partner solutions offering some advanced capabilities. Let’s explore each of these options in depth in the rest of the blog.
Cbbackupmgr (available only in enterprise edition) is Couchbase’s highly performant backup & recovery solution that supports complete, incremental and merge capabilities. It enables customers to take complete, incremental backups and merge them depending on their needs. Customers can use different enterprise backup strategies and leverage these capabilities to meet their business continuity plans with the respective RPO and RTO.
Cbbackupmgr offers flexibility with the backup where customers can do a cluster wide backup with all the buckets or backup up only specific buckets. Based on Couchbase’s architecture, the data in the cluster is equally distributed into 1024 vbuckets. Depending on the number of nodes in the cluster, these vbuckets are mapped to the nodes. We also support backing up data at the vbucket level using vbucket filters. Since, the number of nodes and topology can change due to failovers, backing up at the vbucket level is a more robust phenomenon compared to the nodes in cases where users would not want to backup the entire cluster.
Cbbackupmgr also offers several enterprise grade functionality such as compression, client certificate authentication using X.509, support for ipv6, SSL, TTL, RBAC and key based filtered restore.
In addition, our cross datacenter replication technology (XDCR) is used as a disaster recovery solution by number of our customers. XDCR is an independently scalable replication technology which provides data consistency across sites.For disaster recovery, customers can use XDCR to maintain an active cluster(source) and a passive cluster(target) as part of their business continuity plan. This is extremely beneficial when the disasters occur at a datacenter or regional level.
While these solutions can meet most of our customers’ day to day use cases for data protection and disaster recovery, our growing customer base is constantly in need of advanced backup and restore capabilities. Couchbase is consistently expanding it’s partner ecosystem to bridge these gaps.
Imanis data has been playing a pivotal role in the game where several of our customers have had a great experience in using our joint solution.
Some of the prime areas where Imanis greatly helps Couchbase’s customers are as mentioned below:
Parallel scale out backup & restore: Imanis data supports parallel scale out backup leveraging the shared nothing architecture of Couchbase. As monolithic backup solutions suffer to scale for huge datasets, ability to add nodes and parallelize backups will enable faster backup & restores.
This will enable the customers to tune the performance until they max out the network bandwidth.
Support for object stores : Couchbase’s current backup solution uses ForestDB for it’s secondary storage which does not support object storage. Imanis backup solution can be utilized to backup Couchbase data to any object store like Amazon S3, Azure blob store or any other object stores.
Imanis offers several other backup capabilities like data masking to facilitate compliance with privacy regulations like GDPR, content filtering for only recovering subsets of data, schema recovery etc.,
Customers can choose to use one or more or a combination of the above mentioned options to achieve their data protection goals for the Couchbase data platform.
Nice blog, very informative. Does user have option to backup the RBAC users/passwords for the entire given bucket/cluster? For example, if i take a backup of a bucket, then all users/creds/RBACs should be backed up and when restored onto new cluster, then restore should create those if they are missing with same level of authorization. Same with the backup and restore at cluster level.