TiDB Lightningと IMPORT INTO と TiCDC およびログバックアップとの互換性
このドキュメントでは、 TiDB LightningおよびIMPORT INTO
とログバックアップおよびTiCDCの互換性、およびいくつかの特殊な使用シナリオについて説明します。
IMPORT INTO
とTiDB Lightning の比較
IMPORT INTO
TiDB Lightningの物理インポートモードと統合されていますが、いくつかの違いがあります。詳細はIMPORT INTO
とTiDB Lightning の比較ご覧ください。
ログバックアップおよびTiCDCとの互換性
TiDB Lightning 論理インポートモード 、ログ バックアップおよび TiCDC と互換性があります。
TiDB Lightning 物理インポートモード 、ログバックアップおよびTiCDCと互換性がありません。これは、物理インポートモードがソースデータのエンコードされたKVペアをTiKVに直接取り込むため、TiKVがこの処理中に該当する変更ログを生成できないためです。変更ログが生成されないと、ログバックアップによる関連データのバックアップやTiCDCによるレプリケーションが実行できません。
クラスター内でTiDB Lightningと TiCDC を一緒に使用するには、 TiDB Lightningとの互換性参照してください。
IMPORT INTO
はログバックアップおよびTiCDCと互換性がありません。これは、IMPORT INTO
ではソースデータのエンコードされたKVペアもTiKVに直接取り込まれるためです。
TiDB Lightning論理インポートモードのシナリオ
TiDB Lightning論理インポート モードがアプリケーションのパフォーマンス要件を満たすことができ、アプリケーションでインポートされたテーブルを TiCDC を使用してダウンストリームにバックアップまたは複製する必要がある場合は、 TiDB Lightning論理インポート モードを使用することをお勧めします。
TiDB Lightning物理インポートモードのシナリオ
このセクションでは、TiDB Lightning をログバックアップおよびTiCDCと一緒に使用する方法について説明します。
TiDB Lightning論理インポート モードがアプリケーションのパフォーマンス要件を満たしていない場合、 TiDB Lightning物理インポート モードを使用する必要があり、インポートされたテーブルを TiCDC を使用してダウンストリームにバックアップまたは複製する必要がある場合は、次のシナリオが推奨されます。
ログバックアップで使用される
このシナリオでは、 PITR有効になっている場合、 TiDB Lightning の起動後に互換性チェックでエラーが報告されます。これらのテーブルのバックアップが不要であることが確実な場合は、 TiDB Lightning構成ファイルのLightning.check-requirements
パラメータをfalse
に変更してインポートタスクを再開できます。
TiDB Lightning物理インポートモードでインポートされたデータは、ログバックアップではバックアップできません。テーブルをバックアップする必要がある場合は、 テーブルをバックアップするで説明されているように、インポート後にテーブルレベルのスナップショットバックアップを実行することをお勧めします。
TiCDC で使用される
TiCDC を物理インポート モードで使用することは、短期的には互換性がありません。これは、TiCDC がTiDB Lightning物理インポート モードの書き込み速度に追いつけず、クラスター レプリケーションのレイテンシーが長くなる可能性があるためです。
次のようにさまざまなシナリオで実行できます。
シナリオ 1: テーブルを TiCDC によってダウンストリームに複製する必要はありません。
このシナリオでは、TiCDC の changefeed が有効になっている場合、 TiDB Lightning の起動後に互換性チェックでエラーが報告されます。これらのテーブルにバックアップやログバックアップ必要ないことが確実な場合は、 TiDB Lightning構成ファイルの
Lightning.check-requirements
パラメータをfalse
に変更してインポートタスクを再開できます。シナリオ 2: テーブルを TiCDC によってダウンストリームに複製する必要があります。
このシナリオでは、TiCDC の changefeed が有効になっている場合、 TiDB Lightning の起動後に互換性チェックでエラーが報告されます。上流 TiDB クラスターのTiDB Lightning構成ファイルパラメータ
Lightning.check-requirements
をfalse
に変更し、インポートタスクを再起動する必要があります。上流TiDBクラスタのインポートタスクが完了したら、 TiDB Lightningを使用して、同じデータを下流TiDBクラスタにインポートします。下流にRedshiftやSnowflakeなどのデータベースがある場合は、クラウドstorageサービスからCSV、SQL、またはParquetファイルを読み取り、データベースに書き込むように設定できます。
IMPORT INTO
のシナリオ
このセクションでは、 IMPORT INTO
ログバックアップおよびTiCDCと一緒に使用する方法について説明します。
ログバックアップで使用される
このシナリオでは、 PITR有効になっている場合、 IMPORT INTO
文を送信した後に互換性チェックでエラーが報告されます。これらのテーブルにバックアップが必要ないことが確実な場合は、その文のWithOptions
にDISABLE_PRECHECK
(バージョン 8.0.0 で導入)を含めて再送信してください。これにより、データインポートタスクは互換性チェックを無視し、データを直接インポートします。
IMPORT INTO
でインポートしたデータは、ログバックアップではバックアップできません。テーブルをバックアップする必要がある場合は、 テーブルをバックアップするで説明されているように、インポート後にテーブルレベルのスナップショットバックアップを実行できます。
TiCDC で使用される
次のようにさまざまなシナリオで実行できます。
シナリオ 1: テーブルを TiCDC によってダウンストリームに複製する必要はありません。
このシナリオでは、TiCDC の changefeed が有効になっている場合、
IMPORT INTO
ステートメントを送信した後に互換性チェックでエラーが報告されます。これらのテーブルを TiCDC で複製する必要がないことが確実な場合は、そのステートメントのWithOptions
にDISABLE_PRECHECK
(v8.0.0 で導入) を含めて再送信できます。これにより、データインポートタスクは互換性チェックを無視し、データを直接インポートします。シナリオ 2: テーブルを TiCDC によってダウンストリームに複製する必要があります。
このシナリオでは、TiCDC の changefeed が有効になっている場合、
IMPORT INTO
ステートメントを送信した後に互換性チェックでエラーが報告されます。そのステートメントのWithOptions
にDISABLE_PRECHECK
(v8.0.0 で導入) を含めて再送信することができます。これにより、データインポートタスクは互換性チェックを無視し、データを直接インポートします。上流 TiDB クラスターのインポートタスクが完了したら、
IMPORT INTO
使用して下流 TiDB クラスターに同じデータをインポートします。下流に Redshift や Snowflake などのデータベースがある場合は、クラウドstorageサービスから CSV、SQL、または Parquet ファイルを読み取り、データベースに書き込むように設定できます。