技術情報

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を有効にすることで、内部ガベージ・コレクションが長時間実行されるアーカイブ・クエリによってブロックされる場合に発生するパージ・ラグを防ぐことができます。この設定はリーダーデータベースを設定した場合にのみ適用されます。