{"id":1864,"date":"2015-01-18T04:21:14","date_gmt":"2015-01-18T04:21:14","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1864"},"modified":"2025-10-09T07:16:05","modified_gmt":"2025-10-09T14:16:05","slug":"inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/","title":{"rendered":"Protocolo de altera\u00e7\u00e3o de banco de dados: O supercondutor que liga a replica\u00e7\u00e3o do Couchbase Server 3.0"},"content":{"rendered":"<p class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">O Database Change Protocol (DCP) \u00e9 o protocolo de replica\u00e7\u00e3o principal da vers\u00e3o 3.0 e \u00e9 usado para conectar n\u00f3s e clusters em centros de dados distribu\u00eddos geograficamente. Nesta postagem, vamos nos aprofundar em seu funcionamento e em como ele permite maior disponibilidade, desempenho e escala com o Couchbase Server 3.0.\u00a0\u00a0<\/span><\/p>\n<p class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">Vamos come\u00e7ar explicando por que a replica\u00e7\u00e3o \u00e9 uma parte t\u00e3o importante de qualquer banco de dados: Aqui est\u00e1 o \"porqu\u00ea\":\u00a0<\/span><\/p>\n<ul class=\"ul1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\">\n<li class=\"li1\"><span class=\"s1\">Prote\u00e7\u00e3o de dados: A replica\u00e7\u00e3o \u00e9 usada para proteger contra falhas, mantendo os feeds de r\u00e9plica locais e entre data centers. A velocidade com que um banco de dados pode replicar os dados para as r\u00e9plicas determina a janela de perda de dados. Quanto menos eficiente for um banco de dados na replica\u00e7\u00e3o, maior ser\u00e1 a janela de perda de dados!<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\">Fornecimento de \u00edndices mais recentes: A replica\u00e7\u00e3o tamb\u00e9m \u00e9 o meio de atualizar as exibi\u00e7\u00f5es no Couchbase. O \u00edndice de mapa\/redu\u00e7\u00e3o incremental usado para responder \u00e0s consultas precisa de um feed r\u00e1pido para se manter atualizado. Especialmente as consultas que precisam de uma visualiza\u00e7\u00e3o consistente dos dados n\u00e3o poder\u00e3o ser respondidas se o feed de replica\u00e7\u00e3o n\u00e3o for incrivelmente r\u00e1pido e eficiente!<\/span><\/li>\n<\/ul>\n<p class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">Ent\u00e3o, o que torna o DCP especial e diferente dos protocolos de replica\u00e7\u00e3o concorrentes? H\u00e1 quatro propriedades principais:\u00a0<\/span><\/p>\n<ul class=\"ul1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\">\n<li class=\"li1\"><span class=\"s1\"><strong>Pedido: <\/strong>O DCP solicita muta\u00e7\u00f5es. Isso \u00e9 importante para poder registrar onde as coisas foram deixadas.\u00a0<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\"><strong>Pode ser reiniciado:<\/strong> O DCP otimiza as reinicializa\u00e7\u00f5es ap\u00f3s falhas de curta ou longa dura\u00e7\u00e3o.\u00a0<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\"><strong>Consistente: <\/strong>O DCP \u00e9 capaz de produzir com efici\u00eancia um instant\u00e2neo consistente.<\/span><\/li>\n<li class=\"li1\"><span class=\"s1\"><strong>Alto desempenho: <\/strong>O DCP \u00e9 baseado em mem\u00f3ria. Ele transmite as altera\u00e7\u00f5es ansiosamente, desde que os clientes consigam acompanh\u00e1-las.<\/span><\/li>\n<\/ul>\n<h2 class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><strong>Arquitetura<\/strong><\/h2>\n<p class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">H\u00e1 tr\u00eas partes que comp\u00f5em a maior parte da m\u00e1gica do DCP: UUID do vbucket, n\u00fameros de sequ\u00eancia e registro de failover. Presumo que voc\u00ea j\u00e1 conhe\u00e7a alguns conceitos como vbuckets. (Voc\u00ea pode encontrar mais informa\u00e7\u00f5es\u00a0<a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/3.x\/admin\/Concepts\/concept-vBucket.html\">aqui<\/a>\u00a0sobre vbuckets). Vamos dar uma olhada no que eles s\u00e3o:<\/span><\/p>\n<p class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">Um UUID de vbucket e um n\u00famero de sequ\u00eancia de muta\u00e7\u00e3o identificam exclusivamente cada muta\u00e7\u00e3o no Couchbase Server. Vamos explicar esses conceitos: os vbuckets representam shards no Couchbase Server.\u00a0<b>Cada<\/b>\u00a0<b>O vbucket tem um UUID exclusivo<\/b>\u00a0atribu\u00eddo a ele.\u00a0<b>Cada muta\u00e7\u00e3o recebe um n\u00famero de sequ\u00eancia<\/b>. O n\u00famero de sequ\u00eancia \u00e9 um n\u00famero monotonicamente crescente e tem o escopo de cada vbucket. A m\u00e1gica da consist\u00eancia e da capacidade de retomada granular \u00e9 obtida por meio do registro de failover.\u00a0<b>Cada vbucket tamb\u00e9m mant\u00e9m um registro de failover. <\/b>O log de failover registra v\u00e1rios pares de UUID de vbucket e n\u00famero de sequ\u00eancia. A primeira entrada marca o in\u00edcio do tempo e cada nova entrada marca um failover. Os vbuckets mestre e de r\u00e9plica no sistema mant\u00eam o mesmo registro de failover. Quando ocorre uma falha - digamos que o vbucket mestre falhe, por exemplo - um vbucket de r\u00e9plica \u00e9 atualizado para um vbucket mestre. A nova entrada do registro de failover do vbucket mestre registra o UUID do vbucket e o \u00faltimo n\u00famero de sequ\u00eancia do novo vbucket mestre e o replica para os vbuckets de r\u00e9plica para marcar a ocasi\u00e3o. Essa mec\u00e2nica b\u00e1sica permite um monte de m\u00e1gica. Na pr\u00f3xima se\u00e7\u00e3o, vamos dar uma olhada em algumas das principais opera\u00e7\u00f5es aprimoradas na vers\u00e3o 3.0 com o DCP e explicar como esses mecanismos fazem isso acontecer.<\/span><\/p>\n<h2 class=\"p2\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><strong>Backups incrementais<\/strong><\/h2>\n<p class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">3.0 pode lhe proporcionar uma efici\u00eancia 100 vezes maior no armazenamento de backups. Veja como: Com a vers\u00e3o 3.0, os backups completos podem ser complementados com backups incrementais para maior efici\u00eancia de armazenamento. Os backups incrementais simplesmente fazem backup apenas dos dados que foram alterados desde o \u00faltimo backup completo, cumulativo ou incremental. \u00c9 poss\u00edvel tirar um instant\u00e2neo completo e criar uma cadeia de backups incrementais ou cumulativos, em vez de tirar instant\u00e2neos completos todas as vezes. O UUID do Vbucket, o n\u00famero de sequ\u00eancia e o registro de failover fornecem os metadados necess\u00e1rios para manter a consist\u00eancia entre a cadeia de backups.<\/span><\/p>\n<h2 class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><strong>Visualiza\u00e7\u00f5es e processamento de mapa\/reprodu\u00e7\u00e3o incremental<\/strong><\/h2>\n<p class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">Consultas de visualiza\u00e7\u00e3o de baixa lat\u00eancia s\u00e3o essenciais para um aplicativo \u00e1gil e observamos uma melhoria de 50 vezes na lat\u00eancia das consultas de visualiza\u00e7\u00e3o com a vers\u00e3o 3.0. O Map\/Reduce j\u00e1 existe h\u00e1 algum tempo no mundo do Hadoop, mas o Couchbase oferece processamento incremental de map\/reduce para permitir o pr\u00e9-c\u00e1lculo de suas consultas em uma visualiza\u00e7\u00e3o. \u00c9 assim que o Couchbase Server proporciona consultas de baixa lat\u00eancia. O mecanismo de processamento incremental \u00e9 alimentado por um fluxo DCP. \u00c0 medida que as muta\u00e7\u00f5es chegam \u00e0 mem\u00f3ria, elas s\u00e3o transmitidas para processamento nos documentos de design e nas exibi\u00e7\u00f5es dentro deles. O fluxo melhora o frescor dos \u00edndices em mais de 50 vezes em compara\u00e7\u00e3o com as vers\u00f5es anteriores. Muitas consultas exigem consist\u00eancia. O desenvolvedor do Couchbase tem op\u00e7\u00f5es sobre a consist\u00eancia da visualiza\u00e7\u00e3o - \u00e9 poss\u00edvel consultar o que o \u00edndice processou em qualquer ponto (stale=ok) OU solicitar a consulta da visualiza\u00e7\u00e3o que cont\u00e9m todas as muta\u00e7\u00f5es at\u00e9 o ponto da consulta (stale=false). O DCP se destaca especialmente para as consultas do \u00faltimo tipo, pois tem a capacidade de transmitir as altera\u00e7\u00f5es com uma rapidez incr\u00edvel para o processador de visualiza\u00e7\u00e3o.\u00a0<\/span><\/p>\n<h2 class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><strong>Recupera\u00e7\u00e3o Delta para um reequil\u00edbrio mais r\u00e1pido<\/strong><\/h2>\n<p class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">Se voc\u00ea estiver trazendo um n\u00f3 de volta ao cluster que sofreu uma falha devido a um problema, n\u00e3o precisar\u00e1 mais retroceder horas ou dias e reenviar as altera\u00e7\u00f5es para o n\u00f3. Com o UUID do vbucket, o n\u00famero de sequ\u00eancia e o registro de failover, o DCP pode reiniciar com grande granularidade a partir de onde parou. Se o n\u00f3 de entrada estiver ausente do cluster por alguns minutos, ele poder\u00e1 se recuperar simplesmente recebendo as muta\u00e7\u00f5es ausentes dos \u00faltimos minutos com a op\u00e7\u00e3o de recupera\u00e7\u00e3o de n\u00f3 delta. Observamos uma melhora de 100s nos tempos de rebalanceamento com a recupera\u00e7\u00e3o do n\u00f3 delta, especialmente quando o tamanho dos dados \u00e9 enorme por n\u00f3.<\/span><\/p>\n<h2 class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><strong><span style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS'\">Garantia de durabilidade com \"ReplicateTo\"\u00a0<\/span><\/strong><\/h2>\n<p class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">O Couchbase Server tem consist\u00eancia incorporada - voc\u00ea pode \"ler sua pr\u00f3pria grava\u00e7\u00e3o\" sem problemas, mesmo quando escreve muta\u00e7\u00f5es na mem\u00f3ria. No entanto, muitos desenvolvedores precisam de garantias de durabilidade para seus aplicativos, para que eles possam sobreviver a falhas de n\u00f3s sem perder dados. Alguns dependem da persist\u00eancia cl\u00e1ssica em disco, mas, para melhorar a disponibilidade e a capacidade de recupera\u00e7\u00e3o, muitos desenvolvedores do Couchbase escolhem a replica\u00e7\u00e3o como garantia de durabilidade dos dados. Isso \u00e9 feito por meio do m\u00e9todo ReplicateTo nos SDKs nativos do Couchbase. O ReplicateTo garante que a confirma\u00e7\u00e3o de sua muta\u00e7\u00e3o retorne DEPOIS de ter sido replicada para uma ou mais r\u00e9plicas. Com a replica\u00e7\u00e3o de streaming de alto desempenho do DCP, voc\u00ea pode replicar a muta\u00e7\u00e3o para uma r\u00e9plica at\u00e9 180 vezes mais r\u00e1pido. Vi lat\u00eancias de 1-2 ms com \"ReplicateTo\" em meus testes na nuvem. No entanto, esses n\u00fameros absolutos dependem da qualidade da infraestrutura e do HW em que estou executando, portanto, considere-os como um gr\u00e3o de sal.\u00a0<\/span><\/p>\n<h2 class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><strong>Replica\u00e7\u00e3o entre data centers<\/strong><\/h2>\n<p class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">XDCR - replica\u00e7\u00e3o entre data centers - tamb\u00e9m depende do DCP. A replica\u00e7\u00e3o de streaming diretamente da mem\u00f3ria para outro data center significa que podemos proteger melhor seus dados! Imagine uma replica\u00e7\u00e3o bidirecional entre dois clusters. Se o cluster #1 falhar, a quantidade de muta\u00e7\u00f5es perdidas ser\u00e1 determinada pela maior lat\u00eancia de replica\u00e7\u00e3o. A replica\u00e7\u00e3o r\u00e1pida significa que, em um desastre regional como este, a exposi\u00e7\u00e3o \u00e0 perda de dados \u00e9 minimizada! J\u00e1 vimos\u00a0<b>Melhoria de 4x na lat\u00eancia de replica\u00e7\u00e3o<\/b>\u00a0com XDCR no Couchbase Server 3.0.\u00a0<\/span><\/p>\n<p class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">O XDCR tamb\u00e9m \u00e9 propenso a erros de rede e solu\u00e7os, e \u00e9 importante poder se recuperar rapidamente desses problemas e voltar a funcionar! Os metadados do DCP nos permitem retomar rapidamente de onde paramos em caso de falhas de comunica\u00e7\u00e3o.\u00a0<\/span><\/p>\n<p class=\"p2\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">Esses s\u00e3o apenas alguns exemplos de como o DCP amplia os recursos do Couchbase Server. H\u00e1 muito mais... Na verdade, h\u00e1 mais 200 recursos no Couchbase Server 3.0, e a maioria deles est\u00e1 presente devido \u00e0 s\u00f3lida base fornecida pelo DCP.\u00a0<\/span><\/p>\n<p class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">Se quiser se aprofundar mais no tratamento de falhas e na mec\u00e2nica por tr\u00e1s dos DCPs r\u00e1pidos presumivelmente, voc\u00ea pode assistir \u00e0 palestra detalhada sobre o DCP no Couchbase Connect<\/span>ou<span class=\"s1\">\u00a0veja os detalhes da implementa\u00e7\u00e3o aqui no <a href=\"https:\/\/github.com\/couchbaselabs\/dcp-documentation\">site do github<\/a>.<\/span><\/p>\n<p class=\"p1\" style=\"font-family: sans-serif, Arial, Verdana, 'Trebuchet MS';line-height: 20.7999992370605px;text-align: left\"><span class=\"s1\">Feliz teste.<\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>Database Change Protocol (DCP) is the core\u00a0replication protocol for version\u00a03.0 and\u00a0is used to connect nodes\u00a0and clusters across geo distributed data centers. In this post, we&#8217;ll dive deep into its workings and how it enables higher availability,\u00a0performance and scale with Couchbase [&hellip;]<\/p>","protected":false},"author":7,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[1977,1976,1562],"ppma_author":[8978],"class_list":["post-1864","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-database-change-protocol","tag-dcp","tag-replication"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Database Change Protocol: The super-conductor that wires Couchbase Server 3.0 replication - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Database Change Protocol: The super-conductor that wires Couchbase Server 3.0 replication\" \/>\n<meta property=\"og:description\" content=\"Database Change Protocol (DCP) is the core\u00a0replication protocol for version\u00a03.0 and\u00a0is used to connect nodes\u00a0and clusters across geo distributed data centers. In this post, we&#8217;ll dive deep into its workings and how it enables higher availability,\u00a0performance and scale with Couchbase [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-01-18T04:21:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T14:16:05+00:00\" \/>\n<meta name=\"author\" content=\"Cihan Biyikoglu, Director of Product Management, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Cihan Biyikoglu, Director of Product Management, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/\"},\"author\":{\"name\":\"Cihan Biyikoglu, Director of Product Management, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3d8c60500ca29254fcdb2f76f29fb088\"},\"headline\":\"Database Change Protocol: The super-conductor that wires Couchbase Server 3.0 replication\",\"datePublished\":\"2015-01-18T04:21:14+00:00\",\"dateModified\":\"2025-10-09T14:16:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/\"},\"wordCount\":1236,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"Database Change Protocol\",\"DCP\",\"replication\"],\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/\",\"name\":\"Database Change Protocol: The super-conductor that wires Couchbase Server 3.0 replication - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-01-18T04:21:14+00:00\",\"dateModified\":\"2025-10-09T14:16:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Database Change Protocol: The super-conductor that wires Couchbase Server 3.0 replication\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3d8c60500ca29254fcdb2f76f29fb088\",\"name\":\"Cihan Biyikoglu, Director of Product Management, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/a878e65cb37ac2419416d3289816abd5\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g\",\"caption\":\"Cihan Biyikoglu, Director of Product Management, Couchbase\"},\"description\":\"Cihan Biyikoglu is a director of product management at Couchbase, responsible for the Couchbase Server product. Cihan is a big data enthusiast who brings over twenty years of experience to Redis Labs\u2019 product team. Cihan started his career as a C\/C++ developer.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/cihan-biyikoglu\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Database Change Protocol: The super-conductor that wires Couchbase Server 3.0 replication - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/","og_locale":"pt_BR","og_type":"article","og_title":"Database Change Protocol: The super-conductor that wires Couchbase Server 3.0 replication","og_description":"Database Change Protocol (DCP) is the core\u00a0replication protocol for version\u00a03.0 and\u00a0is used to connect nodes\u00a0and clusters across geo distributed data centers. In this post, we&#8217;ll dive deep into its workings and how it enables higher availability,\u00a0performance and scale with Couchbase [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-01-18T04:21:14+00:00","article_modified_time":"2025-10-09T14:16:05+00:00","author":"Cihan Biyikoglu, Director of Product Management, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Cihan Biyikoglu, Director of Product Management, Couchbase","Est. reading time":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/"},"author":{"name":"Cihan Biyikoglu, Director of Product Management, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3d8c60500ca29254fcdb2f76f29fb088"},"headline":"Database Change Protocol: The super-conductor that wires Couchbase Server 3.0 replication","datePublished":"2015-01-18T04:21:14+00:00","dateModified":"2025-10-09T14:16:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/"},"wordCount":1236,"commentCount":2,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["Database Change Protocol","DCP","replication"],"articleSection":["Uncategorized"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/","url":"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/","name":"Database Change Protocol: The super-conductor that wires Couchbase Server 3.0 replication - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-01-18T04:21:14+00:00","dateModified":"2025-10-09T14:16:05+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/inside-couchbase-server-database-change-protocol-the-super-conductor-that-wires-couchbase-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Database Change Protocol: The super-conductor that wires Couchbase Server 3.0 replication"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3d8c60500ca29254fcdb2f76f29fb088","name":"Cihan Biyikoglu, diretor de gerenciamento de produtos, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/a878e65cb37ac2419416d3289816abd5","url":"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g","caption":"Cihan Biyikoglu, Director of Product Management, Couchbase"},"description":"Cihan Biyikoglu \u00e9 diretor de gerenciamento de produtos da Couchbase, respons\u00e1vel pelo produto Couchbase Server. Cihan \u00e9 um entusiasta de big data que traz mais de vinte anos de experi\u00eancia para a equipe de produtos da Redis Labs. Cihan come\u00e7ou sua carreira como desenvolvedor C\/C++.","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/cihan-biyikoglu\/"}]}},"authors":[{"term_id":8978,"user_id":7,"is_guest":0,"slug":"cihan-biyikoglu","display_name":"Cihan Biyikoglu, Director of Product Management, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g","author_category":"","last_name":"Biyikoglu","first_name":"Cihan","job_title":"","user_url":"","description":"Cihan Biyikoglu \u00e9 diretor de gerenciamento de produtos da Couchbase, respons\u00e1vel pelo produto Couchbase Server. Cihan \u00e9 um entusiasta de big data que traz mais de vinte anos de experi\u00eancia para a equipe de produtos da Redis Labs. Cihan come\u00e7ou sua carreira como desenvolvedor C\/C++."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=1864"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1864\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=1864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=1864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=1864"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=1864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}