Apigee Analytics Services タスクの多くは、標準の Postgres ユーティリティを使用して実施できます。アナリティクス データベースで行う定期メンテナンス タスク(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」。親のファクト テーブルからは、保持期間より前のデータも削除されます。
- Delete-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
です。