El apagón de Platzi / Migramos de MySQL a PostgreSQL

Curso de Fundamentos de Bases de Datos 2019

Take the first classes for free

SHARE THIS ARTICLE AND SHOW WHAT YOU LEARNED

Vamos a apagar Platzi. On/Off. Durante la madrugada del Jueves tendremos una ventana de mantenimiento de una hora, durante este tiempo estaremos en un intensivo proceso de migración. Platzi se mueve de MySQL a PostgreSQL para su fuente de datos principal.


Para dejar las cosas claras. Primero ¿Qué es una Base de Datos?

Alberto Alcocer: Curso de SQL y MySQL

Es un lugar donde podemos ir almacenando datos puntuales de cualquier cantidad de cosas para después operar sobre ellos y convertirlos en información. Esa información convertirla en operaciones de negocio y las operaciones de negocio convertirlas en dinero, crecimiento, sabiduría lo que sea.

Para entender más te recomiendo este excelente y sencillo post que explica a profundidad los fundamentos de este tema.


¿Por qué estamos haciendo esta migración?

Actualmente en Platzi usamos más de una Base de Datos para distintas tareas, tenemos cierta parte en MongoDB, otra parte en Redis, que son distintos tipos de Bases de Datos, e incluso ya usamos PostgreSQL, pero nuestro repositorio principal está en MySQL.

Para el punto donde estamos con Platzi en este momento PostgreSQL nos ofrece características más interesantes que nos permitirán optimizar ciertos procesos y facilitar el trabajo del equipo de Ingeniería. Adicionalmente tras la migración estaremos en mejor posición para obtener información sobre lo que está ocurriendo en la base de datos y de esa forma tomar mejores decisiones y de forma más rápida.

Los cambios difíciles duelen, pero son necesarios y es parte de crecer. Es más fácil no hacerlo y seguir ignorando los problemas, por eso muy pocos lo hacen. Haciendo las cosas fáciles nadie ha cambiado al mundo.

¿Por qué PostgreSQL?

En palabras de Anibal Rojas. VP de Engineering en Platzi.

MySQL es una excelente base de datos, y nos ha funcionado muy bien en Platzi, tiene un gran performance y rendimiento, sin embargo Platzi ha crecido y PostgreSQL nos ofrece características que nos van facilitar no solo el desarrollo de nuevos features sino a aprovechar los datos que tenemos almacenada para tomar mejores decisiones de negocio de forma más segura.

Entre las características más relevantes de PostgreSQL que nos llevaron a elegirla están:

  • Mejor soporte para expresar y almacenar lógica de negocios compleja
  • Soporte JSON para data no estructurada.
  • Mayor capacidad de introspección para entender qué está sucediendo dentro de la base de datos
  • Más facilidades para queries complejos que le permiten a los diferentes equipos de Platzi aprovecha los datos almacenados

¿Cómo se toma esta decisión en un equipo de ingeniería?

En este caso el proceso fue sencillo debido a que el equipo en general veía mucho potencial en migrar, y el equipo de DevOps se sentía muy a gusto con esta decisión. Las mejoras tanto desde el punto de vista operaciones como de desarrollo compensaban ampliamente el trabajo de migración.

backends.jpg

¿Cómo ha sido el proceso técnicamente?

Las dos Bases de Datos ya están en línea. Esto lo logramos usando una herramienta de AWS (Amazon Web Services) llamada AWS Database Migration Service, que hace una migración de la información que entra en MySQL y actualiza en tiempo real en PostgreSQL

Platzi está construido de forma de que es agnóstico con la base de datos, es decir se han seguido buenas prácticas que nos permite movernos sin tener un Lock-in a una base de datos determinada.

Aunque AWS DMS tiene algunas limitaciones… Por ejemplo: Los Booleanos, se manejan diferentes entre MySQL y PostgreSQL, y para esto el equipo de desarrollo en Platzi debe hacer procesamientos separados para que la información quede adecuadamente procesada. También los sequences tuvieron que ser ajustados y algunos otros detalles, pero en general el proceso fue bastante directo.

El proceso comenzó hace meses con experimentos de migración y evaluación de herramientas y en las últimas semanas hemos logrado la migración exitosa usando AWS DMS, ahora solo queda hacer el cambio definitivo que sucederá la madrugada del Jueves.

¿Entonces MySQL es malo?

No, MySQL no es mala opción.

Cabe aclarar que no es que MySQL no funcione, simplemente estamos en un punto en el que necesitamos características distintas para facilitar nuestro crecimiento.

Si estás comenzando en el mundo de las Bases de Datos MySQL te provee todo lo necesario para sea más fácil arrancar.


Para nuestros queridos estudiantes: Gracias por acompañarnos en este crecimiento, no te rindas que nosotros no lo hacemos. Recuerda que este Jueves entre 12:00 am y 1:00 am (GMT-5 MEX-COL) estaremos Off para seguir construyendo la mejor plataforma de educación del mundo.

Curso de Fundamentos de Bases de Datos 2019

Take the first classes for free

SHARE THIS ARTICLE AND SHOW WHAT YOU LEARNED

0 Comments

to write your comment

Related articles