Las bases de datos son complejas y tienen muchas piezas móviles que pueden fallar. Al mismo tiempo, los fallos en los sistemas a gran escala son inevitables. Estos fallos pueden producirse en cualquier momento y en cualquier punto de la pila. ¿Qué significa todo esto para su aplicación de misión crítica? Para que su aplicación funcione 24×365, su base de datos debe tener una alta disponibilidad y ser capaz de recuperarse de cualquier desastre. Aunque falle un solo nodo, un rack o incluso todo un centro de datos, la base de datos debe seguir funcionando sin tiempo de inactividad. Para una aplicación de misión crítica, se trata de un gran obstáculo que su base de datos debe superar, pero el fracaso no es una opción.
Varias organizaciones han utilizado con éxito Couchbase Server en producción para sus aplicaciones de misión crítica. En este blog se alta disponibilidad y recuperación de desastres en Couchbase Server que lo hacen tan fiable, incluyendo una nueva y emocionante característica que hemos anunciado en Couchbase Server 2.5 llamada "Rack Awareness". Para saber más sobre Couchbase Server 2.5, inscríbete en nuestro webinar aquí
¿Por qué no basta con replicar?
La replicación de datos es el núcleo de la alta disponibilidad, pero no es suficiente por sí misma. En Couchbase, cada documento se replica hasta 3 veces (dependiendo del factor de replicación configurado por el usuario). Pero, para que un sistema de base de datos sea de alta disponibilidad, no son sólo los datos: todos los componentes del sistema, incluidos el hardware, el software, los datos, etc., deben ser de alta disponibilidad.
En pocas palabras, tener dos o más de algo no significa alta disponibilidad. Aunque falle una pieza de hardware, el sistema debe ser capaz de seguir funcionando. Si falla un componente de software, también debe seguir funcionando. Por ejemplo, En versiones anteriores a Couchbase Server 2.5, las réplicas de datos se distribuían aleatoriamente entre todos los nodos del cluster, conteniendo cada nodo (de un cluster con N nodos) aproximadamente 1/N de las particiones de datos. Las réplicas de estas particiones se repartían uniformemente entre los N-1 nodos restantes. Con esta distribución de los datos, si un rack físico fallara, los nodos del rack podrían contener tanto la partición de datos primaria como las réplicas de algunas particiones, lo que provocaría una posible indisponibilidad de los datos. Definitivamente, hacía falta algo más...
Rack Awareness en Couchbase Server 2.5
A medida que tu cluster de Couchbase crece, necesitarás distribuir tus nodos de servidor Couchbase en más de un rack. Para mantener una alta disponibilidad, puede que quieras que el cluster sobreviva al fallo de un rack entero. De esta manera, el fallo de cualquier rack no hará que todas las copias de tus datos no estén disponibles.
Con conocimiento de rack en Couchbase Server 2.5, puede configurar nodos en grupos de servidores donde todos los servidores de un grupo están en un único rack. La agrupación de servidores en grupos de servidores garantiza que las particiones de datos de réplica no se encuentren en el mismo rack que las particiones primarias. Por ejemplo, hay 3 grupos de servidores, cada uno de los cuales contiene 3 nodos de servidor. El cluster tiene 2 réplicas (3 copias de los datos) y las copias réplica están en diferentes racks. La configuración está equilibrada porque cada grupo de servidores tiene el mismo número de nodos de servidor.
<!-
<!-
->
<!-
Figura 1: Una configuración equilibrada en Couchbase Server
->
Cuando falla un bastidor y los nodos del servidor se sustituyen, las copias de réplica de otros bastidores pasan a estar activas y la aplicación puede acceder a los datos.
-><!-Figura 2: Conciencia de rack en el servidor Couchbase.
->
A diferencia de otras bases de datos, configurar la conciencia de rack en Couchbase Server es simple - sólo tienes que crear los grupos de servidores y asignar los nodos de servidor en grupos de servidores particulares. Rack awareness en Couchbase Server puede ser configurado a través de la opción consola de gestión o utilizando el Interfaz REST.
¿Conocimiento del bastidor o replicación entre centros de datos?
Huracanes, terremotos, fallos de dns, tormentas eléctricas, dedos gordos, etc., han sido las principales causas de la mayoría de las grandes interrupciones de las infraestructuras tradicionales de los centros de datos. Estos incidentes nos enseñan que necesitamos algo más... Plan B de fiabilidad.
El Plan B requiere una alta disponibilidad, así como la recuperación en caso de desastre. La alta disponibilidad (HA) garantiza que los datos estén disponibles con el menor tiempo de inactividad posible, mientras que la recuperación ante desastres (DR) consiste en prepararse y recuperarse de un desastre.
Con más y más empresas utilizando Couchbase para ejecutar sus aplicaciones de misión crítica, sentimos que era importante ir más allá de un fallo de nodo y un fallo de rack para mantener su aplicación en funcionamiento. Incluso si un centro de datos entero falla, tu base de datos y tu aplicación deberían seguir funcionando. Usando la replicación entre centros de datos en Couchbase Server, puedes replicar datos de una manera activa-activa entre dos centros de datos a través de diferentes geografías que mejor se adapten a tus necesidades de recuperación. En Couchbase 2.5, hemos añadido soporte para asegurar el canal de replicación entre los centros de datos para una mayor seguridad.
Rack awareness es una característica de alta disponibilidad en Couchbase Server mientras que Cross datacenter replication es una característica de recuperación de desastres. Así pues, ¿necesita un conocimiento profundo del bastidor o una replicación entre centros de datos? Sí, necesita las dos cosas.
¿Quieres saber más sobre 2.5?
Couchbase Server 2.5 es un lanzamiento emocionante y además de disponibilidad y fiabilidad, también hemos añadido algunas características interesantes en el área de seguridad y gestión de conexiones. Para obtener más información sobre estas características, regístrese ahora para el próximo seminario web de lanzamiento.
<!-
->
Además de estas mejoras, se han introducido otras correcciones de rendimiento y estabilidad que mejoran la experiencia del usuario en todas las plataformas compatibles. Para obtener más información sobre esta versión, consulte nuestra documentación. aquí.
Prueba 2.5 Descárgatelo aquí: https://www.couchbase.com/download