{"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\/es\/file-transfer-index-rebalance\/","title":{"rendered":"Reequilibrio Reimaginado: Escalado m\u00e1s r\u00e1pido del servicio de \u00edndices de Couchbase con transferencias de archivos"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Un escalado m\u00e1s r\u00e1pido de los recursos de base de datos es esencial para mantener bases de datos eficientes y eficaces, especialmente con el aumento de la presi\u00f3n de la ingesti\u00f3n de datos, las crecientes demandas de consulta y la necesidad de gestionar las conmutaciones por error sin problemas. Dado que el tr\u00e1fico de consultas impulsado por las aplicaciones se gestiona principalmente mediante servicios de \u00edndices, un escalado m\u00e1s r\u00e1pido de los servicios de reequilibrio de \u00edndices es fundamental para conseguir aplicaciones de alto rendimiento.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Para el servicio de \u00edndices, la operaci\u00f3n de escalado (tambi\u00e9n denominada <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/clusters-and-availability\/rebalance.html#rebalance-and-other-services\"><span style=\"font-weight: 400\">reequilibrar<\/span><\/a><span style=\"font-weight: 400\">) consiste en mover \u00edndices\/r\u00e9plicas\/particiones individuales entre los nodos de servicio de \u00edndices disponibles en el cl\u00faster. El objetivo es minimizar los desequilibrios de carga y optimizar las m\u00e9tricas de utilizaci\u00f3n de recursos, como la CPU y la memoria, en todos los nodos.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Este art\u00edculo explora las limitaciones y mejoras hechas al proceso de rebalanceo de \u00edndices en la versi\u00f3n 7.6 de Couchbase-Server. Introduce un nuevo flujo de rebalanceo basado en transferencias de archivos eficientes, ofreciendo beneficios significativos como reducciones sustanciales en el tiempo de rebalanceo y utilizaci\u00f3n optimizada de recursos, incluyendo menor consumo de CPU y memoria.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400\">Resumen del reequilibrio del servicio de \u00edndices<\/span><\/h2>\n<p><span style=\"font-weight: 400\">A alto nivel, el reequilibrio del servicio de \u00edndices funciona en 3 fases:<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Planificaci\u00f3n<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">En el <a href=\"https:\/\/www.couchbase.com\/blog\/es\/index-planner-for-global-secondary-indexes\/\">fase de planificaci\u00f3n<\/a>La informaci\u00f3n de todos los \u00edndices de todos los nodos del cl\u00faster se recopila junto con sus estad\u00edsticas de carga. La carga de un \u00edndice se deriva de varios factores como la utilizaci\u00f3n de la CPU, la utilizaci\u00f3n de la memoria, la tasa de escaneado, la tasa de procesamiento de mutaciones, la utilizaci\u00f3n del disco, etc.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Se utiliza un algoritmo de optimizaci\u00f3n para minimizar la variaci\u00f3n de carga en el cl\u00faster. Por ejemplo, si un nodo de servicio de \u00edndices experimenta un tr\u00e1fico de mutaci\u00f3n y escaneado significativamente mayor que los dem\u00e1s, el algoritmo redistribuye los \u00edndices para equilibrar la carga global y reducir la varianza.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">El algoritmo de optimizaci\u00f3n decide los movimientos de \u00edndices desde sus nodos existentes a nuevos nodos en un entorno simulado para llegar a una distribuci\u00f3n que minimice la varianza de carga en el cl\u00faster.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400\">Fase de ejecuci\u00f3n<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">En funci\u00f3n del plan final decidido en la fase de planificaci\u00f3n, los \u00edndices se trasladan de sus nodos existentes a nuevos objetivos.<\/span><\/li>\n<li style=\"font-weight: 400\">Esta fase es la que m\u00e1s contribuye al tiempo de reequilibrio de los \u00edndices, directamente afectada por el m\u00e9todo de movimiento y el n\u00famero de \u00edndices implicados.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400\">Eliminaci\u00f3n de \u00edndices en los nodos de origen<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Una vez que los \u00edndices de los nuevos nodos de destino est\u00e9n completamente reconstruidos y listos para gestionar consultas, todas las solicitudes de escaneo entrantes para esos \u00edndices se redirigir\u00e1n a los nuevos nodos.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Los \u00edndices de los nodos de origen existentes se eliminar\u00e1n una vez que los \u00edndices correspondientes de los nuevos nodos est\u00e9n listos para servir tr\u00e1fico de escaneado.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">En <em>Fase de ejecuci\u00f3n<\/em>En la actualidad, se basa en la reconstrucci\u00f3n de los \u00edndices que se trasladan mediante la retransmisi\u00f3n y el reprocesamiento de todos los documentos del servicio de datos. Aunque este esquema funciona bien desde el punto de vista funcional, presenta los siguientes inconvenientes:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\">Aumento de los plazos de reajuste de los \u00edndices<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Exploraciones m\u00e1s lentas\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Procesamiento de mutaciones m\u00e1s lento<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Estos inconvenientes se deben principalmente a:<\/span><\/p>\n<p><strong>Gastos generales de recursos durante el reequilibrio<\/strong><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">El servicio de datos debe retransmitir todos los documentos relevantes para el \u00edndice con el fin de reconstruir los \u00edndices. A menudo, la retransmisi\u00f3n de todos los datos requiere un backfilling desde el disco, lo que puede suponer una presi\u00f3n adicional sobre \u00e9ste.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">El proceso del proyector tiene que volver a procesar todos los documentos para extraer los datos relevantes para este \u00edndice, lo que puede consumir m\u00e1s CPU y memoria. Estos gastos generales tambi\u00e9n pueden crear contenci\u00f3n de recursos para el tr\u00e1fico incremental de los \u00edndices existentes.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Tambi\u00e9n para el proceso de indexaci\u00f3n, la construcci\u00f3n de \u00edndices a\u00f1ade una considerable sobrecarga de recursos en CPU, memoria y E\/S de disco debido al nuevo tr\u00e1fico de mutaci\u00f3n entrante. En general, se requieren operaciones de lectura de E\/S aleatorias durante ciertas etapas de la creaci\u00f3n de \u00edndices, lo que ralentiza todo el proceso de creaci\u00f3n de \u00edndices.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Desorganizaci\u00f3n del grupo de trabajo\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\">Los requisitos de memoria debidos a la reconstrucci\u00f3n de \u00edndices durante reducen la memoria disponible para los \u00edndices existentes.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">El conjunto de trabajo de los \u00edndices existentes puede ser desalojado de la memoria<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Esto hace que las exploraciones y el procesamiento de mutaciones se ralenticen si los datos relevantes no est\u00e1n disponibles en la memoria y deben obtenerse del disco.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400\">Reequilibrio de las transferencias de ficheros<\/span><\/h2>\n<p><span style=\"font-weight: 400\">El reequilibrio de la transferencia de archivos es un m\u00e9todo para reducir la sobrecarga de la reconstrucci\u00f3n de \u00edndices. En lugar de reconstruir los \u00edndices, el nodo de origen transfiere directamente los archivos de datos indexados al nodo de destino sin interactuar con el servicio de datos. Una vez finalizada la transferencia de datos, el servicio de \u00edndices se pondr\u00e1 al d\u00eda con las mutaciones que se hayan producido durante la transferencia transmiti\u00e9ndolas desde el servicio de datos. Las exploraciones y mutaciones seguir\u00e1n proces\u00e1ndose para los \u00edndices existentes independientemente del estado de la transferencia.<\/span><\/p>\n<p><span style=\"font-weight: 400\">La transferencia de datos entre los nodos de origen y destino se realiza mediante un protocolo personalizado basado en el modelo HTTP de solicitud-respuesta. El nodo de origen contiene un cliente capaz de leer secuencialmente datos indexados del disco y publicar los datos en el nodo de destino como m\u00faltiples blobs binarios peque\u00f1os. La transferencia de datos siempre est\u00e1 cifrada. El nodo de destino alberga un servidor que recibe estos blobs binarios, los descifra y reconstruye los datos indexados durante el proceso de transferencia. Todos los datos recibidos por el servidor en el nodo de destino se almacenan de forma persistente en el disco.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Una vez finalizada la transferencia de datos, el nodo de destino recupera el \u00edndice del disco y retrocede hasta un punto de recuperaci\u00f3n v\u00e1lido disponible dentro de los datos transferidos. A continuaci\u00f3n, solicita al servicio de datos que transmita las mutaciones que se hayan producido desde la generaci\u00f3n de ese punto de recuperaci\u00f3n. Una vez procesadas todas las mutaciones necesarias, el \u00edndice se convierte en <em>listo para escanear<\/em> en el nodo de destino y posteriormente se elimina del nodo de origen.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Dado que la mayor\u00eda de los datos indexados se transfieren directamente, sin necesidad de reconstruirlos, la sobrecarga asociada a la reconstrucci\u00f3n de \u00edndices se elimina durante la transferencia de datos. Esto ha mejorado significativamente la velocidad de reequilibrio al tiempo que reduce el consumo asociado de CPU y memoria. Como resultado, el impacto en el conjunto de trabajo tambi\u00e9n es m\u00ednimo, lo que permite que los escaneos y el tr\u00e1fico de mutaci\u00f3n se procesen a velocidades similares a las anteriores al reequilibrio.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Los \u00fanicos gastos generales de recursos en que se incurre con las transferencias de archivos son los relacionados con la propia transferencia de datos y la recuperaci\u00f3n de las mutaciones que puedan haberse producido durante el proceso de transferencia. La utilizaci\u00f3n de recursos durante la transferencia de datos y el proceso de recuperaci\u00f3n puede desglosarse del siguiente modo:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li><b>Ancho de banda de lectura de disco (nodo de origen)<\/b> &#8211; <span style=\"font-weight: 400\">Eficiente, gracias a las lecturas secuenciales.<\/span><\/li>\n<li><b>CPU y memoria (nodo de origen)<\/b> &#8211; <span style=\"font-weight: 400\">M\u00ednimo, debido a la publicaci\u00f3n de peque\u00f1as manchas binarias.<\/span><\/li>\n<li><b>CPU y memoria (nodo de destino)<\/b> &#8211; <span style=\"font-weight: 400\">M\u00ednimo, debido al procesamiento de peque\u00f1as manchas binarias.<\/span><\/li>\n<li><b>Ancho de banda de escritura en disco (nodo de destino)<\/b> &#8211; <span style=\"font-weight: 400\">Eficiente, debido a las escrituras principalmente secuenciales.<\/span><\/li>\n<li><b>Ancho de banda de lectura de disco (recuperaci\u00f3n, nodo de destino) <\/b>&#8211; <span style=\"font-weight: 400\">M\u00ednimo, ya que s\u00f3lo es necesario recuperar una parte de los datos.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Para minimizar las interrupciones en las operaciones cr\u00edticas de exploraci\u00f3n y mutaci\u00f3n, tanto los nodos de origen como los de destino restringen el ancho de banda del disco a un valor configurable, por defecto 200 MB\/seg, durante el reequilibrio. Esta tasa elegida emp\u00edricamente garantiza una eficiencia equilibrada y un impacto m\u00ednimo en el rendimiento, con un consumo de recursos observado de menos de 2 n\u00facleos de CPU y decenas de MB de memoria por nodo.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Resultados de rendimiento con reequilibrio de transferencia de archivos<\/span><\/h2>\n<h3>Configuraci\u00f3n de referencia<\/h3>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><b>Configuraci\u00f3n del cl\u00faster:<\/b>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Nodos de servicio de datos: 4<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Nodos \u00edndice: 3<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><b>Datos:<\/b>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Volumen: 1.000 millones de documentos<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Tama\u00f1o medio del documento: 230 bytes<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Distribuci\u00f3n: Compartido entre 2 colecciones en un solo cubo<\/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\">Replicaci\u00f3n: 1 r\u00e9plica por \u00edndice<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">N\u00famero de particiones: 3 por \u00edndice<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Total de instancias: 18 (3 \u00edndices * 3 particiones * 2 r\u00e9plicas)<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Tama\u00f1o medio del campo de \u00edndice secundario: 140 bytes<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Uso total del disco: ~710 GB (en todas las instancias)<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><b>Recursos del Servicio de \u00cdndices:<\/b>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Cuota de memoria: 128 GB por nodo<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">N\u00facleos de CPU: 80 por nodo<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Comparaci\u00f3n<\/h3>\n<p><span style=\"font-weight: 400\">Este benchmark de rendimiento compara dos m\u00e9todos de rebalanceo para tiempos de rebalanceo, CPU y utilizaci\u00f3n de memoria para el caso de rebalanceo swap:<\/span><\/p>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li style=\"font-weight: 400\"><b>Reequilibrio de la Reconstrucci\u00f3n del \u00cdndice (Reequilibrio DCP) <\/b>&#8211; <span style=\"font-weight: 400\">Reconstruye los \u00edndices desde cero durante el reequilibrio.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Reequilibrio en la transferencia de archivos<\/b> &#8211; <span style=\"font-weight: 400\">Transfiere directamente los archivos de datos de \u00edndice existentes entre nodos.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400\">Reequilibrio-intercambio<\/span><\/h3>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Comenzamos con 2 nodos de \u00edndice en el cl\u00faster, cada uno de los cuales contiene alrededor de 355 GB de datos indexados en 9 instancias de \u00edndice en cada nodo.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">A\u00f1adimos un nuevo nodo \u00edndice y eliminamos uno existente.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Todos los datos indexados del nodo eliminado se transfieren al nodo reci\u00e9n a\u00f1adido.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">El tr\u00e1fico de exploraci\u00f3n sigue llegando a los nodos iniciales hasta que se completa la transferencia de datos.<\/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>Comparaci\u00f3n del tiempo de reequilibrio del swap<\/h4>\n<p><span style=\"font-weight: 400\">El reequilibrio de la transferencia de archivos se completa en s\u00f3lo <\/span><b>37 minutos<\/b><span style=\"font-weight: 400\">frente a la asombrosa <\/span><b>272 minutos<\/b><span style=\"font-weight: 400\"> con el m\u00e9todo tradicional de reequilibrio DCP. Esto representa un <\/span><b>Mejora 7 veces<\/b><span style=\"font-weight: 400\"> \u00a1en velocidad! Esta eficacia se debe en gran medida a la transferencia directa de archivos de datos, en lugar de reconstruirlos por completo. Mientras que la transferencia de datos en s\u00ed tardar\u00eda te\u00f3ricamente alrededor de <\/span><b>29,6 minutos<\/b><span style=\"font-weight: 400\"> (suponiendo una velocidad sostenida de 200 MB\/s), el tiempo total de reequilibrio se ajusta bien al tiempo real de reequilibrio de extremo a extremo (incluidas las fases de planificaci\u00f3n y recuperaci\u00f3n).<\/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 la comparaci\u00f3n de CPU<\/h4>\n<p><b>El reequilibrio DCP consume muchos m\u00e1s recursos de CPU que el reequilibrio de transferencia de archivos.<\/b><span style=\"font-weight: 400\"> Esto se debe a que el proceso de indexaci\u00f3n necesita reconstruir todas las mutaciones transmitidas desde el servicio de datos, lo que supone un proceso intensivo desde el punto de vista computacional. Por el contrario, el reequilibrio de transferencia de archivos consume muy poca CPU, con picos ocasionales de uso de la CPU durante el proceso de reequilibrio. <em>fase de recuperaci\u00f3n<\/em>\u00a0despu\u00e9s de la transferencia de datos.<\/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>Reequilibrar la comparaci\u00f3n de memorias<\/h4>\n<p><b>El reequilibrio DCP tambi\u00e9n requiere mucha m\u00e1s memoria que el reequilibrio por transferencia de archivos.<\/b><span style=\"font-weight: 400\"> Durante el proceso de reconstrucci\u00f3n, el proceso de indexaci\u00f3n tiene que asignar y gestionar constantemente la memoria para todas las mutaciones entrantes, lo que supone una importante presi\u00f3n sobre los recursos disponibles. Sin embargo, el reequilibrio de transferencia de archivos funciona de forma diferente. Dado que transfiere directamente los archivos de datos al disco en lugar de reconstruirlo todo en memoria, s\u00f3lo requiere un m\u00ednimo de memoria para su procesamiento, lo que reduce significativamente la demanda total de memoria.<\/span><\/p>\n<h4>Reequilibrio temporal de la utilizaci\u00f3n de E\/S de 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>El reequilibrio de transferencia de archivos mantiene una tasa de E\/S de disco constante durante todo el proceso, gracias a la velocidad de transferencia controlada.<\/b><span style=\"font-weight: 400\"> Este estrangulamiento garantiza una eficiencia equilibrada y minimiza el impacto en el rendimiento. Pueden producirse picos ocasionales durante el <em>fase de recuperaci\u00f3n<\/em>\u00a0donde se procesan las mutaciones, pero en general, la E\/S de disco permanece estable. Por el contrario, el reequilibrio DCP sufre una saturaci\u00f3n casi constante de la E\/S del disco debido a su enfoque de reconstrucci\u00f3n intensiva, lo que puede provocar cuellos de botella en el rendimiento.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h4>Reequilibrio del ancho de banda de transferencia en el nodo de origen<\/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\">Mientras que DCP aprovecha una <em>tire de<\/em>\u00a0en el que los nodos de destino recuperan los datos directamente, la transferencia de archivos se basa en la <\/span><b>nodo fuente que empuja activamente los datos hacia el exterior<\/b><span style=\"font-weight: 400\">. El resultado es un <\/span><b>notablemente superior <em>out_bytes_por_segundo<\/em>\u00a0m\u00e9trico<\/b><span style=\"font-weight: 400\"> (datos enviados) para el nodo de origen durante el reequilibrio de transferencia de archivos. En el reequilibrio DCP, esta m\u00e9trica se aproxima a cero si no se est\u00e1 ejecutando ninguna exploraci\u00f3n activa, ya que las extracciones de datos solo se producen bajo demanda.<\/span><\/p>\n<h4>Otras comparaciones del tiempo de reequilibrio<\/h4>\n<p><span style=\"font-weight: 400\">Ya hemos hablado de los impresionantes ahorros de tiempo conseguidos durante las operaciones de intercambio de reequilibrio (movimiento directo de datos entre los nodos que se a\u00f1aden y eliminan). Nos complace informar de ganancias similares en otros dos escenarios: <\/span><b>reequilibrio en<\/b><span style=\"font-weight: 400\"> (a\u00f1adir nuevos nodos de \u00edndice y redistribuirles \u00edndices) y <\/span><b>reequilibrio<\/b><span style=\"font-weight: 400\"> (eliminando nodos \u00edndice y redistribuyendo sus \u00edndices entre los nodos restantes). En la tabla siguiente se resumen las mejoras generales del tiempo de reequilibrio observadas en una configuraci\u00f3n similar a la descrita anteriormente.<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Tipo de reequilibrio<\/b><\/td>\n<td><b>Tiempo de reequilibrio DCP (min)<\/b><\/td>\n<td><b>Tiempo de reequilibrio de la transferencia de archivos (min)<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Reequilibrio (2 nodos \u2192 3 nodos)<\/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\">Reequilibrio (3 nodos \u2192 2 nodos)<\/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\">Activaci\u00f3n del reequilibrio de transferencias de archivos<\/span><\/h2>\n<p><span style=\"font-weight: 400\">El reequilibrio de transferencia de archivos est\u00e1 activado por defecto en las implantaciones de Capella. Para las implantaciones autoalojadas, el usuario final debe activarlo manualmente (desde la interfaz de usuario o mediante solicitudes de l\u00ednea de comandos). Encontrar\u00e1 m\u00e1s informaci\u00f3n en la p\u00e1gina <a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/clusters-and-availability\/rebalance.html#index-rebalance-methods\">documentaci\u00f3n de reequilibrio<\/a>.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Resumen<\/span><\/h2>\n<p><span style=\"font-weight: 400\">El m\u00e9todo tradicional de reequilibrio de Couchbase Index Service sufre de un alto uso de recursos y largos tiempos de reequilibrio debido a la reconstrucci\u00f3n del \u00edndice. El nuevo reequilibrio por transferencia de archivos aborda este problema transfiriendo directamente archivos de datos entre nodos, lo que reduce significativamente la sobrecarga de recursos (CPU, memoria, E\/S de disco) y los tiempos de reequilibrio. Los tiempos de reequilibrio de \u00edndices han mejorado hasta 7 veces en algunos casos, como el reequilibrio de intercambio. Esto se traduce en un escalado m\u00e1s r\u00e1pido, un mejor rendimiento de las aplicaciones y una utilizaci\u00f3n m\u00e1s eficiente de los recursos del cl\u00faster.<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>M\u00e1s informaci\u00f3n <a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-server-7-6-top-developer-features\/\">Novedades de 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>","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"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\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\/es\/file-transfer-index-rebalance\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\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\/es\/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\":\"es\",\"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\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/33d7a58673f0e651f3dd64e3fe93b49b\",\"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\/es\/author\/varun\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Index Rebalance Reimagined: Faster Scaling with File Transfers","description":"Faster scaling of database resources is essential for maintaining efficient and performant databases. Learn how Couchbase's index service hits the mark.","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\/es\/file-transfer-index-rebalance\/","og_locale":"es_MX","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\/es\/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":"es","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":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/file-transfer-index-rebalance\/"]}]},{"@type":"ImageObject","inLanguage":"es","@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":"El blog de Couchbase","description":"Couchbase, la base de datos 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":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@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, Ingeniero Principal","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/33d7a58673f0e651f3dd64e3fe93b49b","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 es ingeniero principal en el equipo de indexaci\u00f3n secundaria global de Couchbase. Tiene experiencia en tecnolog\u00edas relacionadas con programaci\u00f3n concurrente, sistemas paralelos y distribuidos, bases de datos distribuidas, optimizaci\u00f3n del rendimiento, etc. Antes de Couchbase, trabaj\u00f3 como Ingeniero Jefe de Investigaci\u00f3n en los Laboratorios de Sistemas Paralelos de Siemens Research, Bangalore, centr\u00e1ndose en tecnolog\u00edas relacionadas con la programaci\u00f3n concurrente y paralela, herramientas de correcci\u00f3n para programaci\u00f3n multihilo, procesamiento de eventos distribuidos, etc.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/varun\/"}]}},"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","author_category":"","last_name":"Velamuri, Principal Engineer","first_name":"Varun","job_title":"","user_url":"","description":"Varun Velamuri es ingeniero principal en el equipo de indexaci\u00f3n secundaria global de Couchbase. Tiene experiencia en tecnolog\u00edas relacionadas con programaci\u00f3n concurrente, sistemas paralelos y distribuidos, bases de datos distribuidas, optimizaci\u00f3n del rendimiento, etc. Antes de Couchbase, trabaj\u00f3 como Ingeniero Jefe de Investigaci\u00f3n en los Laboratorios de Sistemas Paralelos de Siemens Research, Bangalore, centr\u00e1ndose en tecnolog\u00edas relacionadas con la programaci\u00f3n concurrente y paralela, herramientas de correcci\u00f3n para programaci\u00f3n multihilo, procesamiento de eventos distribuidos, etc."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/15552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/85151"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=15552"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/15552\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/15556"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=15552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=15552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=15552"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=15552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}