目次


Optim 相互運用性モデルを利用したデータ・アーカイブの実行

Optim Data Masking Solution の相互運用性モデルを利用して Optim Data Growth Solution の機能を実行する

Comments

はじめに

IBM InfoSphere Optim Data Masking Solution は、機密情報をマスクしてテストデータを作成する機能を提供します。構成に使用するOptim Designerはアーカイブや抽出などの構成も行うことができ、IBM InfoSphere Optim Data Growth Solutionと連携して処理を実行します。V2.1ではその処理をOptim Designer上からのみ実行可能でしたが、 V2.2ではデータ管理サービス(以下「サービス」と表記)としてOptim Management Serverに公開できるようになりました。これにより、データのマスク処理などData Privacy Solution特有の処理だけでなく、Data Growth Solutionが提供しているデータのアーカイブや抽出等の処理要求もOptim Managerと呼ばれるWeb GUI環境から実行できます。この記事では、Linux, UNIX, Windows環境で、Optim Designerを利用してOptim Data Growth Solution(以下Optimと表記) のアーカイブ要求を構成し、Optim Management Serverにサービスとして公開し、実行する手法を紹介します。なお、この記事はOptim DesignerおよびOptimの個別の設定については述べません。個別の製品の設定については以下の記事を参照してください。また、IBM InfoSphere Optim Data Masking SolutionのV2.1までの名称はIBM Optim Data Privacy Solutionとなります。

アーキテクチャ

Optimで行うデータのアーカイブ・抽出などの処理要求の事を「Optim要求」と言います。このOptim要求をOptim Management Serverにサービスとして公開して、実行するためには、以下のコンポーネントが必要となります。

  • Optim Designer
  • Optim Manager
  • Optim Management Server
  • Optim Proxy
  • Optim (Data Growth Solution)

これらのコンポーネントの関係を図1に示します。

図1. アーキテクチャ(Linux, UNIX, Windows)
図1. アーキテクチャ(Linux, UNIX, Windows)
図1. アーキテクチャ(Linux, UNIX, Windows)

データのアーカイブや抽出を行うOptim要求を実行するためには、ユーザーがOptim Designerで“Optim相互運用性モデル(以下OIMと表記)”を作成する必要があります。Optim Designerで作成したOIMは、Linux, UNIX, Windowsやz/OSのOptimと連携して実行が可能です。本稿が対象とするLinux, UNIX, Windows環境の場合、Optim DesignerはOptimのpr0cmndというコマンドを直接起動してOIMを実行します。Data Masking Solution 2.2からは、Optim Management ServerにOIMをサービスとして公開し、Webブラウザー上でOptim Managerを使って、実行や、結果の管理をすることができるようになりました。Optim Managerから実行する場合は、Optim Proxyに実行要求を行い、Optim Proxyがpr0cmndを実行します。

Optim DesignerおよびOptim Managerから実行可能なOptim要求は、アーカイブ要求、削除要求、抽出要求、挿入要求、ロード要求、復元要求、変換要求です。

アーカイブシナリオ

これから示すシナリオに従ってアーカイブを実行します。本稿ではIBM InfoSphere Optim Data Masking Solution V2.2.2を利用して実行しています。画面イメージなどはバージョンによって異なる可能性があります。

実行シナリオは以下の通りです。

  • 顧客と受注の情報として、顧客情報(CUSTOMERS)、受注情報(ORDERS)、商品情報 (ITEMS)の3つの表があります(図2)。受注情報表は、顧客情報表の顧客ID、商品情報表の商品IDを外部キーとして持っています。
  • 2007年に出荷した受注情報については、アーカイブ・ファイルに書き出して受注情報表から削除します。このとき、アーカイブする受注情報に対応する顧客情報、商品情報も一緒にアーカイブしますが、これらの表からはデータの削除はしません。
  • 最後に、アーカイブ・ファイル内のデータを確認します。また、受注情報表からデータが削除され、顧客情報表と商品情報表にはデータが残っていることを確認します。

上記シナリオを以下の手順に沿って実行します。

<実行手順>

  1. アーカイブする表を選択し、アーカイブする条件を設定する
  2. 1で設定した条件でアーカイブを実行するサービスを作成する。ここでアーカイブ後のデータ削除の設定も行う
  3. 作成したサービスをOptim Management Serverに公開する
  4. Optim Managerからサービスを実行する
  5. アーカイブされたデータの中身をOptimから確認し、顧客情報表と商品情報表にはデータが残っていることをDB2コマンドを使って確認する
