Adobe Campaignには、特定のデータベースメンテナンスタスクをスケジュールできる組み込みのワークフローが用意されています。の データベースクリーンアップワークフロー. このワークフローは、次のタスクを実行します。
クリーンアップタスクの処理は、RDBMS レベルのメンテナンス(統計の更新を除く)ではなく、アプリケーションレベルのメンテナンスが主に行われることに注意してください。 ただし、データベースのメンテナンス操作は必要です。 データベースクリーンアップワークフローが正常に実行された場合でも、データベースが最適に調整されているわけではありません。
データベースクリーンアップワークフローには、次のデータベースメンテナンスツールは含まれていません。メンテナンスを整理するかどうかは、お客様次第です。 これをおこなうには、次のいずれかを実行します。
これらのメンテナンス手順は、定期的に実行する必要があり、次の手順を含める必要があります。
これらのメンテナンス作業を実行するための適切なスロットを見つける必要があります。 実行中にデータベースのパフォーマンスに大きな影響を与えたり、(ロックによって)アプリケーションをブロックする場合もあります。
これらのタスクは通常、バックアップ、データの再読み込み、集計の計算と衝突しない低アクティビティの期間中に週に 1 回実行されます。 高い望みを持つシステムの中には、より頻繁なメンテナンスが必要なものもあります。
フルテーブルの再構築など、より詳細なメンテナンスは、月に 1 回実行でき、望ましくは、システムが使用できないため、アプリケーションを完全に停止した状態で実行できます。
いくつかの戦略を使用できます。
運用 | 説明 | 利点 | 欠点 |
---|---|---|---|
オンラインでの最適化 |
ほとんどのデータベースエンジンは最適化方法を提供します。 |
単に、データベースの最適化方法を使用します。 これらの方法では、通常、最適化中にデータをロックすることで、整合性の問題を処理します。 |
データベースによっては、これらの最適化方法は RDBMS オプション (Oracle) として提供され、必ずしも大きなテーブルを処理する最も効率的な方法ではありません。 |
ダンプと復元 |
テーブルをファイルにダンプし、データベース内のテーブルを削除して、ダンプから復元します。 |
これは、テーブルを最適化する最も簡単な方法です。 また、データベースがほぼいっぱいの場合の唯一の解決策です。 |
テーブルは削除され、再作成されるので、読み取り専用モードでも、アプリケーションをオンラインのままにすることはできません(このテーブルは復元フェーズでは使用できません)。 |
複製、名前変更、ドロップ |
これにより、テーブルとそのインデックスのコピーが作成され、既存のコピーを削除し、そのコピーに代わる名前を変更します。 |
この方法は、IO の生成数が少ない(ファイルとしてのコピーはなく、このファイルから読み取る)ので、最初の方法よりも高速です。 |
2 倍の容量が必要です。 プロセス中にテーブルに書き込むすべてのアクティブなプロセスを停止する必要があります。 ただし、テーブルは再構築後に最後の時点でスワップされるので、読み取りプロセスには影響しません。 |