Sin categoría

Las 10 cosas que un administrador de sistemas debe saber sobre Couchbase

Lo esencial para cualquier administrador de sistemas es mantener la base de datos y, en el caso de Couchbase, mantener el clúster en funcionamiento 24×7. Con unos requisitos de aplicación exigentes, el clúster debe configurarse, dimensionarse y supervisarse correctamente. Esto puede ser todo un reto, ya que las cosas pueden fallar en cualquier momento sin previo aviso. Como operador, cada día es diferente y está lleno de sorpresas y retos.

Pero, hay algunas cosas que todo operador de Couchbase Server debe saber. Esperamos que las siguientes 10 cosas te sean útiles y te faciliten el trabajo:

1.     Mantenga actualizadas sus bibliotecas de clientes

Utiliza siempre la última versión de las librerías cliente compatibles con el servidor. Usando las últimas librerías de cliente, puedes sacar el máximo provecho de tu clúster Couchbase - código recientemente probado y las últimas funcionalidades afloradas a través del cliente.

2.     Vigilar, vigilar y vigilar

Usando el panel de administración o las APIs REST, puedes monitorizar cómo va tu cluster de Couchbase. Es una buena práctica monitorizar las siguientes métricas del sistema: ratio de aciertos de caché, lecturas de disco, ratio de elementos residentes y cola de escritura de disco.

Ratio de fallos de caché debe ser bajo. Esto significa que las claves de los documentos se almacenan en caché en la memoria, lo que agiliza las operaciones de lectura y escritura.

Ratio de elementos residentes muestra el número total de documentos activos que residen en memoria. Lo normal es que el conjunto de trabajo (los documentos a los que se accede de forma activa) esté en memoria para reducir las latencias y ofrecer una experiencia de usuario excelente.

En número de lecturas de disco le dará una idea de su E/S de disco. Es bueno mantener este número bajo para que la mayoría de las lecturas se realicen desde la RAM, que es más rápida.

En cola de escritura en disco le dará una idea del número de elementos que necesitan ser escritos en disco y la velocidad a la que se están vaciando. Si las colas de escritura en disco son muy altas (millones de elementos), es posible que el clúster no esté dimensionado correctamente.

Aquí tiene un enlace a nuestra API REST.

3. Dividir los archivos de datos e índices en dispositivos de disco separados

Para obtener un rendimiento óptimo, separe los archivos de datos y de índice en dispositivos de almacenamiento diferentes. De este modo, dispondrás de suficiente ancho de banda de E/S de disco para operaciones de rendimiento intensivo, como la compactación, sin una degradación significativa del rendimiento.

La compactación es un proceso importante que se ejecuta todo el tiempo para recuperar espacio dada la arquitectura append-only de Couchbase. También se puede programar. Más información sobre la compactación aquí.

4.     ¡Oh, no! ¿Falló el reequilibrio?

Reequilibrio un cluster Couchbase es una operación complicada. Hay varias razones por las que el rebalanceo puede ser lento o fallar. Hemos trabajado duro para hacer este proceso más robusto, pero si el reequilibrio sigue fallando, espere unos 5 minutos y reinicie el proceso de nuevo. No debería haber ningún impacto en la aplicación, ya que el mapa del clúster en el cliente se actualiza automáticamente durante el reequilibrio.

Recuerda no pulsar el botón de reequilibrio muchas veces seguidas: sólo reinicia el proceso de nuevo, desperdicia el trabajo útil realizado y, a veces, puede causar estragos.

5.     Recuerde que el reequilibrio swap es mejor que el reequilibrio regular

Swap Rebalance optimiza el movimiento de datos cuando se añade y elimina el mismo número de nodos en la misma operación. Los datos se mueven directamente de los nodos que se eliminan a los nodos que se añaden. Esto es más eficaz que el reequilibrio estándar, que normalmente mueve los datos por todo el clúster.

6.     Supervise la salud de su sistema e integre Couchbase con su ecosistema

Si ya estás usando un sistema de monitorización externo como nagios para monitorizar tu infraestructura, puedes conectar tu sistema de monitorización existente con Couchbase a través de la API REST. Couchbase Server puede notificarte y alertarte para que puedas comprobar la salud de tu cluster de Couchbase Server . Algunos de ellos incluyen:

-       Cambios de dirección IP Si la dirección IP de un Couchbase Server en tu cluster cambia, serás avisado de que la dirección ya no está disponible. Deberás comprobar la dirección IP en el servidor, y actualizar la configuración de tus clientes o servidores.

-       Sobrecarga de metadatos Indica que un bucket está utilizando más de 50% de la RAM asignada para almacenar metadatos y claves, reduciendo la cantidad de RAM disponible para los valores de datos. Este es un indicador útil de que puede que necesites añadir nodos a tu clúster.

