Este post describirá la integración de MySql Cluster sobre la Infraestructura Grid Oracle (11g).
El objetivo final de este diseño es disponer de un sistema tipo “Cloud” de Banco de Datos Heterogéneo (Oracle, Mysql, …), apoyado sobre la tecnología Oracle Grid Infraestructure 11g.
Este Banco de Datos podrá dar servicio de bases de datos de tipo :
- Oracle → En configuración RAC (Real Application Clusters) y/o Single Instance en Alta Disponibilidad HA (High Availability)
- MySQL → En modo Alta Disponibilidad y/o Clusterizado (contenido de este post)
- PostgreSQL → En modo Alta Disponibilidad y/o Clusterizado
- MSSqlServer → En modo Alta Disponibilidad, virtualizado.
El uso de la infraestructura Grid de Oracle en su última versión 11g permitirá construir un auténtico Banco de Datos Heterogéneo, donde podrán coexistir motores Oracle con motores MySQL, PostgreSQL e incluso MSSqlServer (virtualizado), constituyendo de esta forma una agrupación tipo “Cloud” de servicios de Bases de Datos.
MySQL Cluster, con el motor de almacenamiento NDB (“Network Database”) se basa en el concepto de “Shared Nothing”:
En el ejemplo básico de configuración de MySQL Cluster con motor de almacenamiento NDB, necesitamos al menos dos servidores (virtualizados o no), con la siguiente configuración:
- Nodo1: Incluirá un nodo de datos ndb, un nodo Mysql y un nodo de gestión.
- Nodo2: Incluirá un nodo de datos ndb y un nodo Mysql.
Donde el almacenamiento es independiente entre los nodos.
Oracle RAC, por el contrario, se basa en el concepto de “Shared everything”, el almacenamiento debe ser compartido por todos los nodos que conforman el cluster.
Diagrama de arquitectura final
La solución que se plantea de gestión de un Cluster MySQL bajo la protección Oracle Grid Infraestructure 11g no desvirtúa nada de ambos conceptos, para MySQL en Cluster todo sigue funcionando en base a servidores de Almacenamiento NDB, servidor de administración MGF y Apis MYSQLD, todo distribuido por ips/servidores independientes.
La capa Grid Infraestructure 11g de Oracle sustenta la gestión de las ips/almacenamiento y disponibilidad de los servicios MySQL en Cluster de una forma sencilla, controlable y centralizada.
El diagrama de arquitectura final quedaría como sigue:
Donde observamos dos nodos dando servicio de bases de datos (Oracle en RAC, MySQL en Cluster, PostgreSQL en Cluster, MSSqlServer en modo HA (virtualizado)).
El almacenamiento subyacente se apoya sobre la tecnología ASM (directamente para bases de datos Oracle, y a través de ACFS para el resto de motores).
El servicio prestado por esta arquitectura señalamos que es de tipo “Cloud” porque ofrece un catálogo de servicios estandarizados (BBDD Oracle, MySQL, PostgreSQL, MSSqlServer) escalable en cuanto a rendimiento y disponibilidad.
Pasos para la implantación
La integración de MySQL Cluster en un RAC Oracle apoyado sobre tecnología Grid Infraestructure 11g, almacenamiento ASM (Automatic Storage Management), consiste básicamente en los siguientes pasos:
Configuración de almacenamiento
Sobre sistemas de ficheros compartidos tipo ACFS (Automatic Storage Management Cluster File System), tecnología que extiende las funcionalidades ASM, de forma que los mismos nodos donde tengamos configurado nuestro cluster Oracle, preste servicio de Cluster MySQL, compartiendo un único pool de almacenamiento ASM.
Ficheros de configuración MySQL
Deberemos crear los ficheros de configuración MySQL para implementar un cluster NDB sobre los nodos de nuestro cluster Oracle. Para una instalación base de Oracle RAC de dos nodos, configuraremos dos nodos de Datos, dos nodos MySQL y un nodo de Gestión en modo HA entre ambos servidores.
Creación de recursos
Crearemos los recursos necesarios para el control del cluster MySQL bajo la capa Grid Infraestructure de Oracle, de forma que los nodos que conformen nuestro cluster Oracle también preste servicios MySQL.
Ventajas
Las ventajas de este diseño incrustado de MySQL Cluster sobre Grid Oracle responden a las siguientes necesidades:
¿Cómo aumento el rendimiento de mi Entrada/Salida en mi Cluster MySQL?
Incluimos más discos/luns en la capa ASM de Oracle que provisiona el espacio ACFS para MySQL.
¿Cómo aumento la capacidad de Procesamiento de mi Cluster MySQL?
Incluimos más nodos en la infraestructura Grid.
¿Ayuda esta solución a la Consolidación de servidores?
A través de esta solución, se produce una consolidación efectiva de servidores MySQL, bajo una misma capa de gestión apoyada en la tecnología Grid Infraestructure de Oracle. Tendremos una infraestructura común para prestar servicios de Bases de Datos escalables y heterogéneos (Oracle, MySQL, PostgreSQL, …) a nuestros clientes.
Si necesita más información sobre cómo hemos conseguido en GFI la integración efectiva de MySql Cluster sobre la Infraestructura Grid Oracle (11g), póngase en contacto con nosotros.
Hola soy profesor de bases de datos distribuidos en el tecnologico de jocotiltán y la verdad quisiera aprender mas de ladistribucion de datos en un manejador o en varios. No sé si tengas información en pdf para poder instalar y configurar una base de datos distribuida, para que yo les enseñe a mis alumnos. Un cordial saludo