技術情報

データベースのサイズを管理する

Matomo(Piwik)はどのような環境でも実行できるように設計されています。データベースの容量に関係なく、Matomoは動作します。実際、Matomoは、どのデータを保持し、どのデータを削除するかを正確に選択する権限を与えます。

この機能はプライバシー > データを匿名化管理ページの古い訪問者ログを削除古いレポートの削除セクションで利用可能です。

ここでは、訪問者ログ(訪問者のアクションが追跡されるたびに記録されるデータ)を保持または削除するかどうか、および処理済みレポート(訪問者ログが分析されたときに作成されるデータ)を保持または削除するかどうかを選択できます。デフォルトでは、何も削除されません。

さらに、データベースがどれだけの容量を占めているかを確認し、次回のパージ後にデータベースがどれだけの容量になるかの見積もりを得ることもできます:

これらのツールを使うことで、容量の制限に関係なく、Matomoデータベースを管理しやすいサイズに保つことができます。

注:Matomoでは、データを削除することができますが、容量に制限がない場合はすべてのデータを保持すること強くお勧めします

古い未処理データの削除

Matomoが訪問、アクション、コンバージョンなどを追跡すると、そのアクションを示すデータがデータベースに保存されます。このデータは生の訪問情報であり、トレンドや分析情報を示すものではありません。このデータは、分析情報(レポートデータと呼ばれる)を作成するアーカイブプロセスで後で処理されます。

このデータが分析された後は、もう必要ないので、データベースの容量が限られている場合は、削除することをお勧めします。

これを設定するには、管理 > プライバシー >データを匿名化し、データベースから古い訪問者ログを定期的に削除するを有効にします。次に、パージされるログデータの古さを設定します。値を変更するたびに、新しいデータベース・サイズの見積もりが計算されるので、削除する必要があるデータの量を正確に把握することができます。

完了したらSaveをクリックし、プロンプトを読んでからYESをクリックします。

警告

レポートが処理された後は、このデータは必要ありませんが、訪問者ログを使用して古い訪問を表示したい場合やレポートの再処理したい場合は必要です。そうしたい理由はいくつかある:

  • Matomoのバグが一部のレポートに影響していて、その影響を受けていない古いレポートを見たい。
  • Matomoの新バージョンに新しいレポートが追加され、古いデータのレポートを見たい。
  • 古い訪問にジオロケーションを適用したい。

古いレポートの削除

Matomoはトラッキングされたデータを分析する際、分析結果をデータベースに保存するので、レポートを見るたびに分析を実行する必要はありません。この保存されたデータはレポートと呼びます。

何らかの理由で古い訪問データを分析する必要がない、または分析したい場合、あるいは通常はこの古いデータを見ない場合は、データベースの容量を節約するために削除することができます。

これを設定するには、管理 > プライバシー > データを匿名化 >古い集計レポートデータを削除と進み、データベースから古いレポートを定期的に削除するを有効にします。そして、不要なレポート/メトリクスでと必要なレポート/メトリクスを決定します。

すべてのレポートとメトリックスを削除するか、一部だけを削除するかを選択できます。これらのオプションを変更するたびに、新しいデータベース・サイズの見積もりが計算されるので、どれだけの容量を節約できるかを確認できます。

完了したらSaveをクリックし、プロンプトを読んでからYESをクリックします。

後で削除したレポートを見たい場合、レポートを再処理することができます。

警告

古いレポートを削除するということは、長期的な傾向を見ることができなくなるということです。

さらに、古いログデータも削除すると、レポートの再処理ができなくなります。レポートデータが永久に失われることになります!未処理のデータおよびレポートを削除する前に、慎重にご検討ください。

手動でデータ・パージをトリガーする

データのパージは定期的に行われます。パージまでの待ち時間は画面上で決めることができます:

しかし、すぐにパージを実行する必要があるかもしれません。その場合は、リンクをクリックしてください:

クリックするとパージが開始されます。パージが完了すると、新しいデータベースサイズの見積もりが表示されます。

注:データのパージには長い時間がかかります。

コンソール・コマンドを使ったデータベースのパージと最適化

また、2つのコマンドを実行することで、古いアーカイブされたレポートを強制的にパージし、データベーステーブルを強制的に最適化することができます。以下の2つのコンソールコマンドをMatomoディレクトリで実行することができます:

./console core:purge-old-archive-data all
./console database:optimize-archive-tables all

この2つのコマンドは
1. データベース内の古くなったレポート、削除マークが付けられたレポート、古い日付のカスタム範囲のレポート、無効レポートを削除します。
2. データベース内のすべてのMatomoテーブルに対してOPTIMIZE TABLEを実行し、ディスク使用量を削除します。

core:purge-old-archive-dataは自動的に全てのレポート・テーブルに対して最適化クエリを実行するので、すでにpurgeコマンドを実行している場合は、手動でdatabase:optimize-archive-tablesを実行する必要はありません。

実行時間を短縮するために、スクリプトを実行する特定の期間を選択できます。つまり、レポートデータが変更されている可能性が高い最近の月だけを対象とすることができます。年次レポートのデータは該当年の1月のアーカイブに保存されるため、定期的に最適化することをお勧めします。

./console database:optimize-archive-tables last2
./console database:optimize-archive-tables january

上記の2つのコマンドをcronjobとして設定し、毎月1回実行することをお勧めします。

Matomoデータベースサイズの使用状況に関するレポートの表示

MatomoのMySQLデータベースのディスク使用状況を詳細に把握するために、MatomoプラットフォームにデフォルトでバンドルされているDBStatsというプラグインを開発しました。データベースの使用状況レポートを表示するには、Matomo> 管理 > プラグイン でプラグイン DBStats を有効化する必要があります。データベース使用状況レポートの作成には数時間かかる場合があります。

データベースの使用状況には、Matomoデータベースについて知っておくべきすべての情報が含まれており、データベースのサイズを管理する方法をより良く理解するのに非常に役立ちます。例えば、Rawログデータの保存と集計レポートデータの保存に使用されるディスクの比率、テーブルごとのデータサイズ、プラグインごとのデータサイズ、レポートごとのデータサイズなどです。

データベースのサイズを管理しやすくするために必要なことは、これですべてお分かりいただけただろう!