Best practices to dump all keys without affecting the performance


We’re using Couchbase 1.8.1 cluster on four 32Gb nodes and we need to dump the keys from the bucket that has 180 million entries. The bucket is all the time under load (about 5000 get requests and about 100 put requests per second), most of the keys are in memory (cache miss is about 2%).

We’re going to use Couchbase Java TAP client to dump the keys, but there are all these “While not fully supported… which would cause lots of memory usage or resource consumption if you’re not careful” sound very dangerous.

We’d like to be as much “careful” as possible! Does anyone have any tips of advices on how to do this without bringing the performance down?

Thanks a lot,

You can use XDCR to another Couchbase cluster or ElasticSearch. Approximate speed of outbound replication will be around 10k tps and it will not affect the current load rate, because mechanism of XDCR uses REST or memcached REST protocol, which differs from the standard mode of get/set documents to Couchbase.

Unfortunately not, since it is Couchbase 1.8.x that does not support XDCR (or views)