¿Qué versión de MySQL debo usar para MyRocks?

A medida que las huellas de las bases de datos continúan aumentando, muchas empresas buscan formas de lidiar con un crecimiento tan rápido. Un enfoque es refactorizar las bases de datos relacionales tradicionales para que encajen en un motor NoSQL, donde la escalabilidad horizontal es más fácil. Sin embargo, en muchos casos, esto no es de ninguna manera una empresa trivial.

Otro enfoque que ha ganado interés es el uso de MyRocks como un motor de almacenamiento alternativo al tradicional InnoDB. Si bien no es para todos, en algunos casos usarlo podría ser una posible solución. Al igual que con tantas cosas de código abierto, las siguientes preguntas estándar son: ¿qué versión debo usar? ¿Alguna diferencia con el motor si uso MyRocks con MySQL 5.7 vs 8.0?

En esta publicación, quería tocar este tema y dar algunos comentarios de alto nivel sobre MyRocks en lo que respecta a la versión de MySQL.

Resumen del motor

A un nivel alto, RocasDB es una base de datos de valores clave incrustados con datos almacenados en eje de fusión estructurado en tronco (LSM). MyRocks es una capa de abstracción que permite que RocksDB funcione como un motor de almacenamiento MySQL. Con RocksDB como la ruta de almacenamiento subyacente, existen numerosas ventajas que incluyen una replicación más rápida, una mejor compresión y una carga de datos más rápida.

Por el contrario, InnoDB es Árbol B estructura basada. MySQL fue diseñado con una arquitectura de complementos que separa la lógica del motor de almacenamiento de la funcionalidad del servidor principal. Esto permite a los usuarios elegir el motor de almacenamiento que desean según su caso de uso. Históricamente, este era el motor de almacenamiento MyISAM. En los últimos años, InnoDB reemplazó a MyISAM como estándar de facto y luego como motor predeterminado.

¿Qué motor es mejor?

La elección de qué motor utilizar depende de cada caso de uso específico. También en Facebook, donde estaba MyRocks desarrollado por primera vez, no pretendía ser un reemplazo universal de InnoDB. Funciones como bloqueo de espacio permanece ausente de MyRocks. Si una carga de trabajo depende del bloqueo de brechas, no funcionará con el motor MyRocks.

Además, los modelos de acceso a datos deberían dictar la elección del motor. Si la carga de trabajo requiere mucha escritura con escaneos de rango limitado, puede ser una buena opción para MyRocks. Si tiene una carga de trabajo OLTP tradicional con múltiples plantillas de acceso a informes, InnoDB sigue siendo una mejor opción. Como se menciona en MyRocks Engine: cosas que debe saber antes de comenzar:

«MyRocks no es un InnoDB reforzado, ni es un reemplazo único para InnoDB. Tiene sus propias ventajas y desventajas como InnoDB. Debe decidir qué motor usar en función de los patrones de acceso a datos de su aplicación».

¿Qué versión de MySQL debo usar?

Suponiendo que haya investigado y encontrado que MyRocks sería una buena opción, la siguiente opción es qué versión usar. Facebook administra MyRocks en un parche pesado, versión interna de MySQL 5.6. Percona Server para MySQL incluye MyRocks en 5.7 y 8.0. entonces cuales son las diferencias?

A un alto nivel, el código de MyRocks/RocksDB es esencialmente el mismo en las tres versiones. Percona Server para MySQL usa la versión anterior de RocksDB y solo cambia la versión vinculada cuando Facebook MySQL actualiza la versión. Esto se debe a que hereda la prueba de integración entre RocksDB y MyRocks de Facebook.

Como tal, las mayores diferencias se basan únicamente en la versión del servidor y no en la combinación de la versión del servidor y MyRocks. Si su infraestructura ya se ejecuta con MySQL 5.7 en producción y no está listo para completar un cambio a 8.0, no habría una diferencia perceptible en el motor MyRocks con su versión actual. MyRocks ejecutándose en Percona Server para MySQL 5.7 es estable y no debe descartarse como opción. También debe planear actualizar a 8.0, pero esto no debería ser un desafío único en el proceso en comparación con el uso de InnoDB. Todo lo que se necesita es el proceso de actualización estándar y pruebas significativas.

En el futuro (a medida que 5.7 se acerca a EOL en 2023), puede esperar ver menos mejoras con MyRocks en Percona Server para MySQL 5.7. La mayor parte del nuevo desarrollo activo se realizará en 8.0, mientras que 5.7 se mantendrá principalmente con soporte extendido, que incluye solo correcciones de errores críticos y correcciones de seguridad.

Conclusiones

Con toda la combinación de versiones y opciones, puede sobrevivir eligiendo la mejor opción para su organización. Para una nueva implementación, recomiendo comenzar con MyRocks en MySQL 8.0. Con una implementación existente de MySQL 5.7 (aunque debería estar trabajando activamente para actualizar a 8.0), MyRocks también es una opción viable y estable. El mayor impulsor de MyRocks debería ser la preocupación por el espacio combinada con la carga de trabajo. Tan justo como es decir que MyRocks es la bala de plata que funciona para todo, ese no es el caso. ¡Siempre puede comunicarse con el equipo de servicios profesionales en Percona y dejar que lo ayudemos a determinar si MyRocks sería una buena opción para su equipo!

Percona Distribution for MySQL es la solución MySQL de código abierto más completa, estable, escalable y segura disponible, que proporciona entornos de base de datos de nivel empresarial para sus aplicaciones comerciales más críticas… ¡y es de uso gratuito!

Descarga Percona Distribution para MySQL hoy

Author: Ing. Luis

A lo largo de conocer Windows y otros sistemas operativos me eh encontrado con diversos tipos de error, ahora brindo soluciones según mi experiencia-

Deja un comentario