O uso de diferentes versões de banco de dados para sites diferentes em uma rede multisite geralmente não é suportado e é tecnicamente complexo. Em uma arquitetura de rede multisite típica, todos os sites compartilham o mesmo banco de dados e a mesma versão do sistema de gerenciamento de banco de dados (DBMS). Aqui está uma extensa exploração deste tópico que aborda o conceito, implicações e alternativas relacionadas ao uso de diferentes versões de banco de dados em uma configuração de vários mits.
Entendendo a estrutura do banco de dados de rede multisita
Uma rede multisite, como um multisite do WordPress, usa uma única instância de banco de dados para armazenar dados para vários sites. O banco de dados contém tabelas de rede principais que se aplicam a toda a rede e separa os dados de cada site em tabelas distintas usando prefixos exclusivos. Os sites não têm seus próprios bancos de dados separados; Em vez disso, eles compartilham o mesmo servidor e instância do banco de dados, mas com diferentes tabelas ou conjuntos de tabela que correspondem a sites individuais.
Isso significa que o sistema de banco de dados subjacente (a versão MYSQL, MARIADB ou outra RDBMS suportada) deve ser uniforme em toda a rede multissite, porque todos os sites estão conectados à mesma instância do banco de dados. A versão DBMS controla os recursos, desempenho e compatibilidade do banco de dados para todos os dados armazenados. Não é possível que alguns sites usem uma versão mais nova ou diferente do banco de dados, enquanto outros usam uma versão mais antiga se residirem no mesmo servidor de banco de dados.
Restrições técnicas
- Instância única do banco de dados: uma rede multisite usa uma única instância de banco de dados. Isso significa que existe apenas uma versão em execução do servidor de banco de dados em todos os sites.
- Compatibilidade do mecanismo de banco de dados: a versão do banco de dados governa os recursos disponíveis do mecanismo, dialetos SQL e otimizações de desempenho. Misturar versões diferentes em um esquema não é viável.
- Separação do prefixo da tabela: embora os dados para cada site sejam separados por prefixos da tabela, todas as tabelas residem no mesmo banco de dados global. Isso significa que todas as tabelas devem ser compatíveis com a mesma versão do mecanismo de banco de dados.
- Versão DBMS uniforme: toda a rede multisite depende de uma versão uniforme do DBMS em geral. Qualquer atualização ou rebaixamento afeta todos os sites simultaneamente.
O que acontece se forem necessárias versões de banco de dados diferentes?
Se sites diferentes exigirem versões DBMS diferentes, uma configuração típica de multissite não pode cumprir isso sem os princípios da arquitetura de flexão. Este requisito pode surgir de:
- Problemas de compatibilidade com alguns plugins ou temas que exigem recursos de banco de dados mais novos ou mais antigos.
- Requisitos de ajuste ou otimização de desempenho que são melhor atendidos por uma versão diferente.
- Bugs ou limitações específicas do mecanismo de banco de dados.
Como a arquitetura multisite depende de uma instância do banco de dados, a única maneira real de acomodar diferentes versões de banco de dados para diferentes sites seria dividi -las em redes separadas ou instalações independentes separadas, cada uma com sua própria instância do servidor de banco de dados executando a versão desejada.
alternativas para diferentes versões de banco de dados por site
Sevidores de banco de dados separados por site com instalações independentes do WordPress
Em vez de um multisite, você pode configurar sites diferentes de forma independente, cada um com seu próprio servidor de banco de dados executando a versão DBMS desejada para esse site. Isso oferece total flexibilidade, mas sacrifícios:
- Gerenciamento unificado
- Controle centralizado de usuário e plug -in
- Facilidade de backups em sites
- Temas e plugins compartilhados
Essa abordagem é melhor para quando os sites têm requisitos técnicos e de segurança muito diferentes.
Múltiplos bancos de dados no mesmo servidor
Às vezes, vários bancos de dados podem residir na mesma instância do servidor de banco de dados com a mesma versão. Isso não satisfaz a necessidade de versões diferentes por site, mas permite a separação em termos de armazenamento de dados.
Use multisite, mas com versão uniforme do DBMS
Se os sites puderem operar em uma única versão de banco de dados, o Multisite permanecerá uma opção forte. Dentro da rede, os sites têm tabelas separadas, mas todas compartilham a mesma versão do servidor de banco de dados e configuração principal.
WordPress Multisite Decls
As redes multisite do WordPress criam tabelas de nível de rede compartilhadas (por exemplo, WP_USERS, WP_SITE, WP_BLOGS) e, em seguida, um conjunto de tabelas específicas do site para cada site com um prefixo de site exclusivo (por exemplo, WP_2_Posts para o site 2). Todas as tabelas residem em um banco de dados, portanto, uma única versão do banco de dados serve toda a rede. O núcleo do WordPress, os plugins e os temas assumem um ambiente de banco de dados consistente.
riscos potenciais de tentar usar versões diferentes
Tentar ou simular uma versão diferente de um banco de dados para sites na mesma rede de vários mits pode causar:
- Corrupção de dados se certas consultas SQL dependem de recursos indisponíveis em algumas versões.
- Incompatibilidade ou falha do plug -in devido a DBMs de incompatibilidades.
- Complexidades em backups e migrações.
- Instabilidade geral do ambiente multisite.
Considerações de segurança e desempenho
Uma versão do banco de dados unificada beneficia patches de segurança em toda a rede e melhorias de desempenho. Tentar manter as versões divergentes do banco de dados exigiria vários servidores de banco de dados, aumentando a complexidade e o custo.
Resumo
- As redes multisite compartilham um banco de dados e uma versão DBMS.
- Diferentes sites dentro de um multisite não podem usar diferentes versões de banco de dados.
- Versões separadas de banco de dados por site exigem sites ou redes separadas com bancos de dados independentes.
- Benefícios multissite da uniformidade da versão do banco de dados para estabilidade, segurança e gerenciamento.
- Para requisitos de banco de dados diferentes, as instalações independentes com instâncias DBMS separadas são a melhor solução.