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

ApsaraDB RDS:大きなファイルを非同期でパージする

最終更新日:Mar 19, 2024

AliSQLは、データベースサービスの安定性を向上させるために、大きなファイルを非同期でパージする機能を提供します。

背景情報

DROP TABLE文を実行してデータを削除すると、対応するInnoDBデータファイルがファイルシステムから直接削除されます。 データファイルが大きい場合、データファイルの削除は、ポータブルオペレーティングシステムインターフェース (POSIX) ファイルシステムにおいて深刻な安定性の問題を引き起こす。 大量ファイルを非同期で削除する機能は、スレッドを起動してデータファイルを非同期で削除します。 DROP TABLE文を実行してデータを削除すると、対応するデータファイルが一時ファイルとして保存され、スレッドはデータファイルを非同期でスムーズに削除し始めます。

手順

  1. 次のステートメントを実行して、RDSインスタンスのグローバル変数設定を表示します。

    グローバルなバリエーションを表示 '% data_file_purge %';

    次のコードは、クエリ結果のサンプルを示しています。

      +----------------------------------------+-------+
      | Variable_name | 値 |
      +----------------------------------------+-------+
      | innodb_data_file_purge | ON |
      | innodb_data_file_purge_all_at_shutdown | オフ |
      | innodb_data_file_purge_dir | |
      | innodb_data_file_purge_immediate | オフ |
      | innodb_data_file_purge_interval | 100 |
      | innodb_data_file_purge_max_size | 128 |
      | innodb_print_data_file_purge_process | オフ |
      +----------------------------------------+-------+

    次の表に、グローバル変数を示します。

    変数

    説明

    innodb_data_file_purge

    ラージファイルの非同期パージ機能を有効にするかどうかを指定します。

    innodb_data_file_purge_all_at_shutdown

    RDSインスタンスが存在するホストがシャットダウンされたときにすべてのファイルを削除するかどうかを指定します。

    innodb_data_file_purge_dir

    一時ファイルを格納するディレクトリ。

    innodb_data_file_purge_immediate

    データファイルを保持し、データファイルのリンクのみを取り消すかどうかを指定します。

    innodb_data_file_purge_interval

    ファイルが削除される間隔。 単位:ミリ秒。

    innodb_data_file_purge_max_サイズ

    削除できる1つのファイルの最大サイズ。 単位:MB。

    innodb_print_data_file_purge_プロセス

    ファイル削除の進行状況を示す進行状況バーを表示するかどうかを指定します。

    説明

    次の設定を使用することを推奨します。

    セットグローバルINNODB_DATA_FILE_PURGE = on;
    グローバルINNODB_DATA_FILE_PURGE_INTERVAL = 100を設定します。グローバルINNODB_DATA_FILE_PURGE_MAX_SIZE = 128; 
  2. 次の文を実行して、ファイルの削除の進行状況を表示します。

    information_schema.innodb_purge_filesから * を選択します。

    次のコードは、クエリ結果のサンプルを示しています。

    ------- --------------------- -------------------- -------------- ------------------------- ---------------------------
    | log_id | start_time | original_path | original_size | temporary_path | current_size |
    -------- --------------------- -------------------- -------------- ------------------------- ------------------------
    | 0 | 2021-05-14 14:40:01 |. /file_purge/t.ibd | 146800640 | 。/#FP_210514 14:40:01_9 | 79691776 |
    -------- --------------------- -------------------- --------------- ------------------------- -------------------------- 

    次の表に、戻り結果のパラメーターを示します。

    パラメーター

    説明

    start_time

    削除が開始される時点。

    original_path

    データファイルが削除される前に保存されているフォルダの元のパス。

    original_size

    削除される前のデータファイルの元のサイズ。 単位:バイト

    temporary_path

    一時ファイルが削除されたときに格納されるフォルダのパス。

    current_size

    削除する一時ファイルのサイズ。 単位:バイト