データ削除の構成
Notification Services アプリケーションは、実行時に、イベント、通知、ディストリビューション テーブルに加え、Notification Services コンポーネントが操作を調整するために使用する制御テーブルのデータを蓄積します。アプリケーション データベースからこのデータが削除されない場合、データベースが非常に大きくなり、アプリケーションのパフォーマンス低下の原因となる場合があります。この状況を回避するために、Vacuumer 処理と呼ばれる自動データ削除処理を構成できます。
データ削除処理
Notification Services データ削除処理は、Vacuumer と呼ばれます。Vacuumer は、古いイベント、通知、バッチ ヘッダーのデータをアプリケーション データベースの以下のテーブルから削除します。
- NSQuantum1
- NSRuleFirings1
- NSEventClassNameEventBatches
- NSEventClassNameEvents
- NSNotificationClassNameNotificationBatches
- NSNotificationClassNameNotifications
- NSDistributorWorkItems
- NSDistributionLog
処理済みのイベント バッチや、送信済み、有効期限切れ、または失敗した通知のうち、これ以上の配信の実行がスケジュールされていない通知データのみシステムから削除されます。
Vacuumer は、各テーブルのレコードの最大数に基づいて一度に削除するレコードの数を制限します。これによって、各データ削除の間隔が制限され、Vacuumer はシステム リソースやアプリケーションの処理時間に過度に負担をかけることなく実行されます。
重要 : |
---|
データ削除処理によって、大量のデータベース システム リソースが消費されます。データ削除処理は、システムの使用率が低い期間にのみ実行してください。 |
保有期間
Vacuumer を構成するときに、イベントと通知データの保有期間を指定します。Vacuumer は、起動すると、データベース サーバーのシステム クロックを読み取って、保有期間に達しているすべてのデータを識別します。
保有期間を指定するときに、イベントと通知データの保持期間を決定する必要があります。データ削除ではディストリビューション ログからもデータが削除されるため、データが保有期間よりも古くなる前にデータに必要な操作を実行する必要があります。
既定の保有期間は 7 日間です。
スケジュール
Vacuumer を構成するときに、Vacuumer の実行スケジュールも指定します。スケジュールには、複数の開始時刻と複数の実行時間を含めることができます。
- UTC (協定世界時またはグリニッジ標準時) で表される開始時刻は、Vacuumer を実行する時刻を指定します。
- 実行時間は、Vacuumer を実行する期間を指定します。既定の実行時間は 6 時間、つまり次の開始時刻までです。
重要 : |
---|
既定のデータ削除スケジュールはありません。データ削除スケジュールを指定しない場合、Notification Services はアプリケーション データベースから古いデータを削除しません。 |
Vacuumer は、処理を実行するかどうかを 1 分に 1 回、確認します。このため、指定された開始時刻と実際の開始時刻に最大 1 分の時間差が生じる場合があります。
Vacuumer は、作業単位を完了するたびに、システム クロックを調べて、実行時間を超えていないかどうかを確認します。また、関連するアプリケーションが無効になっていないかどうか、データベースを調べます。いずれかの状況が発生した場合、Vacuumer は実行を停止し、イベント ログにメッセージを記録した後、次に予定されている Vacuumer 処理の時刻まで休止します。
Vacuumer 処理のスケジュールを決定する場合は、アプリケーションとデータベース サーバーの使用率が低い時間を選択することを推奨します。使用率が低い時間帯がない場合は、データ削除処理を頻繁に行って、各 Vacuumer 処理の期間で削除するデータの量を少なくすると、アプリケーションのパフォーマンスへの影響を最小限に抑えることができます。
データ削除処理を構成するには
XML でアプリケーションを定義している場合は、アプリケーション定義ファイル (ADF) でデータ削除を構成します。プログラムでアプリケーションを定義している場合は、Notification Services 管理オブジェクト (NMO) を使用して、データ削除を構成します。
- Vacuum 要素 (ADF)
- VacuumRetentionAge プロパティ (NMO)
- VacuumSchedules プロパティ (NMO)
参照
概念
アプリケーションの実行設定の指定
古いアプリケーション データの削除