-       Uso del disco Indica que el espacio disponible en disco utilizado para el almacenamiento persistente ha alcanzado al menos 90% de capacidad. Esta es una señal de que puede que necesites añadir más discos a tu clúster.

Couchbase también cuenta con un rico ecosistema de adaptadores, como un conector para Hadoop y un complemento para ElasticSearch.

7.     Dimensiona tu cluster adecuadamente en RAM, Disco y CPU

Antes de la producción, es muy es importante dimensionar el clúster y probarlo adecuadamente. El tamaño de tu cluster de Couchbase va a ser crítico para su estabilidad y rendimiento. Para un alto rendimiento, tu aplicación querrá tantas lecturas como sea posible saliendo de la caché, y que el sistema tenga suficiente capacidad IO para manejar sus escrituras. Tiene que haber suficiente capacidad en todas las áreas para soportar todo lo demás que el sistema está haciendo, manteniendo el nivel requerido de rendimiento. 

8.     Los datos se replican en todo el clúster. Opcionalmente, los índices también pueden replicarse.

Los documentos en Couchbase pueden ser replicados hasta 3 veces dentro de un cluster. El número de réplicas (hasta 3) se puede configurar a través de la interfaz de administración. Las mutaciones de los documentos en memoria se replican desde los nodos activos a los nodos réplica. Para consultar un documento, puedes usar el ID del documento y Couchbase buscará el documento usando el índice primario. Para consultar un subconjunto de datos, se pueden utilizar índices secundarios. La replicación de índices en Couchbase es opcional y se puede configurar a través de la interfaz de administración.

9.     La replicación entre centros de datos puede utilizarse para la recuperación en caso de catástrofe

Couchbase XDCR te permite replicar datos entre clusters. El acceso a los datos entre clusters es finalmente consistente. Asegúrate de dimensionar tus clusters para XDCR ya que necesitarás el doble de capacidad de disco y E/S así como algo más de CPU.

10. Sintonización de la indexación

Cuando se trata de un gran número de documentos, hay un par de maneras de indexarlos. La primera consiste en indexar todos los documentos desde cero, lo que lleva mucho tiempo. La otra es actualizar el índice sólo para los documentos que han cambiado, lo cual es un proceso incremental. En Couchbase, los índices se construyen usando mapreduce incremental haciendo que el proceso de actualización o construcción del índice sea eficiente. Como administrador, puedes ajustar el número de índices que se pueden construir en paralelo, o el tiempo / intervalo entre la construcción de índices. Intenta agrupar más vistas en menos documentos de diseño para mejorar el rendimiento. Puedes encontrar más prácticas recomendadas para las vistas aquí.

¿Sólo 10 cosas? No, ¡por supuesto que no! Couchbase es un sistema de base de datos NoSQL y después de probarlo descubrirás que hay mucho más que aprender. Si crees que me he dejado algo importante que debería añadirse en la lista de los 10 mejores, siéntete libre de añadirlo usando los comentarios de abajo. Por último, si no has leído las directrices de mejores prácticas para Couchbase Server 2.0.

¡Que aproveche!

Enlaces relacionados

  • Manual del servidor Couchbase
  • Documentación de Couchbase
Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Don Pinto, Director Principal de Producto, Couchbase

Don Pinto es director principal de productos en Couchbase y actualmente se dedica a mejorar las capacidades de Couchbase Server. Es un gran apasionado de la tecnología de datos y, en el pasado, ha escrito varios artículos sobre Couchbase Server, incluidos blogs técnicos y documentos técnicos. Antes de incorporarse a Couchbase, Don trabajó durante varios años en IBM, donde desempeñó el cargo de desarrollador de software en el grupo de gestión de información DB2 y, más recientemente, como director de programas en el equipo de SQL Server de Microsoft. Don tiene una maestría en Ciencias de la Computación y una licenciatura en Ingeniería Informática por la Universidad de Toronto (Canadá).

2 Comentarios

  1. ¿Pueden los índices creados para la búsqueda de texto completo causar problemas de rendimiento en Couchbase? ¿Por rendimiento me refiero a la extracción de documentos por cualquier aplicación?

    1. Tyler Mitchell julio 17, 2018 a 10:30 am

      Hola Rohit, en entornos de producción empresarial la carga de trabajo para el servicio de búsqueda puede estar completamente aislada del servicio de datos. Siempre y cuando estés utilizando las capacidades de escalado multidimensional de Couchbase Server Enterprise Edition, puedes elegir ejecutar todos los servicios relacionados con la búsqueda en nodos separados de los datos, índices secundarios, consulta N1QL, etc.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.