¿Conoces el “plugin” HyperDB?

Hace algunos días estuvimos estudiando el caso de un cliente donde surgió la necesidad de dividir las operaciones de base de datos, de manera que la web app WordPress realice las operaciones de escritura en una Base de datos y las de lectura en otra, previamente configurada como réplica de solo lectura.

Esto es una funcionalidad nativa de MySQL, mas no de WordPress.

En la búsqueda de una solución efectiva, nos encontramos con HyperDB, esta estupenda solución escrita por Automattic (los mismos dueños y desarrolladores de WordPress), permite configurar WordPress para trabajar con Bases de Datos de la siguiente forma:

  1. Permite hacer réplicas múltiples y separación de lecturas y escrituras en distintas Bases de datos.
  2. Permite hacer el particionamiento de la Base de datos: Las tablas son colocadas en distintos servidores y mapeadas de manera tal que las operaciones de Base de datos no se realicen en una sola máquina, lo cual tiene como resultado un mejor rendimiento.
  3. Permite también hacer un balanceo de carga de la Base de datos.

¿Qué es HyperDB?

Es importante aclarar que, aunque está listado como un plugin, NO lo es. Se trata de un Codex o CLASE para el manejo de Bases de datos, por lo tanto, tiene estas características particulares a las que debes estar muy atento:

  1. NO se instala como un plugin (aunque puedes hacerlo, pero con eso afectarías el funcionamiento correcto de tu sitio web).
  2. Se instala manualmente copiando los dos archivos que incluye en el paquete de descarga a lugares distintos de la estructura de archivos de tu sitio web.
  3. NO importa que aparezca como abandonado en el directorio de plugins porque realmente NO es un plugin, así que no pasa nada.

Los resultados de su uso

Realizamos una prueba en AWS con una réplica de solo lectura, configurando para que WordPress solo escriba en la Base de datos principal y lea de la réplica de solo lectura y los cambios de rendimiento fueron más que impresionantes.

Además, pudimos configurar la opción de failover (cambio de Base de datos en caso de que ocurra algún fallo de la principal) y todo funcionó como se promete.

Podemos concluir que esta utilidad de WordPress es de una gran ayuda para quienes necesiten dividir las operaciones de su base de datos, así que recomendamos su uso e instalación. Pueden descargarlo haciendo click en el siguiente enlace:

https://wordpress.org/plugins/hyperdb/#installation

¿Qué te parece esta funcionalidad de WordPress? ¿Has tenido la necesidad de dividir las operaciones de la Base de Datos de tu Sitio web? Si encontraste alguna otra solución, nos la puedes recomendar por acá en los comentarios.

Si quieres más información sobre nuestros planes y servicios diseñados para personas talentosas como tú, puedes contactarte con nosotros o dejarnos tu comentario en la parte de abajo de este post.

Imagen de 27707 vía Pixabay.com bajo licencia creative commons.