マルチサイトネットワーク内のさまざまなサイトに異なるデータベースバージョンを使用することは、一般にサポートされておらず、技術的に複雑です。典型的なマルチサイトネットワークアーキテクチャでは、すべてのサイトが同じデータベースと同じバージョンのデータベース管理システム(DBMS)を共有しています。マルチサイトセットアップでさまざまなデータベースバージョンを使用することに関連する概念、意味、および代替案に対処するこのトピックの広範な調査を以下に示します。
###マルチサイトネットワークデータベース構造の理解
WordPress Multisiteなどのマルチサイトネットワークは、単一のデータベースインスタンスを使用して、複数のサイトのデータを保存します。データベースには、ネットワーク全体に適用されるコアネットワークテーブルがあり、各サイトのデータを一意のプレフィックスを使用して個別のテーブルに分離します。サイトには独自の個別のデータベースがありません。代わりに、同じデータベースサーバーとインスタンスを共有しますが、個々のサイトに対応する異なるテーブルまたはテーブルセットを使用します。
これは、すべてのサイトが同じデータベースインスタンスに接続されているため、基礎となるデータベースシステム(MySQL、MariaDB、またはその他のサポートされているRDBMS)バージョンがマルチサイトネットワーク全体で均一でなければならないことを意味します。 DBMSバージョンは、すべての保存されたデータのデータベースの機能、パフォーマンス、および互換性を制御します。一部のサイトでは、新しいまたは異なるデータベースバージョンを使用することはできませんが、同じデータベースサーバーに住んでいる場合、古いバージョンを使用するサイトもあります。
###技術的な制約
- 単一のデータベースインスタンス:マルチサイトネットワークは、単一のデータベースインスタンスを使用します。これは、すべてのサイトにデータベースサーバーの実行バージョンが1つしかないことを意味します。
- データベースエンジンの互換性:データベースバージョンは、利用可能なエンジン機能、SQL方言、パフォーマンスの最適化を管理します。 1つのスキーマ内で異なるバージョンを混合することは実行不可能です。
- テーブルプレフィックス分離:各サイトのデータはテーブルプレフィックスで区切られていますが、テーブルはすべて同じグローバルデータベース内にあります。これは、すべてのテーブルがデータベースエンジンと同じバージョンと互換性がある必要があることを意味します。
- 均一なDBMSバージョン:マルチサイトネットワーク全体は、全面的に均一なDBMSバージョンに依存しています。更新またはダウングレードは、すべてのサイトに同時に影響します。
###別のデータベースバージョンが必要な場合はどうなりますか?
さまざまなサイトで異なるDBMSバージョンが必要な場合、アーキテクチャの原則を曲げることなく、典型的なマルチサイトセットアップはこれを満たすことができません。この要件は次のとおりです。
- 新しいまたは古いデータベース機能を必要とするいくつかのプラグインまたはテーマの互換性の問題。
- 別のバージョンでより適切に対応するパフォーマンスチューニングまたは最適化要件。
- データベースエンジン固有のバグまたは制限。
マルチサイトアーキテクチャは1つのデータベースインスタンスに依存しているため、さまざまなサイトのさまざまなデータベースバージョンに対応する唯一の実際の方法は、それらを個別のネットワークまたは個別のスタンドアロンインストールに分割することです。
###サイトごとのさまざまなデータベースバージョンに代わるもの
####独立したWordPressインストールを備えたサイトごとに個別のデータベースサーバー
マルチサイトの代わりに、それぞれがそのサイトの目的のDBMSバージョンを実行している独自のデータベースサーバーを使用して、異なるサイトを個別にセットアップできます。これは完全な柔軟性を提供しますが、犠牲を払ってください。
- 統一された管理
- 集中ユーザーとプラグインコントロール
- サイト間のバックアップの容易さ
- 共有テーマとプラグイン
このアプローチは、サイトの技術的要件とセキュリティ要件が非常に異なる場合に最適です。
####同じサーバー上の複数のデータベース
複数のデータベースが同じバージョンで同じデータベースサーバーインスタンスに存在する場合があります。これは、サイトごとに異なるバージョンの必要性を満たすことはありませんが、データストレージの観点から分離を可能にします。
Multisiteを使用しますが、均一なDBMSバージョンを使用します
サイトが単一のデータベースバージョンで動作できる場合、Multisiteは引き続き強力なオプションです。ネットワーク内では、サイトには個別のテーブルがありますが、すべて同じデータベースサーバーバージョンとコアセットアップを共有しています。
WordPressマルチサイトの詳細
WordPressマルチサイトネットワークは、共有ネットワークレベルのテーブル(wp_users、wp_site、wp_blogsなど)を作成し、各サイトプレフィックス(サイト2のwp_2_postsなど)を持つ各サイトのサイト固有のテーブルのセットを作成します。すべてのテーブルは1つのデータベースに存在するため、単一のデータベースバージョンがネットワーク全体を提供します。 WordPressコア、プラグイン、およびテーマは、一貫したデータベース環境を想定しています。
###さまざまなバージョンを使用しようとする潜在的なリスク
同じマルチサイトネットワーク内のサイトのデータベースの異なるバージョンを試みるかシミュレートする可能性があります。
- 特定のSQLクエリが一部のバージョンでは利用できない機能に依存している場合、データの破損。
- DBMSが機能するためのプラグインの非互換性または障害。
- バックアップと移行の複雑さ。
- マルチサイト環境の全体的な不安定性。
###セキュリティとパフォーマンスの考慮事項
統一されたデータベースバージョンは、ネットワーク全体のセキュリティパッチとパフォーマンスの改善に役立ちます。 Divergent Databaseバージョンを維持しようとするには、複数のデータベースサーバーが必要になり、複雑さとコストが増加します。
### まとめ
-Multisiteネットワークは、1つのデータベースと1つのDBMSバージョンを共有します。
- マルチサイト内の異なるサイトでは、異なるデータベースバージョンを使用できません。
- サイトごとの個別のデータベースバージョンには、独立したデータベースを備えた個別のサイトまたはネットワークが必要です。
- データベースバージョンのマルチサイトの利点は、安定性、セキュリティ、および管理のための均一性です。
- 異なるデータベース要件の場合、個別のDBMSインスタンスを使用した独立したインストールが最良のソリューションです。