エッジでのデータマスキングと変換:Gluesyncフィールド関数の紹介

現代のデータレプリケーションアーキテクチャは、多くの場合、スキーマ定義やデータ形式が必ずしも一致しない異種データベースシステム間で運用されています。Oracle、PostgreSQL、Couchbase、SingleStoreなどのプラットフォーム間でデータを移動するには、通常、型、形式、表現方法の違いに対処する必要があります。

従来、こうした不一致に対処するには、外部の変換ロジックやカスタムスクリプトが必要であり、パイプラインの複雑さと運用上のオーバーヘッドが増大していました。

Gluesync 2.2.9では、レプリケーションエンジン内で直接利用可能な組み込みの変換ライブラリである「フィールド関数(Field Functions)」が導入され、このプロセスが簡素化されました。

ビジュアルな「フィールドエディタ(Fields Editor)」を通じて設定されるフィールド関数により、チームはカスタムJavaコードを記述することなく、レプリケーション中にフィールドレベルの変換を適用できるようになります。

Field Functionsが登場する前は、日付を文字列に変換したり、空白を削除したり、数値型をキャストしたりといった基本的な操作でさえ、多くの場合、カスタムJavaユーザー定義関数(UDF)が必要でした。これらの操作は、現在ではノーコードインターフェースを通じて、コントロールプレーン内で直接利用できるようになっています。

レプリケーションパイプラインにおけるノーコードのデータ準備

フィールド関数により、データ変換がレプリケーションプロセスそのものにさらに近づきました。Gluesyncコントロールプレーンを通じて管理されるこの機能により、ユーザーは列単位で個々のフィールドに直接変換を適用できるようになります。

2つの実行モデルがサポートされています:

  • ・通常のカラム変換:レプリケーション中に既存のソースフィールドに適用されます。これには、型変換、文字列のトリミング、基本的なエンコーディング変換などの操作が含まれ、ソースデータをターゲットスキーマに整合させるのに役立ちます。
  • ・技術的なフィールド変換:ソースデータセットには存在しない、ターゲット専用のフィールドに適用されます。これらは通常、タイムスタンプや静的な環境値などのメタデータを用いて、レプリケートされたレコードを充実させるために使用されます。

フィールド関数のカテゴリ

フィールド関数には、データレプリケーションワークフローにおける一般的な変換要件を網羅するように設計された一連の組み込み式が含まれています。これらは、その動作に基づいて機能カテゴリに分類できます。

1. 時刻フォーマット関数

時刻関数は、日付、時刻、および文字列形式間の変換をサポートします。Date2Str、Time2Str、OffsetDateTime2Str などの関数を使用すると、対象システムに合わせて時刻値をフォーマットすることができ、該当する場合は ISO-8601 パターンもサポートされます。

2. 文字列から時間値への解析

これらの関数は、文字列ベースの値をネイティブな時間型に変換します。例としては、Str2Date、Str2Time、Str2OffsetDateTimeなどがあり、外部またはレガシーソースからのタイムスタンプデータを一貫して処理できるようにします。

3. 数値変換関数

数値キャスト関数により、異種システム間の型互換性が簡素化されます。BigDecimal、Integer、Long、Float、Double などの型間で、外部の変換ロジックを必要とせずに値を変換できます。

4. テキストおよびバイナリ処理

テキスト処理関数は、基本的なデータのサニタイズおよびエンコーディング機能を提供します。Trim 関数は先頭および末尾の空白を削除し、Bytes2Str および Str2Bytes は、設定可能なエンコーディングを使用してバイナリ表現と文字列表現間の変換を可能にします。

5. 技術フィールドおよび定数

技術関数を使用すると、生成された値や静的な値を用いてレプリケートされたデータを充実させることができます。LocalTsやOffsetTsなどの関数でタイムスタンプを追加でき、ConstIntやConstStrなどの定数関数では、固定値をターゲットフィールドに挿入できます。

6. 日付および時刻の変換

追加の時刻関連関数により、タイムゾーンを考慮した変換や、異なる日付・時刻表現間のフォーマット変換がサポートされます。OffsetDateTime2DateDateTime2OffsetDateTimeWithZoneなどの関数は、異なる時間要件を持つシステム間で一貫性を確保するのに役立ちます。

7. データのマスキングと匿名化

データガバナンスポリシーやプライバシー規制(GDPRやPCI-DSSなど)に準拠するため、Gluesyncでは、機密性の高い本番データをターゲットシステムやデータレイクにコミットする前に、転送中に難読化または仮名化することができます。このカテゴリでは、ノーコードのドロップダウンメニューから設定可能な、暗号化および文字単位のマスキングツールを提供しています:

  • MaskString: テキストフィールド内の文字の一部をマスキング文字(*など)に置き換え、先頭または末尾の指定された数の文字のみを表示したままにします。UI上で、対象の文字列フィールド、マスキング文字、および表示を残す文字数の3つのパラメータを定義する必要があります。
    • 例: クレジットカード番号「1234567812345678」を「************5678」のようにマスキングします。
  • HashString: 機密性の高い平文を不可逆な暗号ハッシュに置換します。データの分布や統計分析機能を維持しつつ、一意の識別子を匿名化するのに最適です。ソースフィールドとハッシュアルゴリズム(SHA-256など)を選択する必要があります。
    • 例: 平文のメールアドレス「user@company.com」を、一意の64文字のSHA-256 16進数シグネチャに変換します。

フィールドエディタでのビジュアル設定

フィールド関数は、Gluesync コントロールプレーン内のフィールドエディタから直接設定します。レプリケーションパイプラインにおける変換ロジックの簡素化

オブジェクトブラウザでアクティブなレプリケーションパイプラインを開き、「フィールド」タブに移動しますソース列を選択するか、ターゲット専用のテクニカルフィールドを定義します選択したフィールドのフィールド関数セレクタを開きます利用可能な式から必要な変換を選択します必要に応じてオプションのパラメータを指定します

(書式パターンやタイムゾーンなど)設定を保存して、変更をパイプラインに適用します。

フィールド関数は、変換機能をレプリケーション層に直接統合することで、外部処理スクリプトの必要性を低減し、パイプラインの設計を簡素化します。

これにより、チームはGluesync内でデータ変換を一元的に管理しつつ、異種環境間での一貫性を維持できます。

利用可能なフィールド関数の完全なリファレンスについては、公式のGluesyncドキュメントハブをご覧ください。

フィールド関数はGluesync 2.2.9の一部として提供されており、クラウド、仮想化インフラ、Kubernetesベースのシステムなど、サポートされているすべての展開環境で使用できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください