Part of the CouchDB case study series:
The BBC architects chose CouchDB to create a multi-master multi-datacenter failover configuration. This allows them to use 32 nodes split between two datacenters. Of the 16 nodes in each datacenter, 8 are primary nodes and the other 8 are backup nodes, but the nodes themselves are not aware of the fact that they are designated as a primary or backup node. This works well for the BBC because they can commission more nodes as their need for capacity rises.
I’ve seen Enda Farrell’s talk at QCon London and if my memory serves me right, there are a couple of additional details that are probably interesting for this CouchDB case study:
- BBC build a key-value API for accessing CouchDB stored data. Main purpose of this API is to make sure there’s no access to views
BBC is using an internally developed replication mechanism (and not the default CouchDB replication). I stand corrected: according to J.Chris (Couchio) BBC is using CouchDB replication with a custom layer to manage it.