TiDB Lightning事前チェック
TiDB 5.3.0以降、 TiDB Lightningは移行タスク実行前に設定をチェックする機能を提供します。これはデフォルトで有効になっています。この機能は、ディスク容量と実行設定に関するいくつかの定期的なチェックを自動的に実行します。主な目的は、後続のインポートプロセス全体がスムーズに実行されるようにすることです。
次の表に各チェック項目と詳細な説明を示します。
| チェック項目 | サポートされているバージョン | 説明 |
|---|---|---|
| クラスタのバージョンとステータス | = 5.3.0 | 構成でクラスターを接続できるかどうか、および TiKV/PD/ TiFlashバージョンが物理インポート モードをサポートしているかどうかを確認します。 |
| 権限 | = 5.3.0 | データ ソースがクラウドstorage(Amazon S3) の場合、 TiDB Lightning に必要な権限があるかどうかを確認し、権限不足のためにインポートが失敗しないことを確認します。 |
| ディスク容量 | = 5.3.0 | ローカルディスクと TiKV クラスターに、データのインポートに十分な空き容量があるかどうかを確認します。TiDB TiDB Lightning はデータソースをサンプリングし、サンプル結果からインデックスサイズの割合を推定します。推定にはインデックスも含まれるため、ソースデータのサイズがローカルディスクの空き容量よりも小さい場合でも、チェックが失敗する場合があります。物理インポートモードでは、外部ソートをローカルで実行する必要があるため、 TiDB Lightning はローカルstorageが十分かどうかも確認します。TiKV クラスターの空き容量とローカルストレージのstorage容量 ( sort-kv-dirで制御) の詳細については、 下流のstorageスペース要件とリソース要件参照してください。 |
| リージョン配信状況 | = 5.3.0 | TiKVクラスタ内のリージョンが均等に分散されているか、また空のリージョンが多すぎないかを確認してください。空のリージョンの数がmax(1000, テーブル数 * 3)を超える場合、つまり「1000」または「テーブル数の3倍」のいずれか大きい方を超える場合、インポートは実行できません。 |
| データファイル内の非常に大きなCSVファイル | = 5.3.0 | バックアップファイルに10GiBを超えるCSVファイルがあり、自動スライスが有効になっていない場合(StrictFormat=false)、インポートのパフォーマンスに影響します。このチェックは、データが正しい形式であること、および自動スライスが有効になっていることを確認するためのものです。 |
| ブレークポイントからの回復 | = 5.3.0 | このチェックにより、ブレークポイント回復プロセス中に、間違ったデータがインポートされるような変更がデータベースのソース ファイルまたはスキーマに加えられないことが保証されます。 |
| 既存のテーブルにインポートする | = 5.3.0 | 既に作成されたテーブルにインポートする場合、ソースファイルが既存のテーブルと可能な限り一致するかどうかを確認します。列数が一致しているかどうかを確認します。ソースファイルに列名がある場合は、列名が一致しているかどうかを確認します。ソースファイルにデフォルトの列がある場合は、その列にデフォルト値が設定されているかどうかを確認し、設定されている場合はチェックに合格します。 |
| 対象テーブルが空かどうか | = 5.3.1 | ターゲットテーブルが空でない場合、 TiDB Lightningは自動的にエラーを出力して終了します。並列インポートモードが有効( parallel-import = true )になっている場合、このチェック項目はスキップされます。 |
| PITRが有効になっているか、またはクラスター内で変更フィードタスクが実行されているかどうか | = 6.5.0 | TiDB Lightning の物理インポートモードは、PITR および changefeed と互換性がありません。PITR が有効になっているか、changefeed タスクが実行中の場合、 TiDB Lightning は自動的にエラーを出力して終了します。インポートするテーブルでレプリケーションに PITR または changefeed が不要であることが確実な場合は、このチェックをスキップしてTiDB Lightning の物理インポートモードを続行できます。 |