TiFlash データ検証

このドキュメントでは、TiFlash のデータ検証メカニズムとツールを紹介します。

通常、データの破損は深刻なハードウェア障害によって引き起こされます。このような場合、手動でデータを回復しようとしても、データの信頼性が低下します。

データの整合性を確保するために、デフォルトでは、TiFlash はCity128アルゴリズムを使用して、データ ファイルに対して基本的なデータ検証を実行します。データの検証に失敗した場合、TiFlash はすぐにエラーを報告して終了し、データの不一致による二次災害を回避します。この時点で、TiFlash ノードを復元する前に、手動で介入してデータを再度複製する必要があります。

v5.4.0 から、TiFlash はより高度なデータ検証機能を導入しています。 TiFlash はデフォルトでXXH3アルゴリズムを使用し、検証フレームとアルゴリズムをカスタマイズできます。

検証メカニズム

検証メカニズムは、DeltaTree ファイル (DTFile) に基づいています。 DTFile は、TiFlash データを保持するストレージ ファイルです。 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ツールを参照してください。