TiDB Lightningと IMPORT INTO と TiCDC およびログ バックアップとの互換性

このドキュメントでは、 TiDB LightningおよびIMPORT INTOログバックアップおよびティCDCとの互換性、およびいくつかの特殊な使用シナリオについて説明します。

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 をログバックアップおよびティCDCと一緒に使用する方法について説明します。

TiDB Lightning論理インポート モードがアプリケーションのパフォーマンス要件を満たしていない場合、 TiDB Lightning物理インポート モードを使用する必要があり、インポートされたテーブルを TiCDC を使用してダウンストリームにバックアップまたは複製する必要がある場合は、次のシナリオが推奨されます。

ログバックアップで使用される

次のようにさまざまなシナリオで実行できます。

  • シナリオ1: 物理インポートモードのテーブルはバックアップする必要がない

    このシナリオでは、 ピトル有効になっている場合、 TiDB Lightning の起動後に互換性チェックでエラーが報告されます。これらのテーブルにバックアップやログバックアップ必要ないことが確実な場合は、 TiDB Lightning構成ファイルLightning.check-requirementsパラメータをfalseに変更して、インポート タスクを再開できます。

  • シナリオ2: 物理インポートが完了した後、テーブルに対して新しいDML操作は行われません。

    このシナリオでは増分データ書き込みは行われないため、 テーブルをバックアップするで説明したように、 TiDB Lightning物理インポート モードでデータのインポートを完了した後、テーブルのテーブル レベルのスナップショット バックアップを実行するだけで十分です。

    データ復旧では、テーブルのスナップショットデータが復元されます。手順についてはテーブルを復元する参照してください。

  • シナリオ 3: 物理インポートが完了した後、テーブルに対して新しい DML 操作が実行されます (サポートされていません)

    このシナリオでは、このテーブルに対して完全なスナップショットバックアップまたはログバックアップいずれかのみを選択できます。このテーブルの完全なスナップショット データとログ バックアップ データの両方をバックアップおよび復元することはできません。

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 ログバックアップおよびティCDCと一緒に使用する方法について説明します。

ログバックアップで使用される

次のようにさまざまなシナリオで実行できます。

  • シナリオ 1: テーブルをバックアップする必要がない

    このシナリオでは、 ピトル有効になっている場合、 IMPORT INTOステートメントを送信した後に互換性チェックでエラーが報告されます。これらのテーブルにバックアップやログバックアップ必要ないことが確実な場合は、そのステートメントのWithOptionsDISABLE_PRECHECK (v8.0.0 で導入) を含めて、再送信することができます。このようにして、データ インポート タスクは互換性チェックを無視し、データを直接インポートします。

  • シナリオ2: インポートが完了した後、テーブルに対して新しいDML操作は行われません。

    このシナリオでは増分データ書き込みは行われないため、 テーブルをバックアップするで説明したように、データのインポートが完了したら、テーブルのテーブルレベルのスナップショット バックアップを実行するだけで十分です。

    データ復旧では、テーブルのスナップショットデータが復元されます。手順についてはテーブルを復元する参照してください。

  • シナリオ 3: インポートが完了した後、テーブルに対して新しい DML 操作が実行されます (サポートされていません)

    このシナリオでは、このテーブルに対して完全なスナップショットバックアップまたはログバックアップいずれかのみを選択できます。このテーブルの完全なスナップショット データとログ バックアップ データの両方をバックアップおよび復元することはできません。

TiCDC で使用

次のようにさまざまなシナリオで実行できます。

  • シナリオ 1: テーブルを TiCDC によってダウンストリームに複製する必要はありません。

    このシナリオでは、TiCDC の変更フィードが有効になっている場合、 IMPORT INTOステートメントを送信した後に互換性チェックでエラーが報告されます。これらのテーブルを TiCDC で複製する必要がないことが確実な場合は、そのステートメントのWithOptionsDISABLE_PRECHECK (v8.0.0 で導入) を含めて、再送信することができます。このように、データ インポート タスクは互換性チェックを無視し、データを直接インポートします。

  • シナリオ 2: テーブルを TiCDC によってダウンストリームに複製する必要があります。

    このシナリオでは、TiCDC の変更フィードが有効になっている場合、 IMPORT INTOステートメントを送信した後に互換性チェックでエラーが報告されます。そのステートメントのWithOptionsDISABLE_PRECHECK (v8.0.0 で導入) を含めて、再送信することができます。このように、データ インポート タスクは互換性チェックを無視し、データを直接インポートします。

    アップストリーム TiDB クラスターのインポート タスクが完了したら、 IMPORT INTO使用してダウンストリーム TiDB クラスターに同じデータをインポートします。ダウンストリームに Redshift や Snowflake などのデータベースがある場合は、クラウドstorageサービスから CSV、SQL、または Parquet ファイルを読み取り、そのデータをデータベースに書き込むように構成できます。

このページは役に立ちましたか?