図2.表構成
図2.表構成
図2.表構成

今回のシナリオの実行環境は図3を参照してください。

図3. 実行環境
図3. 実行環境
図3. 実行環境

今回はクライアント、Optimサーバー、データベース・サーバーはそれぞれ別のサーバーに構成されていますが、すべて同一のサーバーに構成してもかまいません。

手順1: アーカイブの対象表と条件の指定

最初に、Optim要求(本シナリオではアーカイブ)の対象となる表選択のために、データ・アクセス計画を作成します。この操作はデータ・マスキングを実行するサービスを作成する操作と全く変わりません。

Optim Designerを立ち上げ、対象となるデータベースの論理データ・モデルをクリックし、[新規 - データ・アクセス計画]コンテキスト・メニューを選択します。名前には「アーカイブサンプル」を入力し[次へ]を選択します。[パッケージの選択]画面では対象となるパッケージを選択して[次へ]を選択します。今回は関連する表もアーカイブするので、[エンティティーの選択オプション]では[開始エンティティーとの関係に基づいてエンティティーを選択]が選択されていることを確認して[次へ]を選択します。[開始エンティティーの選択]では、今回のアーカイブ対象となる表の一つを選択して[適用]をクリックします。図4では、開始エンティティーにORDERS表を選択して、関連エンティティーにCUSTOMERS表とITEMS表が自動で選択されていることが確認できます。正しく関連表が選択されていることを確認後、[終了]を選択します。

図4. アーカイブ対象表の選択
図4. アーカイブ対象表の選択
図4. アーカイブ対象表の選択

次にアーカイブ対象の条件を指定します。本シナリオでは2007年のデータのみをアーカイブ対象とするので、この条件を追加します。

データ・アクセス計画作成後、Optim Designerでは「アーカイブサンプル」の[データ・アクセス計画エディター]が開いているはずです。この画面から[選択]をクリックし、画面下部にある[エンティティー仕様]に条件を追加します。[エンティティー名]にORDERS表を選択し、[出荷日付]の[選択基準]右側のボタンをクリックすると、SQL構文で条件を入力できます。「BETWEEN '2007-01-01' AND '2007-12-31'」を入力して「OK」を選択します。(図5参照)

図5. 選択基準入力後のエンティティー仕様画面
図5. 選択基準入力後のエンティティー仕様画面
図5. 選択基準入力後のエンティティー仕様画面

セーブ後、すべてのタブを閉じます。

手順2: OIMとサービスの作成

次に、アーカイブを実行するサービスを作成します。

まずはOIMの作成を行います。Optim Designerの[データ・プロジェクト・エクスプローラー]ビューの[相互運用性モデル]ノードを選択し、[新規 - アーカイブ要求モデル]を選択します。プロジェクトを選択後[次へ]を選択し、[アーカイブ要求モデル名]には「アーカイブ要求サンプル」と入力します。[論理データ・モデルの選択]および[データ・アクセス計画の選択]では先ほど作成した「アーカイブサンプル」を選択します。[プラットフォームの選択]では[Distributed(Linux, UNIX, Windows)]を選択して[次へ]を選択します。[アーカイブ要求プロパティーの入力]の「ID」に「SAMPLE」、[名前]に「ARSAMPLE」を入力します。

[サーバー]はOptimが稼動しているサーバーを指定します。今回は公開先のOptim Management Serverと同じサーバーでOptimも実行されるため、ローカルのままでかまいません。

Optim要求の実行後には、ここで入力した値がOptimに保存されます。

図6. アーカイブ要求プロパティーの入力
図6. アーカイブ要求プロパティーの入力
図6. アーカイブ要求プロパティーの入力

[アクセス定義プロパティーの入力]の[DB別名]および[作成者ID]を入力します。[アーカイブ処理のプロパティーおよびオプションの入力]の[アーカイブ・ファイル名]に「ARSAMP.AF」を入力します。Optim要求を実行したサーバー上に、ここで入力したファイル名でアーカイブ・ファイルが作成されます。なお、このパネルにある[参照]ボタンはOptim Designerのローカルディレクトリを参照します。今回のようにOptim DesignerとOptimが異なる環境にある場合は[参照]は利用できません。

