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
です。