TiFlashデータの検証
このドキュメントでは、 TiFlashのデータ検証メカニズムとツールを紹介します。
データ破損は通常、重大なハードウェア障害によって引き起こされます。このような場合、手動でデータを回復しようとしても、データの信頼性が低くなります。
データの整合性を確保するために、 TiFlash はデフォルトでCity128
アルゴリズムを使用してデータ ファイルの基本的なデータ検証を実行します。データ検証に失敗した場合、 TiFlash はただちにエラーを報告して終了し、データの不整合によって引き起こされる二次災害を回避します。現時点では、 TiFlashノードを復元する前に、手動で介入してデータを再度複製する必要があります。
v5.4.0 以降、 TiFlash には、より高度なデータ検証機能が導入されています。 TiFlash はデフォルトでXXH3
アルゴリズムを使用し、検証フレームとアルゴリズムをカスタマイズできます。
検証メカニズム
検証メカニズムは、DeltaTree ファイル (DTFile) に基づいて構築されています。 DTFile は、 TiFlashデータを保存するstorageファイルです。 DTFile には 3 つの形式があります。
バージョン | 州 | 検証メカニズム | ノート |
---|---|---|---|
V1 | 廃止されました | ハッシュはデータ ファイルに埋め込まれます。 | |
V2 | v6.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ツールを参照してください。