TiFlashデータ検証
このドキュメントでは、 TiFlashのデータ検証メカニズムとツールについて説明します。
データ破損は通常、深刻なハードウェア障害によって引き起こされます。このような場合、手動でデータを復旧しようとしても、データの信頼性は低下します。
データの整合性を確保するため、 TiFlash はデフォルトでデータファイルに対してCity128アルゴリズムを用いた基本的なデータ検証を実行します。データ検証に失敗した場合、 TiFlash は直ちにエラーを報告して終了し、データの不整合による二次災害を回避します。この場合、 TiFlashノードを復元する前に、手動で介入してデータを再度複製する必要があります。
バージョン5.4.0以降、 TiFlashはより高度なデータ検証機能を導入しました。TiFlashはデフォルトでXXH3アルゴリズムを使用し、検証フレームとアルゴリズムをカスタマイズできます。
検証メカニズム
検証メカニズムはDeltaTreeファイル(DTFile)を基盤としています。DTFileはTiFlashデータを保存するstorageファイルです。DTFileには以下の3つの形式があります。
| バージョン | 州 | 検証メカニズム | 注記 |
|---|---|---|---|
| V1 | 非推奨 | ハッシュはデータ ファイルに埋め込まれます。 | |
| V2 | バージョン6.0.0未満のデフォルト | ハッシュはデータ ファイルに埋め込まれます。 | V1 と比較して、V2 では列データの統計が追加されます。 |
| V3 | バージョン >= v6.0.0 のデフォルト | V3 にはメタデータとトークン データのチェックサムが含まれており、複数のハッシュ アルゴリズムをサポートします。 | v5.4.0 の新機能。 |
DTFileはデータファイルディレクトリのstableフォルダに保存されます。現在有効な形式はすべてフォルダ形式です。つまり、データはdmf_<file id>ような名前のフォルダの下に複数のファイルとして保存されます。
データ検証を使用する
TiFlash は自動と手動の両方のデータ検証をサポートしています。
- 自動データ検証:
- v6.0.0 以降のバージョンでは、デフォルトで V3 検証メカニズムが使用されます。
- v6.0.0 より前のバージョンでは、デフォルトで V2 検証メカニズムが使用されます。
- 検証メカニズムを手動で切り替えるには、 TiFlash設定ファイルを参照してください。ただし、デフォルト設定はテストによって検証されているため、推奨されます。
- 手動データ検証
DTTool inspectを参照してください。
検証ツール
TiFlashがデータを読み取る際に実行される自動データ検証に加えて、v5.4.0ではデータの整合性を手動でチェックするためのツールが導入されました。詳細はDTツールを参照してください。