{"id":6589,"date":"2019-03-28T09:05:03","date_gmt":"2019-03-28T16:05:03","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=6589"},"modified":"2025-06-13T20:19:42","modified_gmt":"2025-06-14T03:19:42","slug":"couchbase-in-telecom-megafon-russia","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-in-telecom-megafon-russia\/","title":{"rendered":"Couchbase em telecomunica\u00e7\u00f5es:  MegaFon, R\u00fassia"},"content":{"rendered":"<p><em>Egor Kovalchuk \u00e9 gerente de implanta\u00e7\u00e3o na MegaFon, uma das maiores empresas de telecomunica\u00e7\u00f5es da R\u00fassia.  Sua carreira em telecomunica\u00e7\u00f5es se estende por mais de uma d\u00e9cada.  A equipe de Egor \u00e9 respons\u00e1vel pelo desenvolvimento, integra\u00e7\u00e3o e monitoramento de v\u00e1rios sistemas e aplicativos comerciais que abrangem os onze fusos hor\u00e1rios da R\u00fassia.<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-6597\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/03\/megafon-egor.png\" alt=\"Egor Kovalchuk\" width=\"338\" height=\"409\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon-egor.png 338w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon-egor-248x300.png 248w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon-egor-300x363.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon-egor-17x20.png 17w\" sizes=\"auto, (max-width: 338px) 100vw, 338px\" \/><\/p>\n<h2>Couchbase em telecomunica\u00e7\u00f5es: MegaFon, R\u00fassia<\/h2>\n<p>A transforma\u00e7\u00e3o digital \u00e9 uma tend\u00eancia global para empresas grandes e pequenas.  \u00c9 vital que as empresas se adaptem \u00e0s necessidades dos clientes modernos.  Os clientes est\u00e3o acostumados a sistemas altamente dispon\u00edveis e em tempo real fornecidos pelos l\u00edderes do setor (Google, Amazon, Netflix) e exigem a mesma experi\u00eancia de todos os participantes do mercado.<\/p>\n<p>As empresas de telecomunica\u00e7\u00f5es russas s\u00e3o totalmente afetadas por essa tend\u00eancia.  Novos recursos amig\u00e1veis ao cliente precisam ser implementados <strong>r\u00e1pido<\/strong> e <strong>escala<\/strong> facilmente.  Precisamos reagir <strong>rapidamente<\/strong> \u00e0s a\u00e7\u00f5es de nossos concorrentes.  Tudo isso precisa ser fornecido enquanto se gerencia os custos crescentes dos gastos com TI (infraestrutura, data centers, pessoal qualificado).  \u00c9 a\u00ed que as novas tecnologias, como o cache na mem\u00f3ria e os bancos de dados NoSQL, s\u00e3o \u00fateis.<\/p>\n<p>Descreverei a seguir dois casos de uso que utilizamos no MegaFon com bancos de dados na mem\u00f3ria:<\/p>\n<ul>\n<li><strong>Cache simples<\/strong>Cache: o cache \u00e9 preenchido e atualizado em um cronograma, bem como por eventos do banco de dados e do aplicativo.<\/li>\n<li><strong>Cache de grava\u00e7\u00e3o<\/strong>(por exemplo, o banco de dados Oracle recebe atualiza\u00e7\u00f5es do fluxo DCP do Couchbase).<\/li>\n<\/ul>\n<p>A primeira abordagem \u00e9 usada em nosso sistema de tomada de decis\u00f5es para o ciclo de vida do assinante.  Um \u00fanico aplicativo analisa v\u00e1rios fatores, toma uma decis\u00e3o e envia a altera\u00e7\u00e3o para v\u00e1rios sistemas (incluindo um banco de dados Oracle).  Um exemplo desse tipo de aplicativo \u00e9 o bloqueio e o desbloqueio de contas de planos pr\u00e9-pagos.  Quando o valor pr\u00e9-pago \u00e9 usado, a conta \u00e9 bloqueada e nenhum servi\u00e7o \u00e9 fornecido at\u00e9 que o cliente a recarregue.  Depois que a conta \u00e9 reabastecida, o servi\u00e7o precisa ser reativado o mais r\u00e1pido poss\u00edvel.  Gra\u00e7as ao uso do Couchbase, reduzimos o tempo de restabelecimento do servi\u00e7o de 90 para 30 segundos, mas ainda h\u00e1 espa\u00e7o para melhorias.  A \u00fanica atualiza\u00e7\u00e3o enviada ao banco de dados principal \u00e9 a altera\u00e7\u00e3o do status da conta (veja a Figura 1 abaixo).<\/p>\n<div id=\"attachment_6590\" style=\"width: 965px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6590\" class=\"size-full wp-image-6590\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/03\/megafon01.png\" alt=\"Figure 1: MegaFon Fast Account Status Update\" width=\"955\" height=\"457\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon01.png 955w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon01-300x144.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon01-768x368.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon01-20x10.png 20w\" sizes=\"auto, (max-width: 955px) 100vw, 955px\" \/><p id=\"caption-attachment-6590\" class=\"wp-caption-text\"><em>Figura 1: Processo de atualiza\u00e7\u00e3o r\u00e1pida do status da conta MegaFon<\/em><\/p><\/div>\n<p>Por que escolhemos o Couchbase Server como parte de nossos esfor\u00e7os de transforma\u00e7\u00e3o digital?  Vamos dar uma olhada em nossos requisitos de desempenho e ver como o Couchbase se adapta a eles.<\/p>\n<h4><strong>NoSQL <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/5-steps-to-better-database-performance\/\">Desempenho do banco de dados<\/a> Requisitos<\/strong><\/h4>\n<ul>\n<li>Taxa de processamento: at\u00e9 200.000 solicita\u00e7\u00f5es por segundo.<\/li>\n<li>Lat\u00eancia m\u00e9dia (50%), cluster \u00fanico: dentro de 5 ms.<\/li>\n<li>Lat\u00eancia m\u00e1xima (99%), cluster \u00fanico: dentro de 15 ms.<\/li>\n<li>Taxa de transfer\u00eancia m\u00e1xima de inser\u00e7\u00e3o: 500 MB por segundo.<\/li>\n<li>N\u00famero m\u00e1ximo de opera\u00e7\u00f5es de inser\u00e7\u00e3o: 100.000 por segundo.<\/li>\n<li>Taxa de transfer\u00eancia m\u00e1xima de atualiza\u00e7\u00e3o: 500 MB por segundo.<\/li>\n<li>N\u00famero m\u00e1ximo de opera\u00e7\u00f5es de atualiza\u00e7\u00e3o: 100.000 por segundo.<\/li>\n<li>Taxa de transfer\u00eancia m\u00e1xima de leitura: 500 MB por segundo.<\/li>\n<li>N\u00famero m\u00e1ximo de opera\u00e7\u00f5es de leitura: 100.000 por segundo<\/li>\n<\/ul>\n<h4><strong>Acesso a dados chave-valor de alto desempenho<\/strong><\/h4>\n<p>O Couchbase Server, em sua ess\u00eancia, \u00e9 um banco de dados distribu\u00eddo de chave-valor (KV).  O armazenamento KV \u00e9 uma abordagem simples de gerenciamento de dados que armazena um identificador exclusivo (chave) junto com um peda\u00e7o de informa\u00e7\u00e3o arbitr\u00e1ria (valor).  O valor pode ser um objeto bin\u00e1rio (BLOB\/blob) ou um documento JSON.  Devido \u00e0 simplicidade da implementa\u00e7\u00e3o do KV (especialmente quando comparado aos bancos de dados relacionais), o acesso aos dados \u00e9 fornecido com lat\u00eancia m\u00ednima.  Em nossas implementa\u00e7\u00f5es, a lat\u00eancia da rede costuma ser de 2 a 3 vezes maior do que o tempo para concluir uma opera\u00e7\u00e3o de KV no cluster do Couchbase.<\/p>\n<h4><strong>Formato de dados flex\u00edvel (JSON)<\/strong><\/h4>\n<p>JavaScript Object Notation (JSON) \u00e9 o formato de armazenamento de dados preferido no Couchbase.  O formato oferece suporte a tipos de dados primitivos (booleanos, n\u00fameros, cadeias de caracteres) e compostos (matrizes, listas, dicion\u00e1rios).<\/p>\n<p>O esquema de dados de seus documentos JSON pode ser facilmente alterado com base nas mudan\u00e7as de requisitos do aplicativo.  Diferentes vers\u00f5es de esquema podem ser rastreadas por um campo de documento adicional, garantindo assim atualiza\u00e7\u00f5es de aplicativos e compatibilidade com vers\u00f5es anteriores sem problemas.<\/p>\n<h4><strong>Alta disponibilidade<\/strong><\/h4>\n<p>O Couchbase Sever oferece v\u00e1rios recursos para dar suporte \u00e0 alta disponibilidade (HA) dos dados.  Intra-cluster <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/data-replication-advantages\/\">replica\u00e7\u00e3o de dados<\/a> (distribui\u00e7\u00e3o de v\u00e1rias c\u00f3pias de dados em diferentes servidores em um \u00fanico cluster) mant\u00e9m os dados dispon\u00edveis durante a manuten\u00e7\u00e3o programada do servidor ou falhas inesperadas do servidor.<\/p>\n<div id=\"attachment_6591\" style=\"width: 560px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6591\" class=\"wp-image-6591\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/03\/megafon02.png\" alt=\"Figure 2: Couchbase Intra-cluster Replication\" width=\"550\" height=\"547\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon02.png 678w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon02-300x298.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon02-150x150.png 150w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon02-65x65.png 65w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon02-50x50.png 50w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon02-20x20.png 20w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><p id=\"caption-attachment-6591\" class=\"wp-caption-text\"><em>Figura 2: Replica\u00e7\u00e3o intra-cluster do Couchbase<\/em><\/p><\/div>\n<p>O DCP (Database Change Protocol) \u00e9 outro componente importante de HA do Couchbase.  Esse protocolo de streaming de alto desempenho comunica as altera\u00e7\u00f5es de dados aos consumidores internos e externos.  Ele \u00e9 respons\u00e1vel por manter os \u00edndices secund\u00e1rios globais (GSI) usados para consultas SQL, \u00edndices de pesquisa de texto completo (FTS), replica\u00e7\u00e3o entre data centers (XDCR, protocolo de replica\u00e7\u00e3o entre clusters) e outros servi\u00e7os.<\/p>\n<h4><strong>Replica\u00e7\u00e3o bidirecional (entre clusters)<\/strong><\/h4>\n<p>Aplicativos e equipamentos redundantes s\u00e3o, h\u00e1 muito tempo, uma pr\u00e1tica recomendada no setor.  O ideal \u00e9 que seu <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/distributed-databases-overview\/\">bancos de dados distribu\u00eddos<\/a> s\u00e3o implantados usando a arquitetura Active-Active (AA), quando os aplicativos alternam automaticamente para um cluster diferente em caso de problemas de conectividade.  O Couchbase Server oferece suporte ao XDCR bidirecional para permitir cen\u00e1rios AA.  No entanto, a consist\u00eancia eventual dos dados em implanta\u00e7\u00f5es de v\u00e1rios clusters pode n\u00e3o ser aceit\u00e1vel para determinados aplicativos comerciais.<\/p>\n<p>Em nosso ambiente, descobrimos que, quando os data centers est\u00e3o localizados a mais de 100 km de dist\u00e2ncia, a resolu\u00e7\u00e3o de conflitos de dados se torna um desafio.  O Couchbase oferece dois mecanismos de resolu\u00e7\u00e3o de conflitos: baseado em revis\u00e3o e baseado em registro de data e hora.  Devido \u00e0 lat\u00eancia de nossa rede, nenhum deles poderia oferecer consist\u00eancia de dados aceit\u00e1vel no cen\u00e1rio AA completo (quando grava\u00e7\u00f5es e leituras podem ocorrer em qualquer cluster).  Como resultado, implementamos a arquitetura em que todas as altera\u00e7\u00f5es (grava\u00e7\u00f5es) s\u00e3o feitas em um \u00fanico cluster que propaga as altera\u00e7\u00f5es para outros data centers.  Os aplicativos podem ler dados de qualquer data center.<\/p>\n<h4><strong>Escala horizontal<\/strong><\/h4>\n<p>O dimensionamento horizontal (aumento dos recursos do cluster com a adi\u00e7\u00e3o de novos servidores) \u00e9 um grande argumento de venda dos bancos de dados NoSQL.  O recurso importante do Couchbase Server \u00e9 a capacidade de dimensionar diferentes cargas de cluster (opera\u00e7\u00f5es KV, consultas SQL, indexa\u00e7\u00e3o de dados etc.) de forma independente; o Couchbase chama isso de \"dimensionamento multidimensional, MDS\" (consulte a Figura 3 abaixo).  Cada n\u00f3 no cluster do Couchbase pode executar um \u00fanico servi\u00e7o ou v\u00e1rios servi\u00e7os; a escolha \u00e9 feita quando um n\u00f3 \u00e9 adicionado ao cluster existente.<\/p>\n<div id=\"attachment_6592\" style=\"width: 811px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6592\" class=\"wp-image-6592\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/03\/megafon03-768x338.png\" alt=\"Figure 3: Couchbase Multi-dimensional Scaling (MDS)\" width=\"801\" height=\"352\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon03-768x338.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon03-300x132.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon03-1024x450.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon03-1536x675.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon03-2048x900.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon03-20x9.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon03-1320x580.png 1320w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><p id=\"caption-attachment-6592\" class=\"wp-caption-text\"><em>Figura 3: Dimensionamento multidimensional (MDS) do Couchbase<\/em><\/p><\/div>\n<h4><strong>Requisitos de seguran\u00e7a da informa\u00e7\u00e3o<\/strong><\/h4>\n<p>Os recursos de seguran\u00e7a do Couchbase foram outro motivo (embora n\u00e3o o principal) que nos levou a escolher esse sistema.  Como \u00e9 poss\u00edvel que as informa\u00e7\u00f5es de identifica\u00e7\u00e3o pessoal (PII) sejam armazenadas no cache, nossa empresa precisa estar em conformidade com as leis vigentes.  Se a plataforma de dados n\u00e3o oferecer os recursos de seguran\u00e7a necess\u00e1rios, pode ser necess\u00e1rio adquirir hardware adicional para estar em conformidade<\/p>\n<p>O Couchbase Server Enterprise Edition (EE) oferece suporte \u00e0 criptografia de tr\u00e1fego, criptografia de dados e controle de acesso baseado em fun\u00e7\u00e3o (RBAC).  Isso potencialmente permite que voc\u00ea economize em hardware de seguran\u00e7a de rede, como o Cisco ASA.<\/p>\n<h4><strong>Facilidade de atualiza\u00e7\u00e3o<\/strong><\/h4>\n<p>O Couchbase Server oferece v\u00e1rias op\u00e7\u00f5es de atualiza\u00e7\u00e3o diferentes.  A op\u00e7\u00e3o de atualiza\u00e7\u00e3o on-line permite que seus aplicativos continuem trabalhando com o cluster com impacto m\u00ednimo no desempenho e na funcionalidade (devido \u00e0 compatibilidade com vers\u00f5es anteriores da API).  Enquanto os n\u00f3s do cluster estiverem sendo atualizados, o cluster continuar\u00e1 funcionando em modo de compatibilidade; os recursos da nova vers\u00e3o ficar\u00e3o ativos quando todos os n\u00f3s conclu\u00edrem a atualiza\u00e7\u00e3o.<\/p>\n<h4><strong>Funcionalidade adicional<\/strong><\/h4>\n<h5><em>Conscientiza\u00e7\u00e3o de grupos de servidores (conscientiza\u00e7\u00e3o de racks, zonas de disponibilidade)<\/em><\/h5>\n<p>No Couchbase, servidores individuais podem ser atribu\u00eddos a grupos de servidores espec\u00edficos.  Esse recurso \u00e9 semelhante \u00e0s zonas de disponibilidade de servi\u00e7os em nuvem (AZ).  Quando grupos de servidores s\u00e3o usados, o algoritmo de distribui\u00e7\u00e3o de dados ativos e r\u00e9plicas garante a disponibilidade total dos dados caso todo o grupo de servidores esteja off-line.<\/p>\n<p>No mundo das telecomunica\u00e7\u00f5es, isso nos permite manter conjuntos de dados totalmente replicados em diferentes salas de equipamentos do data center.  Se toda a sala de equipamentos (mapeada para um grupo de servidores Couchbase) ficar off-line, os aplicativos continuar\u00e3o trabalhando com o conjunto de dados completo na outra sala de equipamentos.<\/p>\n<div id=\"attachment_6593\" style=\"width: 610px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6593\" class=\"wp-image-6593\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/03\/megafon04-768x747.png\" alt=\"Figure 4: Couchbase Server Groups\" width=\"600\" height=\"584\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon04-768x747.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon04-300x292.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon04-50x50.png 50w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon04-20x20.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon04.png 861w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><p id=\"caption-attachment-6593\" class=\"wp-caption-text\"><em>Figura 4: Grupos do servidor Couchbase<\/em><\/p><\/div>\n<h5><em>Backup e restaura\u00e7\u00e3o<\/em><\/h5>\n<p>O Couchbase fornece v\u00e1rias ferramentas de backup e recupera\u00e7\u00e3o; o cbbackupmgr est\u00e1 dispon\u00edvel somente no EE.  O backup pode ser feito de tr\u00eas maneiras diferentes: completo, diferencial e cumulativo.  A combina\u00e7\u00e3o correta desses modos de backup permite economizar espa\u00e7o em disco e otimizar o uso de recursos do sistema.<\/p>\n<div id=\"attachment_6594\" style=\"width: 812px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6594\" class=\"wp-image-6594\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/03\/megafon05-1024x233.jpg\" alt=\"Figure 5: Couchbase Backup Combining\" width=\"802\" height=\"182\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon05-1024x233.jpg 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon05-300x68.jpg 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon05-768x174.jpg 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon05-1536x349.jpg 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon05-20x5.jpg 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon05-1320x300.jpg 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon05.jpg 2048w\" sizes=\"auto, (max-width: 802px) 100vw, 802px\" \/><p id=\"caption-attachment-6594\" class=\"wp-caption-text\"><em>Figura 5: Combina\u00e7\u00e3o de backup do Couchbase<\/em><\/p><\/div>\n<h4><strong>Couchbase vs. MongoDB<\/strong><\/h4>\n<p>A escolha de um banco de dados NoSQL entre as tecnologias concorrentes dispon\u00edveis pode ser um desafio.  [Pelo menos com o sistema operacional Linux \u00e9 mais f\u00e1cil: a melhor distribui\u00e7\u00e3o do Linux \u00e9 aquela que seu administrador de sistemas conhece melhor].  Resumimos na tabela abaixo algumas das diferen\u00e7as importantes que nos convenceram a escolher a tecnologia Couchbase em vez de outra plataforma NoSQL popular, o MongoDB.<\/p>\n<p>\u00c9 reconhecidamente dif\u00edcil comparar dois projetos diferentes com arquiteturas e funcionalidades diferentes.  Para n\u00f3s, era importante ter um sistema de f\u00e1cil manuten\u00e7\u00e3o e que pudesse ser rapidamente ajustado \u00e0s necessidades comerciais em constante mudan\u00e7a.<\/p>\n<div class=\"responsive-table\">\n<table>\n<tbody>\n<tr>\n<td width=\"200\"><\/td>\n<td style=\"text-align: center\" width=\"200\"><strong>Couchbase<\/strong><\/td>\n<td style=\"text-align: center\" width=\"200\"><strong>MongoDB<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"200\"><strong>Fragmenta\u00e7\u00e3o<\/strong><\/td>\n<td width=\"200\">Autom\u00e1tico para todo o conjunto de dados<\/td>\n<td width=\"200\">Sele\u00e7\u00e3o manual de chaves por cole\u00e7\u00e3o<\/td>\n<\/tr>\n<tr>\n<td width=\"200\"><strong>Distribui\u00e7\u00e3o de dados<\/strong><\/td>\n<td width=\"200\">Dados sempre distribu\u00eddos uniformemente em todos os n\u00f3s de dados<\/td>\n<td width=\"200\">A fragmenta\u00e7\u00e3o de intervalos pode resultar em uma distribui\u00e7\u00e3o n\u00e3o uniforme<\/td>\n<\/tr>\n<tr>\n<td width=\"200\"><strong>Adi\u00e7\u00e3o\/remo\u00e7\u00e3o de n\u00f3s ou fragmentos<\/strong><\/td>\n<td width=\"200\">Simples, conclu\u00eddo em uma \u00fanica etapa (por GUI, API REST ou CLI), seguido por um reequil\u00edbrio<\/td>\n<td width=\"200\">Complexo, precisa criar conjuntos de r\u00e9plicas.  Cada cole\u00e7\u00e3o \u00e9 dimensionada de forma diferente<\/td>\n<\/tr>\n<tr>\n<td width=\"200\"><strong>Conscientiza\u00e7\u00e3o sobre o rack<\/strong><\/td>\n<td width=\"200\">Integrado e f\u00e1cil, por meio de grupos de servidores<\/td>\n<td width=\"200\">N\u00e3o incorporado, \u00e9 necess\u00e1rio alocar manualmente os n\u00f3s do conjunto de r\u00e9plicas de diferentes racks.<\/td>\n<\/tr>\n<tr>\n<td width=\"200\"><strong>Configura\u00e7\u00e3o equilibrada<\/strong><\/td>\n<td width=\"200\">O cluster \u00e9 sempre equilibrado, com cada n\u00f3 tendo o mesmo n\u00famero de vBuckets ativos (shards).<\/td>\n<td width=\"200\">N\u00e3o balanceado.  Os n\u00f3s secund\u00e1rios n\u00e3o atendem a nenhum tr\u00e1fego de grava\u00e7\u00e3o (nem mesmo tr\u00e1fego de leitura, por padr\u00e3o).<\/td>\n<\/tr>\n<tr>\n<td width=\"200\"><strong>Aumento de escala do \u00edndice<\/strong><\/td>\n<td width=\"200\">Escalar \u00edndices de dados de forma independente.  Pode at\u00e9 usar diferentes tipos de hardware para n\u00f3s de \u00edndice.<\/td>\n<td width=\"200\">O escalonamento do \u00edndice est\u00e1 associado ao escalonamento dos dados.  \u00c9 necess\u00e1rio adicionar capacidade ao cluster de dados para acomodar as altera\u00e7\u00f5es na carga de trabalho da consulta.<\/td>\n<\/tr>\n<tr>\n<td width=\"200\"><strong>Metadados do cluster<\/strong><\/td>\n<td width=\"200\">N\u00e3o s\u00e3o necess\u00e1rios n\u00f3s especiais, distribu\u00eddos em todos os n\u00f3s de dados.<\/td>\n<td width=\"200\">Servidores de configura\u00e7\u00e3o especial precisam ser configurados, com um m\u00ednimo de 3 n\u00f3s<\/td>\n<\/tr>\n<tr>\n<td width=\"200\"><strong>Arquitetura de replica\u00e7\u00e3o<\/strong><\/td>\n<td width=\"200\">Cluster totalmente independente, que pode ser dimensionado e gerenciado sem nenhuma depend\u00eancia.<\/td>\n<td width=\"200\">Extens\u00e3o da replica\u00e7\u00e3o intra-cluster, n\u00e3o um sistema independente.<\/td>\n<\/tr>\n<tr>\n<td width=\"200\"><strong>Flexibilidade de replica\u00e7\u00e3o<\/strong><\/td>\n<td width=\"200\">Muito flex\u00edvel; n\u00edvel de balde, t\u00e9cnicas avan\u00e7adas de otimiza\u00e7\u00e3o para se ajustar \u00e0 necessidade.<\/td>\n<td width=\"200\">N\u00e3o \u00e9 poss\u00edvel fazer ajustes, escolher a velocidade e a largura de banda.<\/td>\n<\/tr>\n<tr>\n<td width=\"200\"><strong>Topologia de replica\u00e7\u00e3o<\/strong><\/td>\n<td width=\"200\">Suporte a topologias complexas: bidirecional, estrela, malha, cadeia, anel, etc.<\/td>\n<td width=\"200\">N\u00e3o h\u00e1 suporte para topologias complexas: unidirecional, estrela.  O prim\u00e1rio \u00e9 um gargalo.<\/td>\n<\/tr>\n<tr>\n<td width=\"200\"><strong>Replica\u00e7\u00e3o ativo-ativo<\/strong><\/td>\n<td width=\"200\">Com suporte<\/td>\n<td width=\"200\">N\u00e3o suportado<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>De modo geral, o Couchbase \u00e9 mais flex\u00edvel e mais f\u00e1cil de manter e configurar para os casos de uso da MegaFon e para a arquitetura h\u00edbrida em constante evolu\u00e7\u00e3o.<\/p>\n<h4><strong>Nossa jornada com o Couchbase at\u00e9 agora<\/strong><\/h4>\n<p>Abaixo est\u00e3o algumas estat\u00edsticas r\u00e1pidas de nosso cluster de produ\u00e7\u00e3o do Couchbase e sua carga:<\/p>\n<ul>\n<li>O cluster processa dados de mais de 80 milh\u00f5es de assinantes. Esse n\u00famero inclui telefones celulares, roteadores LTE, v\u00e1rios dispositivos de consumo com cart\u00f5es SIM integrados, etc.<\/li>\n<li>380 milh\u00f5es de documentos JSON com dados de clientes<\/li>\n<li>Armazenamento em disco de 3,5 TB (conjunto de dados ativo, r\u00e9plicas n\u00e3o inclu\u00eddas)<\/li>\n<li>3 TB DE RAM<\/li>\n<li>50.000 opera\u00e7\u00f5es por segundo, sustentadas (consulte a Figura 6 abaixo)<\/li>\n<li>50 microsservi\u00e7os que processam todo o fluxo de mensagens<\/li>\n<\/ul>\n<div id=\"attachment_6595\" style=\"width: 1057px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6595\" class=\"size-full wp-image-6595\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/03\/megafon06.png\" alt=\"Figure 6: Couchbase Production Load\" width=\"1047\" height=\"260\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon06.png 1047w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon06-300x74.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon06-1024x254.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon06-768x191.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon06-20x5.png 20w\" sizes=\"auto, (max-width: 1047px) 100vw, 1047px\" \/><p id=\"caption-attachment-6595\" class=\"wp-caption-text\"><em>Figura 6: Carga de produ\u00e7\u00e3o do Couchbase<\/em><\/p><\/div>\n<p>Esse projeto de transforma\u00e7\u00e3o come\u00e7ou com o Couchbase Server vers\u00e3o 3.x. Inicialmente, todos os aplicativos funcionavam de forma est\u00e1vel.  No entanto, quando adicionamos uma nova funcionalidade de aplicativo que dependia do uso de exibi\u00e7\u00f5es do Couchbase, come\u00e7amos a ter problemas com o comportamento imprevis\u00edvel das exibi\u00e7\u00f5es.  [As visualiza\u00e7\u00f5es s\u00e3o um mecanismo de indexa\u00e7\u00e3o e consulta de mapa\/redu\u00e7\u00e3o.  Ele \u00e9 considerado um recurso legado no Couchbase Server 5.x-6.x. Est\u00e1 sendo eliminado em favor de \u00edndices secund\u00e1rios globais e consultas N1QL].  O processo de atualiza\u00e7\u00e3o da visualiza\u00e7\u00e3o em um n\u00f3 \u00e0s vezes travava, o que impedia que os aplicativos recebessem os dados da visualiza\u00e7\u00e3o desse n\u00f3.  As opera\u00e7\u00f5es de KV continuavam sendo executadas normalmente.<\/p>\n<p>Esse problema poderia ser corrigido reiniciando o n\u00f3, o que afetava a disponibilidade dos dados.  Como solu\u00e7\u00e3o tempor\u00e1ria (enquanto planej\u00e1vamos atualizar para o Couchbase Server vers\u00e3o 4.x), o suporte t\u00e9cnico do Couchbase sugeriu o seguinte comando n\u00e3o documentado espec\u00edfico da vers\u00e3o para reiniciar apenas o processo de atualiza\u00e7\u00e3o da visualiza\u00e7\u00e3o:<\/p>\n<pre class=\"lang:default decode:true\"># Esse comando s\u00f3 funciona com o Couchbase Server vers\u00e3o 3.x\r\n# N\u00e3o use sem a b\u00ean\u00e7\u00e3o de seu administrador!\r\ncurl -s --data 'cb_couch_sup:restart_couch().' -u Administrador:pass https:\/\/127.0.0.1:8091\/diag\/eval<\/pre>\n<pre class=\"lang:default decode:true\"># Esse comando s\u00f3 funciona com o Couchbase Server vers\u00e3o 4.x\r\n# N\u00e3o use sem a b\u00ean\u00e7\u00e3o de seu administrador!\r\ncurl -s --data 'couch_server_sup:restart_core_server().' -u Administrator:pass https:\/\/127.0.0.1:8091\/diag\/eval<\/pre>\n<p>Outro problema que encontramos na vers\u00e3o 3.x do Couchbase Server foi o encerramento peri\u00f3dico do processo de compacta\u00e7\u00e3o.  O processo tinha de ser reiniciado manualmente ao receber alarmes de monitoramento.  Esses dois problemas de produ\u00e7\u00e3o eram uma dor de cabe\u00e7a tanto para a equipe de opera\u00e7\u00f5es quanto para a equipe de desenvolvimento.<\/p>\n<p>Seguindo a recomenda\u00e7\u00e3o do suporte t\u00e9cnico do Couchbase, decidimos fazer o upgrade para a vers\u00e3o 4.x do Couchbase Server. O processo geral de upgrade levou cerca de duas semanas, j\u00e1 que t\u00ednhamos que fazer o upgrade com o m\u00ednimo de impacto nos aplicativos de produ\u00e7\u00e3o.  As etapas de upgrade s\u00e3o bastante simples, mas o upgrade on-line cont\u00ednuo - incluindo remo\u00e7\u00e3o de n\u00f3s, rebalanceamento, upgrade de n\u00f3s, adi\u00e7\u00e3o de n\u00f3s ao cluster e outro rebalanceamento - levava mais de duas horas.  Conseguimos otimizar esse processo com a introdu\u00e7\u00e3o de um n\u00f3 extra para aproveitar o rebalanceamento de swap do Couchbase.  Nesse caso, os dados s\u00e3o copiados diretamente do n\u00f3 que est\u00e1 sendo removido para o n\u00f3 que est\u00e1 sendo adicionado, o que acelera bastante o rebalanceamento.  Isso reduziu o tempo de upgrade por n\u00f3 para 30 minutos.<\/p>\n<p>Ao fazer upgrade de um cluster de produ\u00e7\u00e3o do Couchbase, voc\u00ea deve ter em mente que o cluster operar\u00e1 no modo de compatibilidade, quando somente os recursos da vers\u00e3o mais antiga estar\u00e3o dispon\u00edveis em todos os n\u00f3s.  Isso garante uma atualiza\u00e7\u00e3o tranquila e sem problemas.  A desvantagem \u00e9 que os novos recursos e corre\u00e7\u00f5es da vers\u00e3o atualizada (\u00edndices e consultas N1QL, pesquisa de texto completo etc.) s\u00f3 ficar\u00e3o dispon\u00edveis quando todos os n\u00f3s do cluster forem atualizados.<\/p>\n<p>Nossa atualiza\u00e7\u00e3o inicial para a vers\u00e3o 4.x corrigiu apenas o problema da compacta\u00e7\u00e3o.  O problema de visualiza\u00e7\u00e3o permaneceu, embora n\u00e3o tenha surgido com tanta frequ\u00eancia.  Ele foi totalmente solucionado somente na vers\u00e3o 4.6.4 do Couchbase Server.<\/p>\n<p>Tamb\u00e9m fomos notificados pelo suporte t\u00e9cnico do Couchbase de que a funcionalidade de visualiza\u00e7\u00f5es n\u00e3o ser\u00e1 mais aprimorada e est\u00e1 a caminho de ser descontinuada.  As consultas Global Secondary Indexes (GSI) e N1QL (pronuncia-se \"nickel\", implementa\u00e7\u00e3o de SQL do Couchbase) s\u00e3o a alternativa escal\u00e1vel muito melhor para as visualiza\u00e7\u00f5es.  As cargas de \u00edndices e consultas podem ser dimensionadas de forma independente, sem estarem vinculadas aos n\u00f3s de dados (veja a Figura 7 abaixo):<\/p>\n<div id=\"attachment_6596\" style=\"width: 1074px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6596\" class=\"size-full wp-image-6596\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/03\/megafon07.png\" alt=\"Figure 7: Couchbase Services on Different Nodes\" width=\"1064\" height=\"179\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon07.png 1064w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon07-300x50.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon07-1024x172.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon07-768x129.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon07-20x3.png 20w\" sizes=\"auto, (max-width: 1064px) 100vw, 1064px\" \/><p id=\"caption-attachment-6596\" class=\"wp-caption-text\"><em>Figura 7: Servi\u00e7os do Couchbase em n\u00f3s diferentes<\/em><\/p><\/div>\n<p>Com a atualiza\u00e7\u00e3o para o Couchbase Sever 4.6.4, resolvemos todos os nossos problemas cr\u00edticos de produ\u00e7\u00e3o.  No entanto, os novos recursos e aprimoramentos do Couchbase Server 5.1 nos obrigaram a concluir outro ciclo de atualiza\u00e7\u00e3o.  Com o novo mecanismo GSI, nossos \u00edndices agora ocupam cerca de 1,5 vez menos espa\u00e7o em disco e na mem\u00f3ria, o que ajuda com nosso crescente volume de dados.  Infelizmente, a vers\u00e3o 5.1 n\u00e3o oferece nenhuma melhoria no armazenamento de dados (na mem\u00f3ria ou no disco).  A compacta\u00e7\u00e3o de dados foi adicionada na vers\u00e3o 5.5.<\/p>\n<h4><strong>Conclus\u00e3o<\/strong><\/h4>\n<p>No geral, o Couchbase Server provou ser uma plataforma de dados madura e de alto desempenho.  Como parte da arquitetura h\u00edbrida do MegaFon, o cluster do Couchbase pode ser facilmente adaptado a qualquer carga de produ\u00e7\u00e3o sem tempo de inatividade do equipamento ou altera\u00e7\u00f5es extensas na configura\u00e7\u00e3o dos servidores.  Isso geralmente resulta em redu\u00e7\u00e3o de custos de pessoal e satisfa\u00e7\u00e3o do cliente.<\/p>\n<p>&nbsp;<\/p>\n<p><em>O artigo original foi publicado em um popular blog russo de TI colaborativa, o Habrahabr:\u00a0<a href=\"https:\/\/habr.com\/ru\/post\/436762\/\">https:\/\/habr.com\/ru\/post\/436762\/<\/a><\/em><\/p>","protected":false},"excerpt":{"rendered":"<p>Egor Kovalchuk is a deployment manager in MegaFon, one of the largest telecommunication companies in Russia.\u00a0 His career in telecom spans more than a decade.\u00a0 Egor&#8217;s team is in charge of developing, integrating, and monitoring multiple business systems and applications [&hellip;]<\/p>","protected":false},"author":1414,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1821,1816,9417,9411,1812],"tags":[1986,2347,9271,1725],"ppma_author":[9081],"class_list":["post-6589","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-architecture","category-couchbase-server","category-performance","category-multi-dimensional-scaling","category-n1ql-query","tag-customer-experience","tag-customers","tag-multi-dimensional-scaling","tag-nosql-database"],"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>Couchbase in Telecom: MegaFon, Russia - 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\/couchbase-in-telecom-megafon-russia\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase in Telecom: MegaFon, Russia\" \/>\n<meta property=\"og:description\" content=\"Egor Kovalchuk is a deployment manager in MegaFon, one of the largest telecommunication companies in Russia.\u00a0 His career in telecom spans more than a decade.\u00a0 Egor&#8217;s team is in charge of developing, integrating, and monitoring multiple business systems and applications [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-in-telecom-megafon-russia\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-28T16:05:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:19:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon-egor.png\" \/>\n\t<meta property=\"og:image:width\" content=\"338\" \/>\n\t<meta property=\"og:image:height\" content=\"409\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Oleg Kuzmin, Sr. Solutions Engineer, 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=\"Oleg Kuzmin, Sr. Solutions Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/\"},\"author\":{\"name\":\"Oleg Kuzmin, Solutions Architect, Databricks\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/567ed489e7c498f0b9ff0014374c2bcd\"},\"headline\":\"Couchbase in Telecom: MegaFon, Russia\",\"datePublished\":\"2019-03-28T16:05:03+00:00\",\"dateModified\":\"2025-06-14T03:19:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/\"},\"wordCount\":2370,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"customer experience\",\"Customers\",\"Multi-Dimensional Scaling (MDS)\",\"NoSQL Database\"],\"articleSection\":[\"Couchbase Architecture\",\"Couchbase Server\",\"High Performance\",\"Multi-Dimensional Scaling (MDS)\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/\",\"name\":\"Couchbase in Telecom: MegaFon, Russia - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2019-03-28T16:05:03+00:00\",\"dateModified\":\"2025-06-14T03:19:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#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\/couchbase-in-telecom-megafon-russia\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase in Telecom: MegaFon, Russia\"}]},{\"@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\/567ed489e7c498f0b9ff0014374c2bcd\",\"name\":\"Oleg Kuzmin, Solutions Architect, Databricks\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/3c430b3fd08e47e71c288418a9321d65\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1bbfe682ab4a0341e520c779f47ba96d7930bb09c6e881f66c953e13579ff10f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1bbfe682ab4a0341e520c779f47ba96d7930bb09c6e881f66c953e13579ff10f?s=96&d=mm&r=g\",\"caption\":\"Oleg Kuzmin, Solutions Architect, Databricks\"},\"sameAs\":[\"https:\/\/databricks.com\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/oleg-kuzmincouchbase-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase in Telecom: MegaFon, Russia - 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\/couchbase-in-telecom-megafon-russia\/","og_locale":"pt_BR","og_type":"article","og_title":"Couchbase in Telecom: MegaFon, Russia","og_description":"Egor Kovalchuk is a deployment manager in MegaFon, one of the largest telecommunication companies in Russia.\u00a0 His career in telecom spans more than a decade.\u00a0 Egor&#8217;s team is in charge of developing, integrating, and monitoring multiple business systems and applications [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-in-telecom-megafon-russia\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-03-28T16:05:03+00:00","article_modified_time":"2025-06-14T03:19:42+00:00","og_image":[{"width":338,"height":409,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/03\/megafon-egor.png","type":"image\/png"}],"author":"Oleg Kuzmin, Sr. Solutions Engineer, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Oleg Kuzmin, Sr. Solutions Engineer, Couchbase","Est. reading time":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/"},"author":{"name":"Oleg Kuzmin, Solutions Architect, Databricks","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/567ed489e7c498f0b9ff0014374c2bcd"},"headline":"Couchbase in Telecom: MegaFon, Russia","datePublished":"2019-03-28T16:05:03+00:00","dateModified":"2025-06-14T03:19:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/"},"wordCount":2370,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["customer experience","Customers","Multi-Dimensional Scaling (MDS)","NoSQL Database"],"articleSection":["Couchbase Architecture","Couchbase Server","High Performance","Multi-Dimensional Scaling (MDS)","SQL++ \/ N1QL Query"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/","name":"Couchbase in Telecom: MegaFon, Russia - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2019-03-28T16:05:03+00:00","dateModified":"2025-06-14T03:19:42+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-in-telecom-megafon-russia\/#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\/couchbase-in-telecom-megafon-russia\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase in Telecom: MegaFon, Russia"}]},{"@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\/567ed489e7c498f0b9ff0014374c2bcd","name":"Oleg Kuzmin, arquiteto de solu\u00e7\u00f5es, Databricks","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/3c430b3fd08e47e71c288418a9321d65","url":"https:\/\/secure.gravatar.com\/avatar\/1bbfe682ab4a0341e520c779f47ba96d7930bb09c6e881f66c953e13579ff10f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1bbfe682ab4a0341e520c779f47ba96d7930bb09c6e881f66c953e13579ff10f?s=96&d=mm&r=g","caption":"Oleg Kuzmin, Solutions Architect, Databricks"},"sameAs":["https:\/\/databricks.com"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/oleg-kuzmincouchbase-com\/"}]}},"authors":[{"term_id":9081,"user_id":1414,"is_guest":0,"slug":"oleg-kuzmincouchbase-com","display_name":"Oleg Kuzmin, Sr. Solutions Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/0f297a537c749f924978fb4b8fd8d25dd01526af81550a9df5403c58cb300f06?s=96&d=mm&r=g","author_category":"","last_name":"Kuzmin, Sr. Solutions Engineer, Couchbase","first_name":"Oleg","job_title":"","user_url":"https:\/\/couchbase.com","description":"I help companies succeed in the Digital Economy through adoption of the best NoSQL data platform - Couchbase!"}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/6589","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\/1414"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=6589"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/6589\/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=6589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=6589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=6589"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=6589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}