ターゲット データベースのTiDB Lightning要件
TiDB Lightningを使用する前に、環境が要件を満たしているかどうかを確認する必要があります。これにより、インポート中のエラーが軽減され、インポートが確実に成功します。
ターゲットデータベースの権限
インポート モードと有効な機能に基づいて、ターゲット データベース ユーザーに異なる権限を付与する必要があります。次の表は参考資料です。
特徴 | 範囲 | 必要な権限 | 備考 | |
必須 | 基本関数 | ターゲットテーブル | 作成、選択、挿入、更新、削除、ドロップ、変更 | DROP は、tdb-lightning-ctl がcheckpoint-destroy-all コマンドを実行する場合にのみ必要です。 |
ターゲットデータベース | 作成する | |||
必須 | 論理インポートモード | 情報スキーマ.列 | 選択する | |
物理インポートモード | mysql.tidb | 選択する | ||
- | 素晴らしい | |||
- | RESTRICTED_VARIABLES_ADMIN、RESTRICTED_TABLES_ADMIN | ターゲット TiDB が SEM を有効にする場合に必要 | ||
推奨 | 競合検出、最大エラー | lightning.task-info-schema-name に設定されたスキーマ | 選択、挿入、更新、削除、作成、ドロップ | 必要ない場合は、値を「」に設定する必要があります。 |
オプション | 並行輸入品 | lightning.meta-schema-name に設定されたスキーマ | 選択、挿入、更新、削除、作成、ドロップ | 必要ない場合は、値を「」に設定する必要があります。 |
オプション | チェックポイント.ドライバー = "mysql" | チェックポイント.スキーマ設定 | 選択、挿入、更新、削除、作成、ドロップ | チェックポイント情報がファイルではなくデータベースに保存される場合に必要です |
ターゲットデータベースのストレージスペース
ターゲット TiKV クラスターには、インポートされたデータを保存するのに十分なディスク容量が必要です。 標準的なハードウェア要件に加えて、ターゲット TiKV クラスターのstorage容量は、データ ソースのサイズ x レプリカの数 x 2より大きくなければなりません。たとえば、クラスターがデフォルトで 3 つのレプリカを使用する場合、ターゲット TiKV クラスターにはデータ ソースのサイズの 6 倍を超えるstorageスペースが必要です。この式には x 2 が含まれています。その理由は次のとおりです。
- インデックスには余分なスペースが必要になる場合があります。
- RocksDB には空間増幅効果があります。
Dumplingによって MySQL からエクスポートされる正確なデータ量を計算することは困難です。ただし、次の SQL ステートメントを使用して、information_schema.tables テーブルのDATA_LENGTH
フィールドを要約することで、データ量を見積もることができます。
-- Calculate the size of all schemas
SELECT
TABLE_SCHEMA,
FORMAT_BYTES(SUM(DATA_LENGTH)) AS 'Data Size',
FORMAT_BYTES(SUM(INDEX_LENGTH)) 'Index Size'
FROM
information_schema.tables
GROUP BY
TABLE_SCHEMA;
-- Calculate the 5 largest tables
SELECT
TABLE_NAME,
TABLE_SCHEMA,
FORMAT_BYTES(SUM(data_length)) AS 'Data Size',
FORMAT_BYTES(SUM(index_length)) AS 'Index Size',
FORMAT_BYTES(SUM(data_length+index_length)) AS 'Total Size'
FROM
information_schema.tables
GROUP BY
TABLE_NAME,
TABLE_SCHEMA
ORDER BY
SUM(DATA_LENGTH+INDEX_LENGTH) DESC
LIMIT
5;