Matomoで2つのデータベース(ReaderとWriter)を設定する方法を教えてください。
config/config.ini.phpで設定ファイルを編集し、以下のようにリーダーを設定することで、Matomoでリーダーデータベースを設定することができます。:
[database_reader]
host = example.host
username = example_user
password = example_password
dbname = example_db_name
port = 3306
aurora_readonly_read_committed = 0
これを機能させるには、まずMySQLまたはMariaDBデータベースでデータベースのレプリケーションをセットアップする必要がある。
リーダーでのレプリケーションの遅れや遅延が最小限であることを確認できる場合にのみ、リーダーを構成することをお勧めします。そうしないと、レポートに破損したデータや古いデータが含まれる可能性があります。
設定されていれば、以下のクエリーはライター(マスター)ではなくリーダー(スレーブ)で実行される:
- ログテーブルにヒットしたクエリのアーカイブ
- ログテーブルにヒットするライブクエリ
リーダを設定し、新しいレポートを追加する(カスタムアーカイバを持つ)カスタムプラグインを使用している場合、これらのプラグインはリーダを使用する必要があります。Matomo / InnoCraftのプラグインは全て互換性があります。ほとんどのサードパーティプラグインも自動的に互換性があります。
Amazon Auroraを使用している場合、aurora_read_only_read_committedを有効にすることで、内部ガベージ・コレクションが長時間実行されるアーカイブ・クエリによってブロックされる場合に発生するパージ・ラグを防ぐことができます。この設定はリーダーデータベースを設定した場合にのみ適用されます。