技術ブログ
目次
峯岸です。今回は、Qlik Replicate(旧Attunity Replicate)でマスキングしながらデータ連携できる機能であるマスキングオプションについてご紹介いたします。
データマスキングオプションはインサイト・テクノロジー社の製品であるInsight Data Maskingと連携し、データをマスキングしながら同期処理を実現するという機能です。ロジカルレプリケーション製品の強みとして転送中にデータを加工できるという点も大きな要素であるため、製品の特長を活かした機能であると言えます。
ここでQlik Replicateのデータ転送のアーキテクチャーをご説明いたします。以下のスライドに記載しているとおり、初期同期のためのFull LoadとソースデータベースでDMLが実行されるとトランザクションログ(Oracleの場合REDOログ)からQlik ReplicateサーバーがDMLを抽出する変更データキャプチャーの2通りの機能があります。
上記のままだと、ソースで実行されたDML等はそのままターゲットに伝搬されることになりますが、FilterやTransformationを設定することで、ターゲットに適用するデータをカスタマイズすることができます。
次項で説明しますが、今回使用するデータマスキングオプションはTransformation機能を利用してマスキング処理を実行します。
データマスキングオプションを使用すると、Qlik ReplicateのTransformation機能と連携し、Qlik Replicateサーバー上でマスキング処理を実施します。その後、マスキング処理が実施されたDMLをターゲットデータベースに反映します。
コーソルでもマスキングを行いデータ公開するシステムの構築案件を依頼いただくことがありますが、多くは以下の2パターンになります。
1.の場合は中間サーバー上のデータベースライセンス費用が発生しますし、2.の場合はターゲットデータベース上に負荷がかかり、マスキング処理中はデータへのアクセスを行わせないようにしなければなりません。また、ターゲットデータベースがパブリッククラウド上にある場合は、マスキングするまでの間、本番データが一時的にパブリッククラウド上に存在してしまうというリスクを背負うことになります。Qlik Replicateのマスキングオプションを利用するとこういった問題を回避し、リアルタイムに近いタイミングでデータを同期することが可能です。
それでは前回のエントリでご紹介した環境に、IDMサーバーを追加し、マスキングの設定を行う手順をご紹介いたします。
※ここではIDMサーバーの追加/初期設定手順は省略します
Qlik Replicateと連携するためのconfig.confを作成します。IDM Managerにログインし、テンプレートタブ(①)をクリック→マスキング(②)→追加(③)ボタンをクリックします。
※使用したいマスキングアルゴリズム分、テンプレート追加処理を実施してください
エクスポートボタンをクリックします。
確認のダイアログが表示されるのでOKボタンをクリックします。
ブラウザから設定ファイルがダウンロードされます。ここでファイル名がexport_template_アカウント名_数値.jsonとしてダウンロードされるので、ファイル名をconfig.confに変更します。
Qlik Replicateのインストールディレクトリ配下のaddonsディレクトリの下に展開したIDMアドオンモジュールを配置します(IDMアドオンモジュールはインサイト・テクノロジー社からQlik Replicateマスキングオプションを購入することでダウンロードできるようになります)。
WindowsのスタートメニューよりQlik Replicateサーバーの停止→起動を実施します。
Qlik Replicate Managerにログインし、対象タスクのマスキングしたいテーブルを選択します。
Transformをクリックし、対象カラムのfxをクリックします。
Functionsタブ(①)をクリックし、User Definesサブタブ(②)をクリックし、insight_data_masking関数(③)をダブルクリックします。第一引数に$+カラム名、第2引数にIDM Managerで設定したテンプレートIDを指定します。最後にOKボタン(⑤)をクリックします。
テーブル設定画面に戻るので、対象カラムのExpression列にinsight_data_masking関数が設定されていること(①)を確認し、OKボタン(②)をクリックします。
設定の変更にはタスクの再起動が必要な旨のダイアログが表示されるのでYesをクリックします。
Run(①)→Reload Target(②)をクリックします。
確認のダイアログが表示されるのでYesをクリックします。
ここまでで設定は完了です。
実際にデータを確認すると以下のように変更されていることが確認できます。
<ソースDB(Oracle Database)>
<ターゲットDB(Aurora PostgreSQL)>
今まではマスキングというとアプリケーションが本番環境に模したデータでテストするために開発環境等にデータを移行し、マスキングするという使い方が一般的でしたが、オンプレのデータを個人情報をマスキングした後、Public CloudのBI基盤に連携し、分析/参照するという事例も増えてきています。Qlik Replicateでは異なるデータベース間でマスキングしながらデータ連携が可能なため、オンプレのOracle DatabaseのデータをAWSのRedshiftやGoogle CloudのBig Query、Snowflakeなどの分析用データベースサービスへマスキングしながら連携するといった、分析基盤へのアップローダーとして使用することも可能です。
分析基盤へのデータ連携製品をお探しの場合にも、是非コーソルまでご連絡下さい。
ロジカルレプリケーションは非常に複雑な技術です。お客様に最適なロジカルレプリケーション製品をご案内できるよう、コーソルでは複数のロジカルレプリケーション製品を取り扱っています。
これらすべての製品について、製品を熟知したエンジニアが設計・導入作業を担います。
Oracleのロジカルレプリケーションをご検討の際はぜひコーソルにお声がけください。