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

このドキュメントでは、設定ファイルの作成やパフォーマンスのチューニングなど、 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 Lightning はさまざまな SQL ステートメントを使用してデータをインポートします。

戦略競合するデータのデフォルトの動作対応するSQL文
"replace"既存のデータを新しいデータに置き換えます。REPLACE INTO ...
"ignore"既存のデータを保持し、新しいデータを無視します。INSERT IGNORE INTO ...
"error"インポートを一時停止し、エラーを報告します。INSERT INTO ...
""TiDB Lightning は、競合するデータを検出したり処理したりしません。主キーと一意キーが競合するデータが存在する場合、後続のステップでエラーが報告されます。なし

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

ストラテジが"ignore"の場合、下流conflict_recordsテーブルには矛盾するデータが記録されます。詳細については、 エラーレポートを参照してください。この場合、 conflict.max-record-rowsを設定することでレコードを制限でき、制限を超える競合するデータはスキップされ、記録されません。デフォルト値は100です。

性能調整

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

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

    構成例:

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

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

Playground
新規
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.