📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

論理インポートモードを使用する

このドキュメントでは、設定ファイルの書き方やパフォーマンスのチューニングなど、 TiDB Lightning論理インポートモードの使い方を紹介します。

論理インポートモードを設定して使用する

次の構成ファイルを使用して論理インポート モードを使用してデータをインポートできます。

[lightning] # log level = "info" file = "tidb-lightning.log" max-size = 128 # MB max-days = 28 max-backups = 14 # Checks the cluster minimum requirements before start. check-requirements = true [mydumper] # The local data source directory or the URI of the external storage. For more information about the URI of the external storage, see https://docs.pingcap.com/tidb/v6.6/backup-and-restore-storages#uri-format. data-source-dir = "/data/my_database" [tikv-importer] # Import mode. "tidb" means using the logical import mode. backend = "tidb" [tidb] # The information of the target cluster. The address of any tidb-server from the cluster. host = "172.16.31.1" port = 4000 user = "root" # Configure the password to connect to TiDB. Either plaintext or Base64 encoded. password = "" # tidb-lightning imports the TiDB library, and generates some logs. # Set the log level of the TiDB library. log-level = "error"

完全な設定ファイルについては、 TiDB Lightningコンフィグレーションを参照してください。

競合検出

競合データとは、PK列またはUK列に同じデータを持つ2つ以上のレコードを指します。論理インポートモードでは、 conflict.strategy設定項目を設定することで、競合データの処理方法を設定できます。TiDB TiDB Lightningは、この処理方法に基づいて、異なるSQL文でデータをインポートします。

戦略競合データのデフォルトの動作対応するSQL文
"replace"既存のデータを新しいデータに置き換えます。REPLACE INTO ...
"ignore"既存のデータを保持し、新しいデータを無視します。conflict.thresholdが0より大きい場合はINSERT INTO使用され、 conflict.threshold0の場合はINSERT IGNORE INTO ...使用されます。
"error"競合するデータが検出された場合はインポートを終了します。INSERT INTO ...
"""error"に変換されます。これは、競合するデータが検出されるとインポートを終了することを意味します。なし

戦略が"error"場合、データの競合によって発生したエラーはインポートタスクを直ちに終了します。戦略が"replace"または"ignore"場合、許容される競合の最大数をconflict.thresholdに設定することで制御できます。デフォルト値は10000で、これは10000件のエラーが許容されることを意味します。

戦略が"ignore"場合、競合データは下流のconflict_recordsテーブルに記録されます。詳細はエラーレポート参照してください。v8.1.0 より前では、 conflict.max-record-rows設定することでレコード数を制限でき、制限を超える競合データはスキップされ、記録されませんでした。v8.1.0 以降では、 TiDB Lightning はユーザー入力に関係なく、 thresholdの値にmax-record-rowsの値を自動的に割り当てるため、代わりにconflict.threshold設定する必要があります。

パフォーマンスチューニング

  • 論理インポートモードでは、 TiDB Lightningのパフォーマンスは、ターゲットTiDBクラスタの書き込みパフォーマンスに大きく依存します。クラスタでパフォーマンスのボトルネックが発生した場合は、 高同時書き込みのベストプラクティスを参照してください。

  • ターゲットTiDBクラスタで書き込みボトルネックが発生していない場合は、 TiDB Lightning設定でregion-concurrencyの値を増やすことを検討してください。デフォルト値のregion-concurrency CPUコア数です。5 region-concurrency物理インポートモードと論理インポートモードで意味が異なります。論理インポートモードでは、 region-concurrency書き込み同時実行数です。

    構成例:

    [lightning] region-concurrency = 32
  • ターゲット TiDB クラスター内のraftstore.apply-pool-sizeraftstore.store-pool-size構成項目を調整すると、インポート速度が向上する可能性があります。

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