{"id":15552,"date":"2024-04-02T13:09:34","date_gmt":"2024-04-02T20:09:34","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=15552"},"modified":"2024-04-18T08:53:41","modified_gmt":"2024-04-18T15:53:41","slug":"file-transfer-index-rebalance","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/file-transfer-index-rebalance\/","title":{"rendered":"Rebalance Reimagined: Escalonamento mais r\u00e1pido do servi\u00e7o de \u00edndice do Couchbase com transfer\u00eancias de arquivos"},"content":{"rendered":"<p><span style=\"font-weight: 400\">O dimensionamento mais r\u00e1pido dos recursos do banco de dados \u00e9 essencial para a manuten\u00e7\u00e3o de bancos de dados eficientes e de alto desempenho, especialmente com a press\u00e3o cada vez maior da ingest\u00e3o de dados, o aumento das demandas de consulta e a necessidade de lidar com failovers sem problemas. Como o tr\u00e1fego de consultas orientadas por aplicativos \u00e9 tratado principalmente por servi\u00e7os de \u00edndice, o dimensionamento mais r\u00e1pido dos servi\u00e7os de rebalanceamento de \u00edndices \u00e9 essencial para aplicativos de alto desempenho.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Para o servi\u00e7o de \u00edndice, a opera\u00e7\u00e3o de dimensionamento (tamb\u00e9m chamada de <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/clusters-and-availability\/rebalance.html#rebalance-and-other-services\"><span style=\"font-weight: 400\">reequil\u00edbrio<\/span><\/a><span style=\"font-weight: 400\">) envolve a movimenta\u00e7\u00e3o de \u00edndices\/replicas\/parti\u00e7\u00f5es individuais entre os n\u00f3s de servi\u00e7o de \u00edndice dispon\u00edveis no cluster. O objetivo \u00e9 minimizar os desequil\u00edbrios de carga e otimizar as m\u00e9tricas de utiliza\u00e7\u00e3o de recursos, como CPU e mem\u00f3ria, em todos os n\u00f3s.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Este artigo explora as limita\u00e7\u00f5es e os aprimoramentos feitos no processo de rebalanceamento de \u00edndices no Couchbase-Server vers\u00e3o 7.6. Ele apresenta um novo fluxo de rebalanceamento baseado em transfer\u00eancias eficientes de arquivos, oferecendo benef\u00edcios significativos, como redu\u00e7\u00f5es substanciais no tempo de rebalanceamento e utiliza\u00e7\u00e3o otimizada de recursos, incluindo menor consumo de CPU e mem\u00f3ria.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400\">Vis\u00e3o geral do rebalanceamento do servi\u00e7o de \u00edndice<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Em um n\u00edvel elevado, o reequil\u00edbrio do servi\u00e7o de \u00edndice opera em tr\u00eas fases:<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Planejamento<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">No <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/index-planner-for-global-secondary-indexes\/\">fase de planejamento<\/a>Em um cluster, as informa\u00e7\u00f5es de todos os \u00edndices em todos os n\u00f3s do cluster s\u00e3o reunidas, juntamente com suas estat\u00edsticas de carga. A carga de um \u00edndice \u00e9 derivada de v\u00e1rios fatores, como utiliza\u00e7\u00e3o da CPU, utiliza\u00e7\u00e3o da mem\u00f3ria, taxa de varredura, taxa de processamento de muta\u00e7\u00e3o, utiliza\u00e7\u00e3o de disco etc.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Um algoritmo de otimiza\u00e7\u00e3o \u00e9 usado para minimizar a varia\u00e7\u00e3o de carga no cluster. Por exemplo, se um n\u00f3 de servi\u00e7o de \u00edndice tiver um tr\u00e1fego de muta\u00e7\u00e3o e varredura significativamente maior em compara\u00e7\u00e3o com os outros, o algoritmo redistribuir\u00e1 os \u00edndices para equilibrar a carga geral e reduzir a varia\u00e7\u00e3o.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">O algoritmo de otimiza\u00e7\u00e3o decide os movimentos do \u00edndice de seus n\u00f3s existentes para novos n\u00f3s em um ambiente simulado para chegar a uma distribui\u00e7\u00e3o que minimize a varia\u00e7\u00e3o de carga no cluster.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400\">Fase de execu\u00e7\u00e3o<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Com base no plano final decidido na fase de planejamento, os \u00edndices s\u00e3o movidos de seus n\u00f3s existentes para novos alvos.<\/span><\/li>\n<li style=\"font-weight: 400\">Essa fase \u00e9 o fator que mais contribui para o tempo de rebalanceamento do \u00edndice, diretamente afetado pelo m\u00e9todo de movimenta\u00e7\u00e3o e pelo n\u00famero de \u00edndices envolvidos.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400\">Elimina\u00e7\u00e3o de \u00edndices nos n\u00f3s de origem<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Quando os \u00edndices nos novos n\u00f3s de destino estiverem totalmente reconstru\u00eddos e prontos para lidar com as consultas, todas as solicita\u00e7\u00f5es de varredura de entrada para esses \u00edndices ser\u00e3o redirecionadas para os novos n\u00f3s.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Os \u00edndices nos n\u00f3s de origem existentes ser\u00e3o removidos assim que os \u00edndices correspondentes nos novos n\u00f3s estiverem prontos para atender ao tr\u00e1fego de varredura.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">O <em>Fase de execu\u00e7\u00e3o<\/em>Atualmente, o sistema de indexa\u00e7\u00e3o de dados da Microsoft, Inc., depende da reconstru\u00e7\u00e3o dos \u00edndices que est\u00e3o sendo movidos por meio do re-streaming e do reprocessamento de todos os documentos do servi\u00e7o de dados. Embora esse esquema funcione bem em termos funcionais, ele tem as seguintes desvantagens:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\">Aumento do tempo de rebalanceamento do \u00edndice<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Varreduras mais lentas\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Processamento de muta\u00e7\u00e3o mais lento<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Essas desvantagens se devem principalmente a:<\/span><\/p>\n<p><strong>Sobrecarga de recursos durante o rebalanceamento<\/strong><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">O servi\u00e7o de dados precisa fazer o restreaming de todos os documentos relevantes para o \u00edndice com o objetivo de reconstruir os \u00edndices. Muitas vezes, o restreaming de todos os dados exige o backfilling do disco, o que pode levar a uma press\u00e3o adicional no disco<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">O processo do projetor precisa reprocessar todos os documentos para extrair dados relevantes para esse \u00edndice, o que pode consumir mais CPU e mem\u00f3ria. Essas despesas gerais tamb\u00e9m podem criar conten\u00e7\u00e3o de recursos para o tr\u00e1fego incremental dos \u00edndices existentes.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Tamb\u00e9m para o processo do indexador, as compila\u00e7\u00f5es de \u00edndices adicionam sobrecargas consider\u00e1veis de recursos na CPU, mem\u00f3ria e E\/S de disco devido ao novo tr\u00e1fego de muta\u00e7\u00e3o recebido. Em geral, s\u00e3o necess\u00e1rias opera\u00e7\u00f5es de leitura de E\/S aleat\u00f3rias durante determinados est\u00e1gios da cria\u00e7\u00e3o de \u00edndices, o que torna mais lento todo o pipeline de cria\u00e7\u00e3o de \u00edndices.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Interrup\u00e7\u00e3o do conjunto de trabalho\u00a0<\/strong><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Os requisitos de mem\u00f3ria devido \u00e0 reconstru\u00e7\u00e3o do \u00edndice durante a redu\u00e7\u00e3o da mem\u00f3ria dispon\u00edvel para os \u00edndices existentes<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">O conjunto de trabalho dos \u00edndices existentes pode ser removido da mem\u00f3ria<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Isso faz com que as varreduras e o processamento de muta\u00e7\u00e3o fiquem mais lentos se os dados relevantes n\u00e3o estiverem dispon\u00edveis na mem\u00f3ria e precisarem ser buscados no disco<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400\">Rebalanceamento da transfer\u00eancia de arquivos<\/span><\/h2>\n<p><span style=\"font-weight: 400\">O rebalanceamento de transfer\u00eancia de arquivos \u00e9 uma abordagem para reduzir a sobrecarga de reconstru\u00e7\u00e3o de \u00edndices. Em vez de reconstruir os \u00edndices, o n\u00f3 de origem transfere diretamente os arquivos de dados indexados para o n\u00f3 de destino sem interagir com o servi\u00e7o de dados. Depois que a transfer\u00eancia de dados for conclu\u00edda, o servi\u00e7o de \u00edndice acompanhar\u00e1 as muta\u00e7\u00f5es que ocorreram durante a transfer\u00eancia, transmitindo-as do servi\u00e7o de dados. As varreduras e muta\u00e7\u00f5es continuar\u00e3o a ser processadas para os \u00edndices existentes, independentemente do status da transfer\u00eancia.<\/span><\/p>\n<p><span style=\"font-weight: 400\">A transfer\u00eancia de dados entre os n\u00f3s de origem e de destino ocorre por meio de um protocolo personalizado criado com base no modelo de solicita\u00e7\u00e3o-resposta HTTP. O n\u00f3 de origem cont\u00e9m um cliente capaz de ler sequencialmente dados indexados com instant\u00e2neos do disco e publicar os dados no n\u00f3 de destino como v\u00e1rios blobs bin\u00e1rios pequenos. A transfer\u00eancia de dados \u00e9 sempre criptografada. O n\u00f3 de destino hospeda um servidor que recebe esses blobs bin\u00e1rios, descriptografa-os e reconstr\u00f3i os dados indexados durante o processo de transfer\u00eancia. Todos os dados recebidos pelo servidor no n\u00f3 de destino s\u00e3o armazenados de forma persistente no disco.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Ap\u00f3s a conclus\u00e3o da transfer\u00eancia de dados, o n\u00f3 de destino recupera o \u00edndice do disco e reverte para um ponto de recupera\u00e7\u00e3o v\u00e1lido dispon\u00edvel nos dados transferidos. Em seguida, ele solicita que o servi\u00e7o de dados transmita as muta\u00e7\u00f5es que ocorreram desde a gera\u00e7\u00e3o desse ponto de recupera\u00e7\u00e3o. Quando todas as muta\u00e7\u00f5es necess\u00e1rias forem processadas, o \u00edndice se tornar\u00e1 <em>pronto para digitaliza\u00e7\u00e3o<\/em> no n\u00f3 de destino e, posteriormente, \u00e9 descartado do n\u00f3 de origem.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Como a maioria dos dados indexados \u00e9 transferida diretamente, ignorando a necessidade de reconstru\u00e7\u00e3o, a sobrecarga associada \u00e0s reconstru\u00e7\u00f5es de \u00edndices \u00e9 eliminada durante a transfer\u00eancia de dados. Isso melhorou significativamente a velocidade de rebalanceamento e reduziu o consumo associado de CPU e mem\u00f3ria. Como resultado, o impacto sobre o conjunto de trabalho tamb\u00e9m \u00e9 m\u00ednimo, permitindo que as varreduras e o tr\u00e1fego de muta\u00e7\u00e3o sejam processados em taxas semelhantes \u00e0s de antes do rebalanceamento.<\/span><\/p>\n<p><span style=\"font-weight: 400\">As \u00fanicas despesas gerais de recursos incorridas com as transfer\u00eancias de arquivos s\u00e3o aquelas relacionadas \u00e0 pr\u00f3pria transfer\u00eancia de dados e \u00e0 recupera\u00e7\u00e3o de quaisquer muta\u00e7\u00f5es que possam ter ocorrido durante o processo de transfer\u00eancia. A utiliza\u00e7\u00e3o de recursos durante a transfer\u00eancia de dados e o processo de recupera\u00e7\u00e3o pode ser dividida da seguinte forma:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li><b>Largura de banda de leitura de disco (n\u00f3 de origem)<\/b> - <span style=\"font-weight: 400\">Eficiente, devido \u00e0s leituras sequenciais.<\/span><\/li>\n<li><b>CPU e mem\u00f3ria (n\u00f3 de origem)<\/b> - <span style=\"font-weight: 400\">M\u00ednimo, devido \u00e0 publica\u00e7\u00e3o de pequenos blobs bin\u00e1rios.<\/span><\/li>\n<li><b>CPU e mem\u00f3ria (n\u00f3 de destino)<\/b> - <span style=\"font-weight: 400\">M\u00ednimo, devido ao processamento de pequenos blobs bin\u00e1rios.<\/span><\/li>\n<li><b>Largura de banda de grava\u00e7\u00e3o em disco (n\u00f3 de destino)<\/b> - <span style=\"font-weight: 400\">Eficiente, devido \u00e0s grava\u00e7\u00f5es principalmente sequenciais.<\/span><\/li>\n<li><b>Largura de banda de leitura de disco (recupera\u00e7\u00e3o, n\u00f3 de destino) <\/b>- <span style=\"font-weight: 400\">M\u00ednimo, pois apenas uma parte dos dados precisa de recupera\u00e7\u00e3o.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Para minimizar as interrup\u00e7\u00f5es nas opera\u00e7\u00f5es cr\u00edticas de varredura e muta\u00e7\u00e3o, os n\u00f3s de origem e de destino restringem a largura de banda do disco a um valor configur\u00e1vel, com padr\u00e3o de 200 MB\/s, durante o rebalanceamento. Essa taxa escolhida empiricamente garante efici\u00eancia equilibrada e impacto m\u00ednimo no desempenho, com consumo de recursos observado de menos de 2 n\u00facleos de CPU e dezenas de MB de mem\u00f3ria por n\u00f3.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Resultados de desempenho com rebalanceamento de transfer\u00eancia de arquivos<\/span><\/h2>\n<h3>Configura\u00e7\u00e3o de benchmark<\/h3>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><b>Configura\u00e7\u00e3o do cluster:<\/b>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">N\u00f3s de servi\u00e7o de dados: 4<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">N\u00f3s de \u00edndice: 3<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><b>Dados:<\/b>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Volume: 1 bilh\u00e3o de documentos<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Tamanho m\u00e9dio do documento: 230 bytes<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Distribui\u00e7\u00e3o: Compartilhado em 2 cole\u00e7\u00f5es em um \u00fanico bucket<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><b>\u00cdndices:<\/b>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Tipo: Particionado<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Replica\u00e7\u00e3o: 1 r\u00e9plica por \u00edndice<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">N\u00famero de parti\u00e7\u00f5es: 3 por \u00edndice<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Total de inst\u00e2ncias: 18 (3 \u00edndices * 3 parti\u00e7\u00f5es * 2 r\u00e9plicas)<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Tamanho m\u00e9dio do campo do \u00edndice secund\u00e1rio: 140 bytes<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Uso total do disco: ~710GB (em todas as inst\u00e2ncias)<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><b>Recursos de servi\u00e7o de \u00edndice:<\/b>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Cota de mem\u00f3ria: 128 GB por n\u00f3<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">N\u00facleos de CPU: 80 por n\u00f3<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Compara\u00e7\u00e3o<\/h3>\n<p><span style=\"font-weight: 400\">Esse benchmark de desempenho compara dois m\u00e9todos de rebalanceamento para tempos de rebalanceamento, CPU e utiliza\u00e7\u00e3o de mem\u00f3ria para o caso de rebalanceamento de swap:<\/span><\/p>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li style=\"font-weight: 400\"><b>Rebalanceamento de recomposi\u00e7\u00e3o de \u00edndice (Rebalanceamento DCP) <\/b>- <span style=\"font-weight: 400\">Reconstr\u00f3i os \u00edndices do zero durante o rebalanceamento.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Rebalanceamento da transfer\u00eancia de arquivos<\/b> - <span style=\"font-weight: 400\">Transfere diretamente os arquivos de dados de \u00edndice existentes entre os n\u00f3s.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400\">Troca de saldo<\/span><\/h3>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Come\u00e7amos com 2 n\u00f3s de \u00edndice no cluster, cada um com cerca de 355 GB de dados indexados em 9 inst\u00e2ncias de \u00edndice em cada n\u00f3.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Adicionamos um novo n\u00f3 de \u00edndice e removemos um existente.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Todos os dados indexados do n\u00f3 removido s\u00e3o transferidos para o n\u00f3 rec\u00e9m-adicionado.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">O tr\u00e1fego de varredura continua a atingir os n\u00f3s iniciais at\u00e9 que a transfer\u00eancia de dados seja conclu\u00edda.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/04\/image3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-15553\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/04\/image3-1024x633.png\" alt=\"\" width=\"900\" height=\"556\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image3-1024x633.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image3-300x186.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image3-768x475.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image3.png 1200w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<h4>Compara\u00e7\u00e3o do tempo de rebalanceamento do swap<\/h4>\n<p><span style=\"font-weight: 400\">Rebalanceamento da transfer\u00eancia de arquivos conclu\u00eddo em apenas <\/span><b>37 minutos<\/b><span style=\"font-weight: 400\">em compara\u00e7\u00e3o com um impressionante <\/span><b>272 minutos<\/b><span style=\"font-weight: 400\"> com o m\u00e9todo tradicional de rebalanceamento do DCP. Isso representa um <\/span><b>Melhoria de 7x<\/b><span style=\"font-weight: 400\"> em velocidade! Essa efici\u00eancia se deve em grande parte \u00e0 transfer\u00eancia direta de arquivos de dados, em vez de reconstru\u00ed-los inteiramente. Embora a transfer\u00eancia de dados em si, teoricamente, leve cerca de <\/span><b>29,6 minutos<\/b><span style=\"font-weight: 400\"> (supondo 200 MB\/s sustentados), o tempo total de rebalanceamento se alinha bem com o tempo real de rebalanceamento de ponta a ponta (incluindo as fases de planejamento e recupera\u00e7\u00e3o).<\/span><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/04\/image2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-15554\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/04\/image2-1024x595.png\" alt=\"\" width=\"900\" height=\"523\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image2-1024x595.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image2-300x174.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image2-768x446.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image2-1536x892.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image2-1320x767.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image2.png 1942w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<h4>Reequilibrar a compara\u00e7\u00e3o da CPU<\/h4>\n<p><b>O rebalanceamento do DCP consome significativamente mais recursos da CPU em compara\u00e7\u00e3o com o rebalanceamento da transfer\u00eancia de arquivos.<\/b><span style=\"font-weight: 400\"> Isso ocorre porque o processo do indexador precisa reconstruir todas as muta\u00e7\u00f5es transmitidas pelo servi\u00e7o de dados, o que \u00e9 um processo computacionalmente intensivo. Por outro lado, o rebalanceamento da transfer\u00eancia de arquivos tem um consumo de CPU muito menor, com picos ocasionais no uso da CPU durante a <em>fase de recupera\u00e7\u00e3o<\/em>\u00a0ap\u00f3s a transfer\u00eancia de dados.<\/span><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/04\/image1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-15555\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/04\/image1-1024x581.png\" alt=\"\" width=\"900\" height=\"511\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image1-1024x581.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image1-300x170.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image1-768x436.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image1-1536x872.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image1-1320x749.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image1.png 1999w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<h4>Compara\u00e7\u00e3o de mem\u00f3ria de reequil\u00edbrio<\/h4>\n<p><b>O rebalanceamento do DCP tamb\u00e9m exige muito mais mem\u00f3ria em compara\u00e7\u00e3o com o rebalanceamento da transfer\u00eancia de arquivos.<\/b><span style=\"font-weight: 400\"> Durante o processo de reconstru\u00e7\u00e3o, o processo do indexador precisa alocar e gerenciar constantemente a mem\u00f3ria para todas as muta\u00e7\u00f5es recebidas, o que leva a uma press\u00e3o significativa sobre os recursos dispon\u00edveis. No entanto, o rebalanceamento da transfer\u00eancia de arquivos funciona de forma diferente. Como transfere diretamente os arquivos de dados para o disco em vez de reconstruir tudo na mem\u00f3ria, ele requer apenas uma quantidade m\u00ednima de mem\u00f3ria para processamento, reduzindo significativamente as demandas gerais de mem\u00f3ria.<\/span><\/p>\n<h4>Reequilibrar o tempo de utiliza\u00e7\u00e3o de E\/S do disco<\/h4>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/04\/image4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-15556\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/04\/image4-1024x586.png\" alt=\"\" width=\"900\" height=\"515\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image4-1024x586.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image4-300x172.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image4-768x439.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image4-1536x879.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image4-1320x755.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image4.png 1986w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p><b>O rebalanceamento da transfer\u00eancia de arquivos mant\u00e9m uma taxa de E\/S de disco est\u00e1vel durante todo o processo, gra\u00e7as \u00e0 velocidade de transfer\u00eancia controlada.<\/b><span style=\"font-weight: 400\"> Esse estrangulamento garante uma efici\u00eancia equilibrada e minimiza o impacto no desempenho. Podem ocorrer picos ocasionais durante a <em>fase de recupera\u00e7\u00e3o<\/em>\u00a0onde as muta\u00e7\u00f5es s\u00e3o processadas, mas, de modo geral, a E\/S do disco permanece est\u00e1vel. Em contrapartida, o rebalanceamento do DCP sofre de satura\u00e7\u00e3o quase constante de E\/S do disco devido \u00e0 sua abordagem de reconstru\u00e7\u00e3o pesada, o que pode levar a gargalos de desempenho.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h4>Reequilibrar a largura de banda de transfer\u00eancia no n\u00f3 de origem<\/h4>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/04\/image5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-15557\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/04\/image5-1024x593.png\" alt=\"\" width=\"900\" height=\"521\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image5-1024x593.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image5-300x174.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image5-768x444.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image5-1536x889.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image5-1320x764.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image5.png 1984w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">Embora o DCP aproveite um <em>puxar<\/em>\u00a0em que os n\u00f3s de destino recuperam os dados diretamente, a transfer\u00eancia de arquivos se baseia na <\/span><b>n\u00f3 de origem empurrando ativamente os dados para fora<\/b><span style=\"font-weight: 400\">. Isso resulta em um <\/span><b>nitidamente maior <em>out_bytes_per_second<\/em>\u00a0m\u00e9trica<\/b><span style=\"font-weight: 400\"> (dados enviados) para o n\u00f3 de origem durante o rebalanceamento da transfer\u00eancia de arquivos. No rebalanceamento do DCP, essa m\u00e9trica cai perto de zero se nenhuma varredura estiver sendo executada ativamente, pois a extra\u00e7\u00e3o de dados ocorre somente sob demanda.<\/span><\/p>\n<h4>Outras compara\u00e7\u00f5es de tempo de rebalanceamento<\/h4>\n<p><span style=\"font-weight: 400\">Discutimos anteriormente a impressionante economia de tempo obtida durante as opera\u00e7\u00f5es de troca de rebalanceamento (movimenta\u00e7\u00e3o de dados diretamente entre os n\u00f3s que est\u00e3o sendo adicionados e removidos). Temos o prazer de informar ganhos semelhantes em dois outros cen\u00e1rios: <\/span><b>rebalanceamento<\/b><span style=\"font-weight: 400\"> (adicionando novos n\u00f3s de \u00edndice e redistribuindo \u00edndices para eles) e <\/span><b>rebalanceamento<\/b><span style=\"font-weight: 400\"> (removendo os n\u00f3s de \u00edndice e redistribuindo seus \u00edndices para os n\u00f3s restantes). A tabela abaixo resume as melhorias gerais no tempo de rebalanceamento observadas em uma configura\u00e7\u00e3o semelhante \u00e0 descrita anteriormente.<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Tipo de rebalanceamento<\/b><\/td>\n<td><b>Tempo de rebalanceamento do DCP (min)<\/b><\/td>\n<td><b>Tempo de reequil\u00edbrio da transfer\u00eancia de arquivos (min)<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Rebalanceamento (2 n\u00f3s \u2192 3 n\u00f3s)<\/span><\/td>\n<td><span style=\"font-weight: 400\">123,6 min<\/span><\/td>\n<td><span style=\"font-weight: 400\">12,3 min<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Rebalanceamento (3 n\u00f3s \u2192 2 n\u00f3s)<\/span><\/td>\n<td><span style=\"font-weight: 400\">144,7 min<\/span><\/td>\n<td><span style=\"font-weight: 400\">36,3 min<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><span style=\"font-weight: 400\">Ativa\u00e7\u00e3o do reequil\u00edbrio da transfer\u00eancia de arquivos<\/span><\/h2>\n<p><span style=\"font-weight: 400\">O reequil\u00edbrio da transfer\u00eancia de arquivos \u00e9 ativado por padr\u00e3o nas implementa\u00e7\u00f5es do Capella. Para implementa\u00e7\u00f5es auto-hospedadas, ele deve ser ativado manualmente pelo usu\u00e1rio final (na interface do usu\u00e1rio ou usando solicita\u00e7\u00f5es de linha de comando). Mais detalhes est\u00e3o dispon\u00edveis na se\u00e7\u00e3o <a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/clusters-and-availability\/rebalance.html#index-rebalance-methods\">documenta\u00e7\u00e3o de rebalanceamento<\/a>.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Resumo<\/span><\/h2>\n<p><span style=\"font-weight: 400\">O m\u00e9todo tradicional de rebalanceamento do Couchbase Index Service sofre com o alto uso de recursos e com os longos tempos de rebalanceamento devido \u00e0 reconstru\u00e7\u00e3o do \u00edndice. O novo rebalanceamento de transfer\u00eancia de arquivos resolve esse problema transferindo diretamente os arquivos de dados entre os n\u00f3s, reduzindo significativamente a sobrecarga de recursos (CPU, mem\u00f3ria, E\/S de disco) e os tempos de rebalanceamento. Os tempos de rebalanceamento do \u00edndice melhoraram em at\u00e9 7 vezes em alguns casos, como o rebalanceamento de swap. Isso se traduz em dimensionamento mais r\u00e1pido, melhor desempenho do aplicativo e utiliza\u00e7\u00e3o mais eficiente dos recursos do cluster.<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>Leia mais <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-server-7-6-top-developer-features\/\">Novos recursos do Couchbase Server 7.6<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Faster scaling of database resources is essential for maintaining efficient and performant databases, especially with the increased pressure of data ingestion, growing query demands, and the need to handle failovers seamlessly. As application-driven query traffic is primarily handled by index [&hellip;]<\/p>\n","protected":false},"author":85151,"featured_media":15556,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1821,1816,9417,9381],"tags":[9945,2126,1696,9662],"ppma_author":[9948],"class_list":["post-15552","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-architecture","category-couchbase-server","category-performance","category-indexing","tag-couchbase-7-6","tag-high-availability","tag-indexing","tag-rebalance"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Index Rebalance Reimagined: Faster Scaling with File Transfers<\/title>\n<meta name=\"description\" content=\"Faster scaling of database resources is essential for maintaining efficient and performant databases. Learn how Couchbase&#039;s index service hits the mark.\" \/>\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\/file-transfer-index-rebalance\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rebalance Reimagined: Faster Scaling of Couchbase&#039;s Index Service With File Transfers\" \/>\n<meta property=\"og:description\" content=\"Faster scaling of database resources is essential for maintaining efficient and performant databases. Learn how Couchbase&#039;s index service hits the mark.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/file-transfer-index-rebalance\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-02T20:09:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-18T15:53:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/04\/image4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1986\" \/>\n\t<meta property=\"og:image:height\" content=\"1136\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Varun Velamuri, Principal Engineer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Varun Velamuri, Principal Engineer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/file-transfer-index-rebalance\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/file-transfer-index-rebalance\\\/\"},\"author\":{\"name\":\"Varun Velamuri, Principal Engineer\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/b0f1e943ab5487ba18ca3d2ba134266d\"},\"headline\":\"Rebalance Reimagined: Faster Scaling of Couchbase&#8217;s Index Service With File Transfers\",\"datePublished\":\"2024-04-02T20:09:34+00:00\",\"dateModified\":\"2024-04-18T15:53:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/file-transfer-index-rebalance\\\/\"},\"wordCount\":1858,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/file-transfer-index-rebalance\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/04\\\/image4.png\",\"keywords\":[\"Couchbase 7.6\",\"High Availability\",\"Indexing\",\"rebalance\"],\"articleSection\":[\"Couchbase Architecture\",\"Couchbase Server\",\"High Performance\",\"Indexing\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/file-transfer-index-rebalance\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/file-transfer-index-rebalance\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/file-transfer-index-rebalance\\\/\",\"name\":\"Index Rebalance Reimagined: Faster Scaling with File Transfers\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/file-transfer-index-rebalance\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/file-transfer-index-rebalance\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/04\\\/image4.png\",\"datePublished\":\"2024-04-02T20:09:34+00:00\",\"dateModified\":\"2024-04-18T15:53:41+00:00\",\"description\":\"Faster scaling of database resources is essential for maintaining efficient and performant databases. Learn how Couchbase's index service hits the mark.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/file-transfer-index-rebalance\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/file-transfer-index-rebalance\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/file-transfer-index-rebalance\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/04\\\/image4.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/04\\\/image4.png\",\"width\":1986,\"height\":1136},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/file-transfer-index-rebalance\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rebalance Reimagined: Faster Scaling of Couchbase&#8217;s Index Service With File Transfers\"}]},{\"@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\\\/b0f1e943ab5487ba18ca3d2ba134266d\",\"name\":\"Varun Velamuri, Principal Engineer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fd340cfb3ff99be3535d24bae5066350444b6c53c1b95a451d984449ef6ab464?s=96&d=mm&r=g33d7a58673f0e651f3dd64e3fe93b49b\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fd340cfb3ff99be3535d24bae5066350444b6c53c1b95a451d984449ef6ab464?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fd340cfb3ff99be3535d24bae5066350444b6c53c1b95a451d984449ef6ab464?s=96&d=mm&r=g\",\"caption\":\"Varun Velamuri, Principal Engineer\"},\"description\":\"Varun Velamuri is a Principal Engineer in the Global Secondary Indexing team at Couchbase. He has experience in working on technologies related to concurrent programming, parallel and distributed systems, distributed databases, performance optimisations etc. Prior to Couchbase, he has worked as a Lead Research Engineer in the Parallel Systems Laboratories at Siemens Research, Bangalore focussing on technologies related concurrent and parallel programming, correctness tools for multi-threaded programming, distributed event processing etc.\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/pt\\\/author\\\/varun\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Index Rebalance Reimagined: Dimensionamento mais r\u00e1pido com transfer\u00eancias de arquivos","description":"O dimensionamento mais r\u00e1pido dos recursos do banco de dados \u00e9 essencial para manter bancos de dados eficientes e com bom desempenho. Saiba como o servi\u00e7o de \u00edndice do Couchbase atinge o objetivo.","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\/file-transfer-index-rebalance\/","og_locale":"pt_BR","og_type":"article","og_title":"Rebalance Reimagined: Faster Scaling of Couchbase's Index Service With File Transfers","og_description":"Faster scaling of database resources is essential for maintaining efficient and performant databases. Learn how Couchbase's index service hits the mark.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/file-transfer-index-rebalance\/","og_site_name":"The Couchbase Blog","article_published_time":"2024-04-02T20:09:34+00:00","article_modified_time":"2024-04-18T15:53:41+00:00","og_image":[{"width":1986,"height":1136,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/04\/image4.png","type":"image\/png"}],"author":"Varun Velamuri, Principal Engineer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Varun Velamuri, Principal Engineer","Est. reading time":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/"},"author":{"name":"Varun Velamuri, Principal Engineer","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b0f1e943ab5487ba18ca3d2ba134266d"},"headline":"Rebalance Reimagined: Faster Scaling of Couchbase&#8217;s Index Service With File Transfers","datePublished":"2024-04-02T20:09:34+00:00","dateModified":"2024-04-18T15:53:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/"},"wordCount":1858,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image4.png","keywords":["Couchbase 7.6","High Availability","Indexing","rebalance"],"articleSection":["Couchbase Architecture","Couchbase Server","High Performance","Indexing"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/","url":"https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/","name":"Index Rebalance Reimagined: Dimensionamento mais r\u00e1pido com transfer\u00eancias de arquivos","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image4.png","datePublished":"2024-04-02T20:09:34+00:00","dateModified":"2024-04-18T15:53:41+00:00","description":"O dimensionamento mais r\u00e1pido dos recursos do banco de dados \u00e9 essencial para manter bancos de dados eficientes e com bom desempenho. Saiba como o servi\u00e7o de \u00edndice do Couchbase atinge o objetivo.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image4.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/04\/image4.png","width":1986,"height":1136},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Rebalance Reimagined: Faster Scaling of Couchbase&#8217;s Index Service With File Transfers"}]},{"@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\/b0f1e943ab5487ba18ca3d2ba134266d","name":"Varun Velamuri, engenheiro principal","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/fd340cfb3ff99be3535d24bae5066350444b6c53c1b95a451d984449ef6ab464?s=96&d=mm&r=g33d7a58673f0e651f3dd64e3fe93b49b","url":"https:\/\/secure.gravatar.com\/avatar\/fd340cfb3ff99be3535d24bae5066350444b6c53c1b95a451d984449ef6ab464?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fd340cfb3ff99be3535d24bae5066350444b6c53c1b95a451d984449ef6ab464?s=96&d=mm&r=g","caption":"Varun Velamuri, Principal Engineer"},"description":"Varun Velamuri \u00e9 engenheiro principal da equipe de indexa\u00e7\u00e3o secund\u00e1ria global da Couchbase. Ele tem experi\u00eancia em trabalhar com tecnologias relacionadas \u00e0 programa\u00e7\u00e3o simult\u00e2nea, sistemas paralelos e distribu\u00eddos, bancos de dados distribu\u00eddos, otimiza\u00e7\u00f5es de desempenho etc. Antes da Couchbase, ele trabalhou como engenheiro l\u00edder de pesquisa nos Laborat\u00f3rios de Sistemas Paralelos da Siemens Research, em Bangalore, concentrando-se em tecnologias relacionadas \u00e0 programa\u00e7\u00e3o paralela e simult\u00e2nea, ferramentas de corre\u00e7\u00e3o para programa\u00e7\u00e3o multithread, processamento de eventos distribu\u00eddos etc.","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/varun\/"}]}},"acf":[],"authors":[{"term_id":9948,"user_id":85151,"is_guest":0,"slug":"varun","display_name":"Varun Velamuri, Principal Engineer","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/fd340cfb3ff99be3535d24bae5066350444b6c53c1b95a451d984449ef6ab464?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/15552","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\/85151"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=15552"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/15552\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/15556"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=15552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=15552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=15552"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=15552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}