Korzystanie z różnych wersji bazy danych dla różnych witryn w sieci multisite na ogół nie jest obsługiwane i jest technicznie złożone. W typowej architekturze sieci wielowarstwowej wszystkie witryny mają tę samą bazę danych i tę samą wersję systemu zarządzania bazą danych (DBMS). Oto szeroko zakrojona eksploracja tego tematu, który dotyczy koncepcji, implikacji i alternatywnych związanych z korzystaniem z różnych wersji bazy danych w konfiguracji wielu.
Zrozumienie struktury bazy danych multisite sieci
Sieć multisite, taka jak WordPress Multisite, używa pojedynczej instancji bazy danych do przechowywania danych dla wielu witryn. Baza danych zawiera podstawowe tabele sieciowe, które mają zastosowanie do całej sieci i oddziela dane każdej witryny na odrębne tabele przy użyciu unikalnych prefiksów. Witryny nie mają własnych oddzielnych baz danych; Zamiast tego udostępniają ten sam serwer i instancję bazy danych, ale z różnymi tabelami lub zestawami tabel odpowiadających poszczególnym witrynom.
Oznacza to, że podstawowy system bazy danych (MySQL, MARIADB lub inna obsługiwana wersja RDBMS) musi być jednolita w całej sieci wieloosobowej, ponieważ wszystkie witryny są podłączone do tej samej instancji bazy danych. Wersja DBMS kontroluje funkcje, wydajność i kompatybilność bazy danych dla wszystkich przechowywanych danych. Niektóre witryny nie mogą używać nowszej lub innej wersji bazy danych, podczas gdy inne używają starszej wersji, jeśli znajdują się na tym samym serwerze bazy danych.
Ograniczenia techniczne
- Instancja pojedynczej bazy danych: Sieć multisite korzysta z pojedynczej instancji bazy danych. Oznacza to, że jest tylko jedna uruchomiona wersja serwera bazy danych we wszystkich witrynach.
- Kompatybilność silnika bazy danych: wersja bazy danych reguluje dostępne funkcje silnika, dialekty SQL i optymalizacje wydajności. Mieszanie różnych wersji w jednym schemacie nie jest możliwe.
- Separacja prefiksów tabeli: Chociaż dane dla każdej witryny są oddzielone prefiksami tabeli, wszystkie tabele znajdują się w tej samej globalnej bazie danych. Oznacza to, że wszystkie tabele muszą być kompatybilne z tą samą wersją silnika bazy danych.
- Wersja jednolita DBMS: Cała sieć multisite opiera się na jednolitej wersji DBMS. Każda aktualizacja lub obniżka wpływa na wszystkie witryny jednocześnie.
Co się stanie, jeśli wymagane są różne wersje bazy danych?
Jeśli różne witryny wymagają różnych wersji DBMS, typowa konfiguracja wielomunikowa nie może tego spełnić bez zasad zginania architektury. Ten wymóg może wynikać z:
- Problemy z kompatybilnością z niektórymi wtyczkami lub motywami wymagającymi nowszych lub starszych funkcji bazy danych.
- Wymagania dotyczące strojenia lub optymalizacji, które lepiej obsługiwane przez inną wersję.
- Błędy lub ograniczenia specyficzne dla silnika bazy danych.
Ponieważ architektura wieloosobowa opiera się na jednej instancji bazy danych, jedynym prawdziwym sposobem dostosowania różnych wersji bazy danych dla różnych witryn byłoby podzielenie ich na osobne sieci lub oddzielne samodzielne instalacje, każda z własną instancją serwera bazy danych, która działa pożądana wersja.
Alternatywy dla różnych wersji bazy danych na stronę
Oddzielne serwery bazy danych na stronę z niezależnymi instalacjami WordPress
Zamiast multisite, możesz niezależnie skonfigurować różne witryny, każda z własnym serwerem bazy danych z pożądaną wersją DBMS dla tej witryny. Oferuje to pełną elastyczność, ale poświęca się:
- Zjednoczone zarządzanie
- Scentralizowana kontrola użytkownika i wtyczki
- Łatwość kopii zapasowych w witrynach
- Udostępnione motywy i wtyczki
Takie podejście jest najlepsze, gdy witryny mają bardzo różne wymagania techniczne i bezpieczeństwa.
Wiele baz danych na tym samym serwerze
Czasami wiele baz danych może znajdować się w tej samej instancji serwera bazy danych z tą samą wersją. Nie zaspokaja to potrzeby różnych wersji na witrynę, ale pozwala na rozdzielenie przechowywania danych.
Użyj multisite, ale z jednolitym wersją DBMS
Jeśli witryny mogą działać w ramach jednej wersji bazy danych, Multisite pozostaje silną opcją. W sieci witryny mają osobne tabele, ale wszystkie mają tę samą wersję serwera bazy danych i konfigurację podstawową.
WordPress Multisite Specyfice
Sieci WordPress Multisite tworzą wspólne tabele na poziomie sieci (np. WP_USERS, WP_SITE, WP_BLOGS), a następnie zestaw tabel specyficznych dla każdej strony z unikalnym prefiksem witryny (np. WP_2_POSTS dla strony 2). Wszystkie tabele znajdują się w jednej bazie danych, więc pojedyncza wersja bazy danych obsługuje całą sieć. Rdzeń, wtyczki i motywy WordPress zakładają spójne środowisko bazy danych.
Potencjalne ryzyko próby korzystania z różnych wersji
Próba lub symulacja innej wersji bazy danych dla witryn w tej samej sieci wielosmowej może spowodować:
- Corupcja danych Jeśli niektóre zapytania SQL opierają się na funkcjach niedostępnych w niektórych wersjach.
- Niezgodność wtyczki lub awaria z powodu niedopasowania funkcji DBMS.
- Złożoności w kopii zapasowych i migracji.
- Ogólna niestabilność środowiska wielosmowej.
względy bezpieczeństwa i wydajności
Ujednolicona wersja bazy danych korzysta z całej sieci łatek bezpieczeństwa i ulepszeń wydajności. Próba utrzymania rozbieżnych wersji bazy danych wymagałaby wielu serwerów bazy danych, zwiększając złożoność i koszty.
Streszczenie
- Sieci wieloosobowe udostępniają jedną bazę danych i jedną wersję DBMS.
- Różne witryny w multisite nie mogą korzystać z różnych wersji bazy danych.
- Oddzielne wersje bazy danych na stronę wymagają osobnych witryn lub sieci z niezależnymi bazami danych.
- Korzyści z jednolitości wersji bazy danych dla stabilności, bezpieczeństwa i zarządzania.
- W przypadku różnych wymagań bazy danych niezależne instalacje z osobnymi instancjami DBMS są najlepszym rozwiązaniem.