logo

Clusters de Bases de Datos y Aplicaciones

Descripción

Servidores de Mision CriticaUn clúster es simplemente una colección de componentes que se unen y trabajan como un solo componente para proveer alta disponibilidad. Cuando hablamos de clusters de bases de datos, nos referimos a una arquitectura en la que tenemos varios equipos con parte de los datos del usuario trabajando al unísono como un solo sistema. La arquitectura de un cluster de base de datos viene definida por la manera en que se almacenan los datos en cada nodo.

Arquitectura tipo 1: En este tipo de arquitectura cada nodo del clúster posee parte de la información dentro base de datos y solamente procesa la información que él tiene.  Este tipo de arquitectura es en realidad la más común y la ofertada por la mayoría de los fabricantes de motores de base de datos.Al multiplicarse los volúmenes de datos, su administración es un cargo muy costoso en algunas ocasiones, lo que está obligando a las empresas a tomar decisiones sobre qué hacer con la información, cómo almacenarla y en manos de quién dejarla.

Arquitectura tipo 2: En este tipo de arquitectura toda la información de la base de datos es compartida, mientras que el procesamiento de esta información es distribuida entre los nodos.

Beneficios

Al tener la arquitectura distribuida que ofrece un clúster, puedo asegurar alta disponibilidad de mi información, además de poder alcanzar un mayor número de transacciones simultáneas (IOPS).

Arquitectura tipo 1: Cada nodo se encarga de procesar cada porción de la información que el posee almacenado en su disco incrementando el número de IOPS que podemos alcanzar en comparación a una base de datos no clusterizada. Además, dado que los datos están distribuidos en varios nodos en caso de ocurrir un fallo en uno de los nodos la única información que no estaría disponible es la que estaba gestionando este nodo hasta que vuelva a ser levantado. Hay que tener en cuenta que esto es una gran ventaja en comparación a un motor de base de datos que gestiona toda la información y no está distribuido, ya que con la caída de este motor perdemos acceso completo a toda nuestra información.

Arquitectura tipo 2: Cada nodo se encarga de procesar información por separado, pero todos los nodos comparten acceso a toda la información.  Dado que la información se procesa por separado, obtenemos los mismos beneficios que la arquitectura anterior en relación a IOPS, con la ventaja adicional que en caso de falla de un nodo no perderemos acceso a esta información al estar los nodos compartidos.

Aplicaciones

Bases de datos: Para asegurar mejores resultados en el funcionamiento de las bases de datos que son consultadas por diversas empresas para sus procesos de reportes o prestación de servicios, es vital que se aplique una configuración de clusterización.

Aplicaciones: Entre las aplicaciones más importantes que requieren clusterizar sus aplicaciones se puede mencionar: Consultas de registros de llamadas y de servicios de las empresas de Telecomunicaciones, sistemas SCADA de empresas petroleras, sistemas de transacción financiera para las entidades financieras, sistemas de atención médica para hospitales y clínicas, y aplicaciones web de empresas de hosting, así como también sistemas de atención al cliente

En la imagen adjunta se puede ver gráficamente el flujo de datos.

  1. El tráfico llega a la empresa a través de un router conectado a internet
  2. Pasa a la siguiente capa donde se realiza un balanceo de carga de conexiones
  3. Accede al servidor que le proveerá el servicio solicitado
  4. Se distribuye la carga en un motor de base de datos (mysql) que se encuentra distribuido en 2 nodos conectados entre si a través de un switch.

Cluster BD

Oracle