さらに、今回はアーカイブ時にORDERS表からアーカイブ対象となるデータを削除するため、[アーカイブ後の削除を延期]の選択を解除します。この設定により、アーカイブ時に削除処理も実行することが可能になります。

図7. アーカイブ処理のオプション設定
図7. アーカイブ処理のオプション設定
図7. アーカイブ処理のオプション設定

[制御ファイル]に「ARSAMP.CF」を入力し[終了]を選択します。Optim Designer上で、OIMが作成されたことが確認できます。

次に、実際に削除を行う表に対して削除を行う設定をします。今回は、ORDERS表からのみデータを削除します。[相互運用性モデル – SAMPLE.ARSAMPLE]からORDERS表を選択し、[プロパティー – アーカイブ後の削除]をYESに変更します。このプロパティーのデフォルト値は[NO]なので、ユーザーが明示的に変更しない限り削除処理は実行されません。変更後に保存してタブをすべて閉じます。

図8. アーカイブ後の削除の実行
図8. アーカイブ後の削除の実行
図8. アーカイブ後の削除の実行

最後に、作成したOIMからサービスを作成します。作成したOIMを右クリックして[新しいサービス]を選択します。

図9. OIMからサービスを作成
図9. OIMからサービスを作成
図9. OIMからサービスを作成

プロジェクトを選択後、[サービス名]に「サンプルサービス」を入力し[終了]を選択します。

手順3: サービスの公開

作成したサービスをOptim Management Serverのレジストリーに公開して実行します。サービスを右クリックして「Optimサービスをレジストリーに公開」を選択します。

図10. サービスの公開
図10. サービスの公開
図10. サービスの公開

「レジストリーの場所」にOptim Management Server上のレジストリーのURLを入力し検証実行後に「OK」をクリックすると、「サービスが公開されました」というメッセージが現れます。

手順4: サービスの実行

ここからは、Optim Managerでの処理になります。

Optim Managerにログオンして[サービス管理]:を選択します。[未割り当てサービス]に先ほど公開したサービスがリストされています。[割り当て]を選択し、実行するサーバーやプロキシーを選択します。

図11. 公開されたサービス
図11. 公開されたサービス
図11. 公開されたサービス

[割り当て済みサービス]からサービスを選択し、[実行]をクリックすればOIMサービスが実行されます。

手順5: アーカイブ結果の確認

最後にアーカイブ結果の確認をします。まず、アーカイブ結果はOptimのツールで確認可能です。なお、アーカイブ・ファイルはOptimのサーバーに保管されることに注意してください。なお、アーカイブ・ファイルの取り扱いについては、IBM Optim Solution V7.2: Data Growth Solution を参照してください。

図12. ORDERS表とそれに関連した表データのアーカイブ結果
図12. ORDERS表とそれに関連した表データのアーカイブ結果
図12. ORDERS表とそれに関連した表データのアーカイブ結果

またDB2コマンド等を使って、ORDERS表のみからアーカイブ後のデータが削除されていることも確認します。

db2 => select count(*) from DW.ORDERS where "出荷日付" between '2007-01-01' and '2007-12-31'
1
-----------
          0

db2 =>  select count(*) from DW.CUSTOMERS where "顧客ID"='C11'
1
-----------
          1
  1 record(s) selected.

db2 => select count(*) from DW.ITEMS where "商品ID"='T22'
1
-----------
          1
  1 record(s) selected.

まとめ

IBM InfoSphere Optim Data Masking Solutionの構成に使用するOptim Designerは、アーカイブや抽出などの構成も行うことができ、IBM Optim Data Growth Solutionと連携して処理を実行する事が出来ます。Data Masking Solution V2.2からは、Data Growth Solutionの処理をOptim Designer上から実行できるだけでなく、その処理をOptim Management Serverに公開し、Web UIであるOptim Managerからも実行することが可能になりました。本稿ではLinux, UNIX, Windows環境において、Data Growth Solutionのアーカイブ処理をOptim Management Serverにサービスとして公開し、実行する方法について紹介しました。


ダウンロード可能なリソース


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=660035
ArticleTitle=Optim 相互運用性モデルを利用したデータ・アーカイブの実行
publish-date=05272011