ターゲット データベースのTiDB Lightning要件

TiDB Lightningを使用する前に、環境が要件を満たしているかどうかを確認する必要があります。これにより、インポート中のエラーを減らし、インポートを確実に成功させることができます。

ターゲット データベースの権限

インポート モードと有効な機能に基づいて、ターゲット データベース ユーザーに異なる権限を付与する必要があります。次の表に参考情報を示します。

特徴範囲必要な権限備考
必須基本関数対象表作成、選択、挿入、更新、削除、削除、変更DROP は、tidb-lightning-ctl が checkpoint-destroy-all コマンドを実行する場合にのみ必要です。
対象データベース作成
必須論理インポート モードinformation_schema.columns選択する
物理インポート モードmysql.tidb選択する
-素晴らしい
- RESTRICTED_VARIABLES_ADMIN、RESTRICTED_TABLES_ADMIN対象の TiDB で SEM が有効になっている場合に必要
おすすめされた競合検出、最大エラーlightning.task-info-schema-name 用に設定されたスキーマ選択、挿入、更新、削除、作成、削除必要ない場合は、値を "" に設定する必要があります。
オプション並行輸入lightning.meta-schema-name 用に構成されたスキーマ選択、挿入、更新、削除、作成、削除必要ない場合は、値を "" に設定する必要があります。
オプションcheckpoint.driver = "mysql" checkpoint.schema 設定選択、挿入、更新、削除、作成、削除チェックポイント情報がファイルではなくデータベースに格納されている場合に必要

ターゲット データベースのストレージ スペース

ターゲットの TiKV クラスターには、インポートされたデータを保存するのに十分なディスク容量が必要です。 標準のハードウェア要件に加えて、ターゲット TiKV クラスターのストレージ容量は、データ ソースのサイズ x レプリカの数 x 2より大きくなければなりません。たとえば、クラスターがデフォルトで 3 つのレプリカを使用する場合、ターゲット TiKV クラスターには、データ ソースのサイズの 6 倍を超えるストレージ スペースが必要です。次の理由により、式には x 2 があります。

  • インデックスは余分なスペースを必要とする場合があります。
  • RocksDB には空間増幅効果があります。

Dumplingによって MySQL からエクスポートされた正確なデータ量を計算することは困難です。ただし、次の SQL ステートメントを使用して information_schema.tables テーブルのデータ長フィールドを要約することにより、データ量を見積もることができます。

すべてのスキーマのサイズを MiB で計算します。 ${schema_name} をスキーマ名に置き換えます。

SELECT table_schema, SUM(data_length)/1024/1024 AS data_length, SUM(index_length)/1024/1024 AS index_length, SUM(data_length+index_length)/1024/1024 AS sum FROM information_schema.tables WHERE table_schema = "${schema_name}" GROUP BY table_schema;

最大テーブルのサイズを MiB で計算します。 ${schema_name} をスキーマ名に置き換えます。

SELECT table_name, table_schema, SUM(data_length)/1024/1024 AS data_length, SUM(index_length)/1024/1024 AS index_length,sum(data_length+index_length)/1024/1024 AS sum FROM information_schema.tables WHERE table_schema = "${schema_name}" GROUP BY table_name,table_schema ORDER BY sum DESC LIMIT 5;