Com o Couchbase Server 3.0, introduzimos um novo protocolo excelente para sincronização de dados chamado DCP (protocolo de alteração de banco de dados). O DCP potencializa muitos recursos do Couchbase Server, incluindo a manutenção de réplicas, rebalanceamento, recuperação de nós, backups, indexação até a replicação XDCR. Basicamente, ele fica no coração de nossa arquitetura e bombeia sangue para o resto do corpo.
Com a versão anterior do produto, à medida que as mutações chegam aos nós do cluster de origem, elas são colocadas na fila para persistência em disco e replicação para outros nós. Uma vez obtida a persistência em disco, o replicador XDCR detectava as mutações lendo-as de volta no disco e as replicava para o cluster de destino. A latência da replicação do XDCR depende de vários fatores, mas no Couchbase Server 2.x, um dos principais fatores é a rapidez com que você pode persistir as mutações no disco. A E/S de disco não é rápida! Certamente não é rápida na "memória".
Com a nova versão 3.0, com a ajuda do DCP, o XDCR detecta mutações diretamente ao iniciar um fluxo DCP. À medida que as mutações chegam, o DCP ajuda a replicação intracluster, bem como os replicadores do XDCR, que captam a mutação e a replicam no cluster de destino. O streaming e a memória são rápidos! E essa é a nossa mágica para obter latências de XDCR até quatro vezes menores.

Para aqueles que estão usando o XDCR para alta disponibilidade e recuperação de desastres, isso significa que podemos levar suas alterações para a segurança de outro cluster em outro data center mais rapidamente. Isso significa que você está mais bem protegido contra falhas em todo o cluster, como desastres regionais que afetam todo um data center. Para aqueles que estão usando o XDCR para localidade de dados em suas implementações globais, isso significa que podemos disponibilizar os dados em todo o mundo com mais rapidez.
Antes de encerrar, devo observar um aspecto: os dados de desempenho são sempre difíceis de relatar. É importante observar que a latência absoluta com o XDCR depende de muitos fatores. Os fatores de latência incluem a largura de banda da rede, a latência do "ping" entre o cluster, a capacidade computacional disponível para processar as mutações na origem e nos destinos e muito mais... Para obter dados mais precisos, experimente o Couchbase Server 3.0 e nos informe! Faça o download aqui: couchbase.com/download