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

TiDB Lightning用語集

このページでは、TiDB Lightning のログ、監視、構成、ドキュメントで使用される特殊な用語について説明します。

TiDB 関連の用語と定義については、 TiDB用語集参照してください。

分析する

ANALYZE TABLEステートメントを実行している TiDB テーブルの統計情報を再構築する操作。

TiDB LightningはTiDBを経由せずにデータをインポートするため、統計情報は自動的に更新されません。そのため、 TiDB Lightningはインポート後に各テーブルを明示的に分析します。この手順は、 post-restore.analyze設定をfalseに設定することで省略できます。

AUTO_INCREMENT_ID

各テーブルには、自動増分列のデフォルト値を提供するためのカウンタAUTO_INCREMENT_IDが関連付けられています。TiDBでは、このカウンタは行IDの割り当てにも使用されます。

TiDB LightningはTiDBを経由せずにデータをインポートするため、 AUTO_INCREMENT_IDカウンタは自動的に更新されません。そのため、 TiDB LightningはAUTO_INCREMENT_ID明示的に有効な値に変更します。この手順は、テーブルにAUTO_INCREMENT列がない場合でも常に実行されます。

B

バックエンド

バックエンドとは、TiDB Lightningが解析結果を送信する宛先です。「backend」とも表記されます。

詳細はTiDB Lightningアーキテクチャ参照。

C

チェックポイント

TiDB Lightningは、インポート中に進行状況をローカルファイルまたはリモートデータベースに継続的に保存します。これにより、インポート中にクラッシュした場合でも、中間状態から再開できます。詳細はセクションチェックポイントご覧ください。

チェックサム

TiDB Lightningでは、テーブルのチェックサムは、そのテーブル内の各KVペアの内容から計算される3つの数値のセットです。これらの数値はそれぞれ以下のとおりです。

  • KVペアの数、
  • すべてのKVペアの合計長さ、および
  • 各ペアのCRC-64-ECMA値のビット単位の XOR です。

TiDB Lightning インポートされたデータを検証する 、各テーブルの地元リモートチェックサム比較することで、このチェックを実行します。いずれのペアも一致しない場合、プログラムは停止します。このチェックは、 post-restore.checksum設定をfalseに設定することでスキップできます。

チェックサムの不一致を適切に処理する方法については、 よくある質問も参照してください。

Chunk

ソース データの連続した範囲。通常は、データ ソース内の 1 つのファイルに相当します。

ファイルが大きすぎる場合、 TiDB Lightning はファイルを複数のチャンクに分割することがあります。

圧縮

複数の小さなSSTファイルを1つの大きなSSTファイルに結合し、削除されたエントリをクリーンアップする操作です。TiKVは、 TiDB Lightningによるインポート中にバックグラウンドで自動的にデータを圧縮します。

注記:

レガシーシステムへの対応のため、 TiDB Lightning、テーブルのインポートごとに明示的にコンパクションを実行するように設定できます。ただし、これは推奨されず、対応する設定はデフォルトで無効になっています。

技術的な詳細についてはRocksDBの圧縮に関するWikiページ参照してください。

D

データエンジン

実際の行データをソートする場合はエンジン

テーブルが非常に大きい場合、タスクのパイプライン処理を改善し、TiKVインポーターのメモリを節約するため、そのデータは複数のデータエンジンに分散されます。デフォルトでは、SQLデータ100GBごとに新しいデータエンジンが開かれますが、 mydumper.batch-size設定で変更可能です。

TiDB Lightningは複数のデータエンジンを同時に処理します。これはlightning.table-concurrency設定で制御されます。

E

エンジン

TiKV インポーターでは、エンジンは KV ペアをソートするための RocksDB インスタンスです。

TiDB Lightningは、エンジンを介してTiKV Importerにデータを転送します。まずエンジンを開き、KVペアを(順序は問わず)エンジンに送信し、最後にエンジンを閉じます。エンジンは閉じた後、受信したKVペアをソートします。閉じられたエンジンは、TiKVストアにアップロードして取り込みを行うことができます。

エンジンは TiKV インポーターimport-dir一時storageとして使用します。これは「エンジン ファイル」と呼ばれることもあります。

データエンジンインデックスエンジンも参照してください。

F

フィルター

インポートまたは除外するテーブルを指定する構成リスト。

詳細はテーブルフィルター参照。

インポートモード

読み取り速度とスペース使用量を犠牲にして、書き込み用に TiKV を最適化する構成。

TiDB Lightningは実行中に自動的にインポートモードを切り替えます。ただし、TiKVがインポートモードで停止した場合は、 tidb-lightning-ctl強制的に元に戻す通常モード使用してください。

インデックスエンジン

インデックスをソートする場合はエンジン

インデックスの数に関係なく、すべてのテーブルは 1 つのインデックス エンジンに関連付けられます。

TiDB Lightningは複数のインデックスエンジンを同時に処理します。これはlightning.index-concurrency設定によって制御されます。各テーブルには1つのインデックスエンジンがあるため、同時に処理できるテーブルの最大数も設定されます。

取り込み

SSTファイルの内容全体を RocksDB (TiKV) ストアに挿入する操作。

取り込みは、KVペアを1つずつ挿入する操作に比べて非常に高速です。この操作がTiDB Lightningのパフォーマンスを決定づける要因です。

技術的な詳細についてはRocksDB の SST ファイルの作成と取り込みに関する wiki ページ参照してください。

K

KVペア

「キーと値のペア」の略語。

KVエンコーダ

SQLまたはCSV行をKVペアに解析するルーチン。複数のKVエンコーダーを並列実行することで処理を高速化します。

L

ローカルチェックサム

KV ペアを TiKV Importer に送信する前に、 TiDB Lightning自体によって計算されたテーブルのチェックサム

通常モード

インポートモードが無効になっているモード。

P

後処理

データソース全体が解析され、TiKV Importer に送信された後の期間。TiDB TiDB Lightning はTiKV Importer のアップロードを待機し、 SST ファイル摂取する

R

リモートチェックサム

インポート後に TiDB によって計算されたテーブルのチェックサム

S

Scattering

リージョンのリーダーとピアをランダムに再割り当てする操作。Scatteringにより、インポートされたデータが TiKV ストア間で均等に分散されます。これにより、PD への負荷が軽減されます。

分割

通常、エンジンは非常に大きい (約 100 GB) ため、単一の地域として扱うのは TiKV にとって扱いにくいものです。TiKV インポーターは、アップロードする前にエンジンを複数の小さなSST ファイル (TiKV インポーターのimport.region-split-size設定で構成可能) に分割します。

SSTファイル

SSTは「sorted string table(ソートされた文字列テーブル)」の略です。SSTファイルは、RocksDB(およびTiKV)のKVペアのコレクションのネイティブstorage形式です。

TiKVインポーターは、閉じたエンジンからSSTファイルを生成します。これらのSSTファイルはアップロードされ、その後TiKVストアに摂取したされます。

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