Hash

{ヒント style="info" %}。 Syntho beta feature

現在, ハッシュはキーに対してのみ有効です。, が、通常の列に拡張できるようになった。この新しい機能は、生成メソッドの新しいメイン・カテゴリに導入されています。デフォルトのハッシュ・アプローチはデータ型ごとに指定されます。, キー・コラムとレギュラー・コラムに対する特別な配慮を含む。

通常のカラムに新しいハッシュ機能を利用するには, 以下の手順に従ってください。:

1.に移動する。 Column Settings をデータベース管理インターフェイスに追加します。 2.下の Generation Method, 選ぶ Hashing をクリックして、選択した列のハッシュ機能を有効にします。 3.カラムに適切なデータ型を選択し、設定が上記で指定したデフォルトのハッシュアプローチと一致していることを確認する。:

  • について Discrete Values, ヘイスティ・プリン暗号アルゴリズムが使用される。

  • について Categorical Values, FF3アルゴリズムを使用した前方保存暗号化(FPE)が適用される。

  • について Datetime Values, ランダムなオフセットが追加される。

  • について UUIDs, の場合、値は一貫して新しいUUIDにマップされる。 4.設定を保存し、データ生成または変換処理を続行する。

Default Hashing Approaches by Data Type

  1. Discrete Values:

    • アルゴリズム: ヘイスティ・プリン暗号

    • 行動: 範囲内のすべての離散値の間に 1 対 1 のマッピングが作成されます。これは、ソース内の値を一貫して新しい, ハッシュ化された値。

    • レンジ: 値のフォールバック範囲は、32ビット整数の許容範囲内である。, が、実際の範囲はデータ型とデータベースのサポートに依存する。

      • フォールバック・ミニマム: -2,147,486,647

      • フォールバック最大値: 2,147,486,647

    • 制限: 負数は常に負数に、正数は常に正数にハッシュする。内部変数は数値の符号をエンコードする。, 符号に追加ビットを使用, 絶対値, そしてハッシュ化後, 元の数値が負の場合は-1を乗じる。0は決してハッシュ化されないことに注意。

  2. Categorical Values:

    • アルゴリズム: FF3アルゴリズムを使用した前方保存暗号化(FPE)。

    • 注: 最小文字数は、使用するアルファベットのサイズによって異なります。, 通常、最低4文字となる。

  3. Datetime Values:

    • 方法: 元の値にランダムなオフセットを加える。

  4. UUIDs:

    • 方法: 常に新しいUUIDにマップする。

Considerations

  • ハッシュ値はグローバルシード値に依存する, つまり、シードが変更されれば、変更されるということだ。

  • オーバーサンプリングは、キーカラムに設定された場合、ハッシュと複製では許可されません。通常のカラムの場合, この制限は適用されない。

Ordering and Indexing Considerations

正確な発注のために, アプリケーションには、ソース・テーブルにインデックスかプライマリ・キーが必要不可欠です。これらがない場合, の場合、アプリケーションのデフォルトはテーブルの最初のカラムに基づいてソートされます。しかし, 最初の列に重複した値がある場合, 順序は保証されません, これは、重複値の処理をデータベースのソート・アルゴリズムに依存しているためです。ソース・テーブルにインデックスを追加することで、この問題は解決されます。

主キーやインデックスが定義されていないテーブルで一貫性のあるマッピングを使用すると、予期しない結果になる可能性があることに注意することが重要です。このような場合, アプリケーションは最初の列を順序付けに使用する, 一意な値を含まないことがある, 非決定論的な結果につながる。

通常の列に対するハッシュを公開することによって, データ処理の柔軟性が向上, 指定された制約と動作を守りながら、さまざまなデータ型にわたって一貫性と安全性を確保する。

Last updated