Oracle ha anunciado recientemente la disponibilidad general de MySQL 8.2 , que incluye soporte para división de lectura/escritura (read/write splitting). Esta característica tan esperada se introdujo en la última versión de innovación (un equivalente a "release candidate"), que ayuda a optimizar el rendimiento y la escalabilidad de la base de datos.
Read-write splitting permite a las aplicaciones dirigir de forma transparente todo el tráfico de escritura a instancias de lectura-escritura (primarias/sources) y todo el tráfico de lectura a instancias de sólo lectura, dependiendo del tipo de instancia (InnoDB Cluster o Replica Cluster).
Frederic Descamps , administrador de la comunidad MySQL, explica:
"A gran escala, distribuimos las lecturas entre las réplicas, pero esto debe gestionarse de alguna manera en la aplicación: apuntando las escrituras a un lugar y las lecturas a otro lugar. Desde MySQL 8.2, MySQL Router ahora puede identificar las lecturas y escrituras, para luego enrutarlas a instancias primarias en el caso de un clúster InnoDB, o a una fuente de replicación asincrónica para las escrituras y a instancias secundarias o réplicas para las lecturas."
Puedes realizar tu mismo una simple PoC (proof of concept/prueba de concepto), utilizando mysql-operator:
](https://github.com/mysql/mysql-operator/tree/8.2.0-2.1.1/deploy?ref=sredevops.org)
Necesitarás desplegar los siguientes manifiestos:
kubectl apply -f "https://github.com/mysql/mysql-operator/blob/8.2.0-2.1.1/deploy/deploy-crds.yaml" # CRDs
kubectl apply -f "https://github.com/mysql/mysql-operator/blob/8.2.0-2.1.1/deploy/deploy-operator.yaml" # Operator
kubectl apply -f "https://github.com/mysql/mysql-operator/blob/8.2.0-2.1.1/samples/sample-secret.yaml" # Secret (recomendado editar)
kubectl apply -f "https://github.com/mysql/mysql-operator/blob/8.2.0-2.1.1/samples/sample-cluster.yaml" # Cluster 3 instancias 1 router
Basado en: https://www.infoq.com/news/2023/11/mysql-read-write-splitting/
Lectura complementaria: https://lefred.be/content/mysql-8-2-read-write-splitting-a-what-cost/
Top comments (2)
Great update read/write splitting in MySQL 8.2 makes scaling much easier, especially in Kubernetes environments. With MySQL Router handling traffic automatically, it reduces application-level complexity and improves performance.
To run this efficiently in production, platforms like AccuWeb.Cloud provide scalable infrastructure and reliable uptime. This helps you deploy and manage database clusters smoothly while taking full advantage of modern MySQL features.
MySQL 8.2 makes it easier to manage databases in Kubernetes! With Transparent Read/Write Splitting, apps can run faster and more smoothly. This is great news for developers and businesses using MySQL.