Migración de Oracle RAC a MariaDB Galera Cluster

Greetz ofrece un servicio de tarjeta de felicitación en línea personalizada a clientes en Europa y América del Norte. Greetz solicitó a SkySQL que les proporcionara una tecnología de base de datos de reemplazo para su tienda en línea, que redujera considerablemente el coste total de propiedad (TCO) al tiempo que garantizara una alta disponibilidad y un rendimiento predecible.

¿ Qué hace Greetz ?

Greetz ofrece un servicio de tarjeta de felicitación en línea personalizada a clientes en Europa y América del Norte. La aplicación webshop de la compañía se basa en Java y Hibernate (mapeo objeto-Relation) y, antes de trabajar con SkySQL, utilizaba Oracle RAC como su base de datos subyacente. Su infraestructura está basada en Linux y utiliza Ansible para gestión de la configuración .

El Desafío

En Greetz estaban preocupados por la falta de recursos internos DBA Oracle y la creciente complejidad de la gestión de su base de datos de Oracle como su negocio creció.

Contactaron con SkySQL para que se les proporcionara una tecnología de base de datos abierta de reemplazo para su tienda en línea, que redujera considerablemente el coste total de propiedad (TCO) al tiempo que garantizara una alta disponibilidad y previsible rendimiento.

Nuestra Solución

Greetz requirió al equipo del proyecto SkySQL que mantuviera la configuración de Linux, Hibernate y Ansible, sustituyendo sólo la base de datos.

Antes de la migración, MySQL ya estaba en uso en Greetz para Business Intelligence, recuperación de desastres y otros servicios complementarios. Estos servidores se actualizaban de forma habitual utilizando scripts y programas al efecto.

Afortunadamente despliegue Hibernate existente del cliente utiliza la configuración por defecto Hibernate. Esto aseguró que no había SQL nativo para reemplazar. Por lo tanto, el equipo del proyecto se centró en mover el esquema de base de datos y, apuntando Hibernate a la nueva base de datos, hacer pruebas de extremo a extremo y optimizar el rendimiento .

Sí hubo algunos problemas en el proceso de migración, principalmente relacionados con las diferencias en los juegos de caracteres y el comportamiento de los tipos de datos.

Las diferencias entre Oracle y MariaDB/Galera causaron algunos problemas desde el punto de vista de aplicación, debido al uso de Hibernate. Sin embargo, el equipo del proyecto tuvo que tener en cuenta las diferencias en infraestructura. Por ejemplo, tenían que adaptar la configuración de Ansible para MariaDB y se tuvo que extender esta labor de apoyo a Galera. Galera en sí y el equilibrador de conmutación por error/carga también necesitan ser configurados para Galera.

También, como parte del proyecto, Greetz quería tener sus propias bases de datos de BI y de recuperación de desastres existentes para migrar de MySQL a MariaDB. En lugar de desplegar estos sistemas usando Galera, se utilizó la replicación MariaDB estándar. Esto tiene la ventaja añadida de que el BI y bases de datos de recuperación de desastres podrían ser actualizados en tiempo real.

Una cuestión que es común a muchos proyectos de migración es que se hallan datos incorrectos en el sistema que está siendo migrado, y este proyecto no fue la excepción -un problema que tenía que ser manejado con sumo cuidado.

El esquema fue razonablemente fácil de migrar, pero fue sintonizado continuamente durante el proceso de migración, por ejemplo, las correlaciones de tipos de datos y la indexación.

El gran problema con la migración de los datos fue el rendimiento durante el tiempo de inactividad programado. Durante una ventana de tiempo muy restringido grandes cantidades de datos tuvieron que ser extraídos de los servidores existentes, transferidos a los nuevos y finalmente importados en MariaDB/Galera. Esto resultó muy delicado y requirió una estrecha cooperación con el equipo cliente.

La prueba del esquema y los datos resultantes fue un proceso continuo a través de la migración, incluida la prueba de aplicaciones, así como la verificación automatizada de los datos migrados.

Como parte de la migración, se prestó atención al crecimiento futuro de Greetz y a los servicios para asegurar que el sistema pudiera crecer, tanto horizontal como verticalmente.

Inmediatamente después de que el nuevo sistema se puso en marcha hubo algunos problemas de estabilidad, pero éstos fueron anticipados con el uso de las nuevas tecnologías de bases de datos para una aplicación de alto rendimiento ya existente. Aun así, la aplicación recién migrada pronto estuvo estable debido a que los desarrolladores de SkySQL y los equipos de DBA resolvieron sistemáticamente cada problema.

Los Resultados

La migración Greetz se propuso implementar una solución de base de datos más escalable, con más rendimiento y de alta disponibilidad al tiempo que proporcionara la recuperación de desastres en tiempo real y las bases de datos de BI.

Desde el punto de vista del rendimiento, la nueva configuración MariaDB/Galera es ahora más rápida que en Oracle RAC y proporciona igual estabilidad -si no mayor- además de alta disponibilidad.

SkySQL ha logrado reducir el TCO de la solución de base de datos de Greetz eliminando la necesidad de una SAN, así como costes de licencia y mantenimiento.

Hoy en día, con MariaDB Galera ofrece una nueva plataforma estable, probada y fiable para la tienda web de Greetz. Aunque la migración fue más compleja de lo previsto inicialmente, el equipo del proyecto SkySQL resolvió rápidamente los problemas que iban surgiendo. Greetz también ha participado como DBA remoto de SkySQL de forma continua para mantener la tienda web funcionando de manera óptima y ayudó con la implementación de nuevas características y modificaciones según fue necesario.

Giulio Gaioni, COO de Greetz dijo:

"Un punto clave de cualquier aplicación de base de datos es la exactitud de los datos, junto con el éxito de la migración de los antiguos sistemas heredados. Esto es particularmente importante en el sector de comercio electrónico donde los datos del cliente y el historial de las compras deben ser plenamente trazables y auditables."

"Nos comprometimos con SkySQL el fin de establecer un punto único de toma de decisiones para todos los aspectos relacionados con los datos y para garantizar los principios de buenas prácticas que se aplicarían a nuestras actividades de migración de datos."

"El enfoque controlado y estructurado nos dio certeza en relación con los datos y nos permitió alcanzar el objetivo general del proyecto e ir a producción a tiempo. No dudaría de trabajar de nuevo con SkySQL y lo recomiendo."

Anders Karlsson, Ingeniero de Ventas para SkySQL en el proyecto Greetz, dijo:

"Estamos orgullosos de desarrollar un proyecto tan importante para Greetz. Nuestro enfoque para la migración de datos, con énfasis en el control de calidad de los datos estuvo particularmente bien adaptado a la industria de comercio electrónico."

"Nuestro equipo logró entregar una exitosa migración de datos MariaDB dentro de plazos exigentes porque permanecieron centrados en los factores clave de éxito: Acuerdo de Alcance, compromiso empresarial, procedimientos de aprobación robustos y cierre de sesión".