すべてのプロダクト
Search
ドキュメントセンター

Data Management:履歴データクリーンアップ

最終更新日:Jan 07, 2026

テーブルのサイズが大きくなりクエリが遅くなったり、ストレージ容量が不足したりする場合、Data Management (DMS) の履歴データクリーンアップ機能を使用して古いデータを自動的に削除し、データベースのパフォーマンスを向上させ、安定性の問題を未然に防ぐことができます。

前提条件

  • データベースは MySQL である必要があります。

  • データベースインスタンスは、安定的な変更またはセキュリティコラボレーションのコントロールモードを使用する必要があります。コントロールモードの詳細については、コントロールモードをご参照ください。

操作手順

  1. DMS 5.0 コンソールにログインします。
  2. 上部のナビゲーションバーで、データベース開発 > データ変更 > 履歴データクリーンアップを選択します。

    説明

    DMS のシンプルモードでは、左上の 2023-01-28_15-57-17.png アイコンをクリックし、すべての機能 > データベース開発 > データ変更 > 履歴データクリーンアップを選択します。

  3. データ変更チケットの申請ページで、チケットのパラメーターを設定し、[送信] をクリックします。

    次の表に、一部のパラメーターを示します。

    パラメーター

    説明

    データベース

    変更権限を持つデータベースを選択します。読み取り専用またはテーブルレベルの権限のみでは、チケットを送信できません。詳細については、権限の表示をご参照ください。

    削除設定

    [テーブル名][時間フィールド][時間精度][保存期間 (日)][フィルター条件 (NULL 可能)] を入力します。システムはこれらの情報に基づいて、クリーンアップスクリプトを自動的に生成します。

    説明
    • 論理テーブルの場合は、論理テーブル名を入力します。

    • 保存期間は、データが自動的に削除されるタイミングを定義します。たとえば、保存期間を 7 日に設定すると、7 日より古いデータが削除されます。

    例:[テーブル名] が api_call_record_11、[時間フィールド] が gmt_create、[保存期間] が 7、[フィルター条件] が status = 1 or status=2 の場合、次の SQL 文が生成されます:DELETE FROM `api_call_record_11` WHERE `gmt_create` < SUBDATE(CURDATE(),INTERVAL 7 DAY) AND (status = 1 or status=2);

    スケジュール

    DMS はデータクリーンアップ中にテーブル全体をスキャンし、プライマリキーまたは NULL でない一意キーに基づいてバッチでデータを削除します。データベースのパフォーマンスへの影響を最小限に抑えるために、オフピーク時間に低い頻度で実行をスケジュールしてください。

    説明
    • 定期タスクの実際の実行時間は、スケジュールされた時間から最大 1 分ずれることがあります。

    • 定期実行の最小間隔は 1 時間です。デフォルトでは、タスクは毎日 02:00 に実行されます。

    ポリシー設定

    実行期間を指定できます。タスクは指定された期間実行された後、自動的に一時停止し、ピーク時間帯のサービスへの影響を回避します。

    • 終了時刻なしでタスクを実行

    • [終了時間を指定 (時間)]:実行期間を設定して、ダウンストリーム同期パイプライン (DTS や AnalyticDB など) のボトルネックが DMS のパフォーマンスに影響を与えるのを防ぎます。

    期間を指定した後、[定期的にテーブルを最適化] (最適化) を有効にできます。これはデフォルトで無効になっています。指定されたクリーンアップサイクル数の後に OPTIMIZE TABLE を実行します。デフォルトの間隔は 60 サイクルです。たとえば、間隔カウントを 60 に設定すると、システムは 60 回のクリーンアップごとに OPTIMIZE TABLE を実行します。

    説明
    • OPTIMIZE TABLE 機能は、RDS for MySQL および PolarDB for MySQL データベースでのみサポートされています。

    • OPTIMIZE TABLE 操作の期間は、ポリシー設定で指定された実行期間によって制限されます。OPTIMIZE TABLE 操作は、タスクの実行期間が終了すると停止します。

    ステークホルダーの変更

    指定された関係者は、チケットを表示し、共同で作業できます。管理者と DBA を除き、他のユーザーはアクセスできません。

  4. チケットを送信した後、レプリケーション遅延チェックを有効にし、しきい値を設定し、SQL を変更できます。

    • (任意) 過度なレプリケーション遅延がプライマリ/スタンバイインスタンスの切り替えに影響を与えるのを防ぐため、レプリケーション遅延チェックを有効にし、しきい値を設定します。

      [基本情報] セクションで [チャンクオプション] をクリックして、秒単位で適切なレプリケーション遅延のしきい値を設定します。レプリケーション遅延がしきい値を超えると、SQL の実行は中断されます。

      説明

      現在、この機能は ApsaraDB RDS for MySQL データベースでのみサポートされています。

    • (任意) SQL を変更します。

      チケットを送信すると、システムは自動的に SQL 事前チェックを実行します。事前チェックに失敗した場合は、失敗の理由に基づいて SQL を変更し、再試行できます。

    説明

    承認のために送信する前に、バッチ実行とスケジュールの設定を変更できます。送信後は、これらの設定は変更できません。

  5. [送信] をクリックします。セキュリティコラボレーションモードのインスタンスの場合、チケットは設定されたルールに従って承認のために送信されます。安定的な変更モードのインスタンスの場合、チケットは自動的に承認されます。

  6. チケットが承認されると、システムは自動的に定期タスクを生成し、チケットのオーナーにメールを送信します。[基本情報] セクションで、[定期タスクの表示] をクリックしてスケジュール情報を表示できます。また、以下の操作も実行できます。

    • スケジュールを一時停止

      説明

      スケジュールを恒久的に無効にする必要がある場合は、履歴データクリーンアップのチケット詳細ページに移動し、右上の [チケットをクローズ] をクリックし、理由を入力して [送信] をクリックします。

    • スケジュールを再開

      説明

      チケットがクローズされた後、スケジュールを再開するには新しいチケットを送信する必要があります。

    • チケットのオーナーを変更

      チケットを送信したユーザーがデフォルトでオーナーになります。チケットのオーナーのみがスケジュールの一次停止または再開を行えます。各定期実行のメール通知もオーナーにのみ送信されます。

  7. 定期タスクが生成された後、システムは設定されたスケジュールポリシーに従って生成された SQL スクリプトを実行します。チケットですべてのスケジュール情報と各実行の詳細を表示できます。

    説明

    スケジュールされた各時刻に、システムはチケットのクリーンアップタスクがすでに実行中であるかどうかを確認します。タスクが進行中の場合、新しいタスクは作成されません。したがって、実行頻度を適切に設定する必要があります。

よくある質問

  • Q:履歴データクリーンアップタスクの一部として OPTIMIZE TABLE を実行すると、ビジネスに影響がありますか?

    A:状況によります。対象インスタンスでロックフリーのスキーマ変更を有効にしている場合、OPTIMIZE TABLE 操作はビジネスに影響を与えません。ロックフリーのスキーマ変更が有効になっていない場合は、ビジネスへの影響を最小限に抑えるために、オフピーク時間帯に OPTIMIZE TABLE を実行してください。ロックフリーのスキーマ変更を有効にする方法については、ロックフリーのスキーマ変更機能を有効にするをご参照ください。

  • Q:実行時間が長すぎる OPTIMIZE TABLE 操作を停止するにはどうすればよいですか?

    A:[チケット詳細] ページに移動し、[実行] セクションでタスクを一時停止します。