Apigee Analytics Services のタスクの多くは、標準の Postgres ユーティリティを使用して実行できます。Analytics データベースで実行する日常的なメンテナンス タスク(VACUUM を使用したデータベースの再編成、再インデックス、ログファイルのメンテナンスなど)は、PostgreSQL データベースで実行するタスクと同じです。Postgres の定期的なメンテナンスについては、http://www.postgresql.org/docs/9.1/static/maintenance.html をご覧ください。
PostgreSQL データベースのメンテナンスの詳細については、http://www.postgresql.org/docs/9.1/static/maintenance.html をご覧ください。
アナリティクス データのプルーニング
Apigee リポジトリ内で利用可能な分析データの量が増えるにつれて、必要な保持期間を超えたデータを「プルーニング」することが望ましい場合があります。特定の組織や環境のデータをプルーニングするには、次のコマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge org_name env_name number_of_days_to_retain
スクリプトを実行するには、次のコマンドを入力します。
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge org_name env_name number_of_days_to_retain [Delete-from-parent-fact - N/Y] [Confirm-delete-from-parent-fact - N/Y]
スクリプトには次のオプションがあります。
Delete-from-parent-fact: デフォルトは「No」。親のファクト テーブルからは、保持期間より前のデータも削除されます。Skip-confirmation-prompt: デフォルトは「No」。「No」の場合、スクリプトでは、親ファクトからデータを削除する前に確認のプロンプトが表示されます。パージ スクリプトが自動実行される場合は「Yes」に設定します。
このコマンドは、「analytics」スキーマ内の「childfactables」テーブルを調査して、どの元データ パーティションがプルーニング対象のデータの日付に該当するかを特定し、該当するテーブルを除去します。テーブルが削除されると、それらのパーティションに関連する「childfactables」内のエントリが削除されます。
childfactables は、日単位でパーティション分割されたファクトデータです。毎日新しいパーティションが作成され、データが日別パーティション分割テーブルに取り込まれます。そのため、後で古いファクトデータが不要になったときに、それに対応する childfactables を削除できます。
バージョン 4.51.00.00 以降では、スクリプトには次のオプションがあります。
- Delete-from-parent-fact : デフォルトは「No」。親のファクト テーブルからは、保持期間より前のデータも削除されます。
- Confirm-delete-from-parent-fact. デフォルトは「No」。「No」の場合、スクリプトでは、親ファクトからデータを削除する前に確認のプロンプトが表示されます。パージ スクリプトが自動実行される場合は「Yes」に設定します。
サマリー表のデータを完全に削除する
通常、サマリー表はファクト テーブルほどスペースを消費しません。ただし、サマリー表から古いデータをパージする場合は、次のコマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql agg-data-purge org_name env_name days_to_retain [confirm_data_deletion-Y/N]
ここで、confirm_data_deletion は確認を求める省略可能なパラメータです。デフォルト値は N です。