El uso de diferentes versiones de bases de datos para diferentes sitios en una red multisitio generalmente no es compatible y es técnicamente complejo. En una arquitectura de red multisitio típica, todos los sitios comparten la misma base de datos y la misma versión del sistema de gestión de la base de datos (DBMS). Aquí hay una extensa exploración de este tema que aborda el concepto, las implicaciones y las alternativas relacionadas con el uso de diferentes versiones de bases de datos en una configuración multisitio.
Comprender la estructura de la base de datos de redes multisitio
Una red multisitio, como un Multisite de WordPress, utiliza una sola instancia de base de datos para almacenar datos para múltiples sitios. La base de datos contiene tablas de red Core que se aplican a toda la red y separa los datos de cada sitio en tablas distintas utilizando prefijos únicos. Los sitios no tienen sus propias bases de datos separadas; En cambio, comparten el mismo servidor e instancia de la base de datos, pero con diferentes tablas o conjuntos de tabla que corresponden a sitios individuales.
Esto significa que el sistema de base de datos subyacente (MySQL, MariadB u otra versión compatible de RDBMS) debe ser uniforme en toda la red multisitio porque todos los sitios están conectados a la misma instancia de base de datos. La versión DBMS controla las características, el rendimiento y la compatibilidad de la base de datos para todos los datos almacenados. No es posible que algunos sitios usen una versión de base de datos más nueva o diferente, mientras que otros usan una versión anterior si residen en el mismo servidor de base de datos.
Restricciones técnicas
- Instancia de base de datos única: una red multisitio utiliza una sola instancia de base de datos. Esto significa que solo hay una versión en ejecución del servidor de base de datos en todos los sitios.
- Compatibilidad del motor de la base de datos: la versión de base de datos rige las características del motor disponibles, los dialectos SQL y las optimizaciones de rendimiento. Mezclar diferentes versiones dentro de un esquema no es factible.
- Separación de prefijo de tabla: aunque los datos para cada sitio están separados por prefijos de tabla, todas las tablas residen dentro de la misma base de datos global. Esto significa que todas las tablas deben ser compatibles con la misma versión del motor de la base de datos.
- Versión de DBMS uniforme: toda la red multisitio se basa en una versión de DBMS uniforme en todos los ámbitos. Cualquier actualización o degradación afecta a todos los sitios simultáneamente.
¿Qué sucede si se requieren diferentes versiones de bases de datos?
Si diferentes sitios requieren diferentes versiones de DBMS, una configuración típica de múltiples sitios no puede cumplir esto sin doblar los principios de arquitectura. Este requisito puede surgir de:
- Problemas de compatibilidad con algunos complementos o temas que requieren funciones de base de datos más nuevas o anteriores.
- Los requisitos de ajuste o optimización de rendimiento que son mejor atendidos por una versión diferente.
- Buques o limitaciones específicas del motor de la base de datos.
Dado que la arquitectura multisitio se basa en una instancia de base de datos, la única forma real de acomodar diferentes versiones de base de datos para diferentes sitios sería dividirlas en redes separadas o instalaciones independientes, cada una con su propia instancia de servidor de base de datos que ejecuta la versión deseada.
Alternativas a diferentes versiones de bases de datos por sitio
Servidores de base de datos separados por sitio con instalaciones independientes de WordPress
En lugar de un Multisite, puede configurar diferentes sitios de forma independiente, cada uno con su propio servidor de base de datos que ejecuta la versión DBMS deseada para ese sitio. Esto ofrece una flexibilidad completa pero sacrificios:
- Gestión unificada
- Control centralizado de usuarios y complementos
- Facilidad de copias de seguridad en los sitios
- Temas y complementos compartidos
Este enfoque es mejor para cuando los sitios tienen requisitos técnicos y de seguridad muy diferentes.
múltiples bases de datos en el mismo servidor
A veces, varias bases de datos pueden residir en la misma instancia del servidor de base de datos con la misma versión. Esto no satisface la necesidad de diferentes versiones por sitio, pero permite la separación en términos de almacenamiento de datos.
Use multisitio pero con versión de DBMS uniforme
Si los sitios pueden operar bajo una sola versión de base de datos, Multisite sigue siendo una opción fuerte. Dentro de la red, los sitios tienen tablas separadas, pero todos comparten la misma versión del servidor de la base de datos y la configuración del núcleo.
Los detalles multisitio de WordPress
Las redes multisitio de WordPress crean tablas de nivel de red compartidas (por ejemplo, WP_USERS, WP_SITE, WP_BLOGS) y luego un conjunto de tablas específicas del sitio para cada sitio con un prefijo de sitio único (por ejemplo, wp_2_posts para el sitio 2). Todas las tablas residen en una base de datos, por lo que una sola versión de base de datos sirve a toda la red. El núcleo, los complementos y los temas de WordPress asumen un entorno de base de datos consistente.
Riesgos potenciales de tratar de usar diferentes versiones
Intentar o simular una versión diferente de una base de datos para sitios en la misma red multisitio podría causar:
- Corrupción de datos Si ciertas consultas SQL se basan en características que no están disponibles en algunas versiones.
- Incompatibilidad o falla del complemento debido a los desajustes de características DBMS.
- Complejidades en copias de seguridad y migraciones.
- Inestabilidad general del entorno multisitio.
Consideraciones de seguridad y rendimiento
Una versión de base de datos unificada beneficia a los parches de seguridad en toda la red y mejoras de rendimiento. Intentar mantener versiones de bases de datos divergentes requeriría múltiples servidores de bases de datos, aumentando la complejidad y el costo.
Resumen
- Las redes multisitio comparten una base de datos y una versión DBMS.
- Diferentes sitios dentro de un Multisite no pueden usar diferentes versiones de bases de datos.
- Las versiones de bases de datos separadas por sitio requieren sitios o redes separadas con bases de datos independientes.
- Beneficios multisitio de la versión de la versión de la base de datos Uniformidad para la estabilidad, la seguridad y la gestión.
- Para diferentes requisitos de base de datos, las instalaciones independientes con instancias DBMS separadas son la mejor solución.