目次


IBM InfoSphere Optim Archive 解説

第 1 回 アーカイブ・サービスの作成と実行

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: IBM InfoSphere Optim Archive 解説

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:IBM InfoSphere Optim Archive 解説

このシリーズの続きに乞うご期待。

はじめに

IBM InfoSphere Optim は、エンタープライズ・アプリケーションのパフォーマンス向上や企業が保存するデータの安全性を高めるために、データベースに保存されたデータの管理を行うソリューションです。前回の連載では、Optim Test Data Management の機能について解説しました。IBM InfoSphere Optim V11.3 (以下、Optim V11.3) になり新たに IBM InfoSphere Optim Archive (以下、Optim Archive) の機能が追加されました。

基幹業務データベース・アプリケーションを運用してゆくと履歴トランザクション・レコードがデータベースに追加されてゆきます。長期間運用を続けることにより、これらがデータベース・アプリケーションのパフォーマンスに影響を与え、ストレージ・コストを上昇させます。Optim Archive はこのようなレコードの保存・削除・復元を行うためのソリューションです。今回の連載はこれらの機能について 2 回に分けて解説します。

IBM InfoSphere Optim V11.3 の概要

Optim V11.3 を使うと、データベースのデータを外部ファイルに保存したり、そのデータを加工して再びデータベースに格納する作業を行うことができます。これらの作業は「データ管理サービス」 (以下、サービス) と呼ばれます。Optim の主なコンポーネントは以下の 3 種類で、これらを使ってサービスの開発・管理・実行を行います。

  • Optim Designer
  • Optim Manager
  • Optim Server

図 1 に Optim V11.3 の構成概要を示します。

図 1. Optim V11.3 の構成概要

これらのコンポーネントについての詳細や Optim の用語に関しては前回の連載、「IBM InfoSphere Optim Test Data Management Solution 解説」をご覧ください。

Optim V11.3 になり、Optim Archive として新たに次の 3 つのサービスとそれらに関連する機能が追加されました。

  • アーカイブ・サービス
  • 削除サービス
  • リストア・サービス

アーカイブ・サービスはデータベースのデータをアーカイブ・ファイルと呼ばれる外部ファイルに保存します。削除サービスは、保存されて不要になったデータをデータベースから削除します。リストア・サービスはアーカイブ・ファイルの内容をデータベースに書き戻します。

これらの新たなサービスについて、前回の連載と同様に、レンタル DVD チェーン店の業務シナリオを例にとって説明してゆきます。

シナリオ

このシナリオで扱うのはレンタル DVD チェーン店の顧客情報とレンタル記録に関するデータです。このデータは顧客、店舗、商品に関する情報と日々のレンタル記録が 5 つのテーブルに分かれて保存されています (図 2)。

図 2. サンプル・シナリオで使用するデータベースの構成

業務を続けていくうちに日々のレンタル記録が増加し、システムの効率が下がってきました。そこで不要になった古いデータを外部ファイルに保存してデータベースから削除し、効率化を図ることにしました。

具体的には以下のことを行います。

  • 1 年以上前の返却済みレンタル記録は外部ファイルに保存する
  • 保存したデータは本番環境データベースから削除する
  • 保存作業は毎月 1 日に自動で行う
  • 削除作業は保存作業の結果を確認したあとに手動でおこなう
  • 必要なときには、外部ファイルに保存されているレンタル記録を開発用データベースに復元し、内容を確認できるようにする

このシナリオのために、以下の 3 つのサービスを作成します。

  • アーカイブ・サービス
  • 削除サービス
  • リストア・サービス

アーカイブ・サービス

アーカイブ・サービスはデータベースの中のデータをアーカイブ・ファイルと呼ばれる外部ファイルに出力します。このファイルにはデータとともに、表や列情報も保存されます。アーカイブ・ファイルは以前紹介した抽出ファイルと似ています。違いは履歴を管理できたり、ファイル内のデータに対して SQL 文を発行してあたかもデータベース内のデータのように検索できることです。またアーカイブ・ファイルはアーカイブ・コレクションと呼ばれる機能を使ってグループ化すると、データの検索や参照が容易に行えるようになります。

アクセス定義の作成と編集

アクセス定義は、データベースのどの表からどのようにデータを取り出すかを指定するオブジェクトです。アーカイブ・サービス本体を作成する前にまずアクセス定義を作成しておきます。作成手順は、前回の連載で抽出サービスの作成の際に行ったときとほぼ同じなのでそちらを参照してください。ここでは (MAINT.AD01) という名前でアクセス定義を作成し、「レンタル記録」表とそれに関連する表を保存対象として選択します。

選択基準の設定

今回のシナリオでは古いデータの保存が目的なので、「レンタル記録」表の中で返却日が一定の日付よりも古いものだけをアーカイブします。このようなデータの選択条件もアクセス定義の中で指定します。

アクセス定義が作成されて、アクセス定義エディターが表示されたら、「選択」タブの「表」タブを選択します。「レンタル記録」表を右クリックし、「選択基準の追加」を選択します。「表の指定」ダイアログが表示されるので、「選択基準」タブの中の「Table Level」タブを選択して、入力フィールドに選択基準を指定する SQL 文を記述します (図 3)。

具体的には以下の条件文を入力します。

返却日 < TRUNCATE(current date – 1 year, 'MONTH')

これで「レンタル記録」表から「返却日」列のデータが一年前よりも古い月になっているレコードが選択されます。本来ファイルにアーカイブして元のデータベースから削除すべき必要があるのは「レンタル記録」表のデータだけです。しかしアーカイブされたデータを復元した際、顧客や店舗などの情報も参照できるように他の表からもデータを保存しておく方が便利です。そのため今回のシナリオではそれ以外の関連表のデータも保存することにします。関連表からは、開始表から保存されたデータが参照しているデータ・レコードのみが保存されます。

図 3. 選択基準の設定

削除オプションの指定

今回のシナリオでは、アーカイブしたあと、ファイルに保存されて不要になったデータをデータベースから削除します。削除する必要があるのは「レンタル記録」表のデータのみです。「顧客」や「店舗」などの他の表の情報は新たにレンタルを行う際や削除されていないレンタル記録を参照する際に必要となるので本番データからは削除しません。

これを指定するには、アクセス定義エディターの「選択」タブの「表」タブで、「レンタル記録」表を選択し、「表の詳細」タブの「Delete after archive」をチェックします。他の表にはこの指定を行いません (図 4)。

図 4. 削除オプションの指定

最後に、修正したアクセス定義を保存しておきます。

アーカイブ・サービスの作成

次にアーカイブ・サービスの本体を作成します。フォルダーを右クリックし、「新規」-「サービス」を選択して、「新規サービス」ウィザードを表示します (図 5)。

図 5. サービス名の入力とアーカイブ・サービス・タイプの選択

名前と説明を入力し、サービス・タイプとして「Archive」を選択して、「次へ」をクリックします。「アクセス定義の選択」が表示されるので、「アクセス定義の選択」ラジオボタンを選択してから先ほど作成したアクセス定義 (MAINT.AD01) を指定し、「次へ」をクリックします (図 6)。

図 6. アクセス定義の選択

次の画面ではアーカイブ・ファイル名を入力します (図 7)。

図 7. アーカイブ・ファイル名の入力

このアーカイブ処理は毎月実行されます。ここでアーカイブ・ファイル名を単純に指定してしまうと、サービスが実行されるたびに前回作成されたファイルが上書きされてしまいます。そこでファイル名に実行された年月日を入れて、毎回異なるファイル名で保存されるようにします。

Optim ではファイル名をダイナミックに変更するためのマクロが用意されています。この機能を使い以下のように指定します。

archive<$YY,-,$MM,-,$DD>.AF

こうすると、例えば 2015 年 3 月 1 日にサービスが実行されれば、ファイル名は archive15-03-01.AF となります。

マクロの詳細については、製品に付属のドキュメントを参照してください。

アーカイブ・サービス・エディター

アーカイブ・サービスが作成されると、ディレクトリー・エクスプローラーのフォルダ内にアイコンと名前が表示され、アーカイブ・サービス・エディターが開きます (図 8)。

図 8. アーカイブ・サービス・エディター

アーカイブ・サービス・エディターの各タブの機能は以下の通りです。

表 1. アーカイブ・サービス・エディターのタブの役割
タブ機能
ファイルアーカイブ先ファイルを指定します。
ファイル圧縮オプションアーカイブ・ファイルに対する圧縮方法を指定します。
Collectionsアーカイブ・ファイルをグループ化するための、アーカイブ・コレクションを指定します。
Deleteアーカイブ実行後に、アクセス定義で削除が指定された表から、保存したデータの削除を行うかどうかを指定します。
処理オプションサービス実行時のデータベースへの接続数などを指定します。
データおよびオブジェクトアーカイブ・ファイルに書き出すデータベース・オブジェクト (データや索引など、各種の情報) を指定します。
変数アクセス定義の同名タブと同じ機能です。
アクセス定義の「選択基準」の SQL 文内で使用する変数を定義して、抽出の条件がサービスの実行時にダイナミックに変更されるようにできます。
両方で指定された場合は、こちらの内容が優先されます。
ポイント・アンド・シュートアクセス定義の同名タブと同じ機能です。
開始表の特定の行だけを選択するために使用する主キーのリストを Optim では、「ポイント・アンド・シュート・リスト」と呼びます。ここではこのリストの指定を行います。
両方で指定された場合は、こちらの内容が優先されます。
通知サービスの処理終了時に結果をメールで知らせる先を指定します。

今回のシナリオではデータの削除は削除サービスで行うので、「Delete」タブの「アーカイブ後の削除を延期」をチェックし、アーカイブ・サービスの実行時には削除が行われないようにします (図 9)。

図 9. アーカイブ・サービス・エディターの「Delete」タブ

内容を確認したら、アーカイブ・サービス・エディターを閉じて作業を完了します。

アーカイブ・サービスのスケジュール実行

作成されたサービスは毎月 1 日に実行されるように Optim Manager からスケジュールしておきます。

まず、ブラウザーから Optim Manager にログインし、「サービス管理」タブで作成したアーカイブ・サービスに適当な Optim Server を割り当てておきます。

次に、サービスを選択し、「スケジュール」タブをクリックし、「スケジュールの作成...」ボタンをクリックします。

開始日、開始時刻を記述し、「反復のオプション」で「毎月 (特定日)」を選択します。日付の入力フィールドが表示されるので、「1」を入力し、「保存」ボタンをクリックし、保存します (図 10)。

これでサービスの「状態」が「作動可能でスケジュール済み」となり、毎月 1 日の指定した時刻にアーカイブ作業が行われます。前述のようにアーカイブ・ファイルの名前には保存した日付が入ります。

図 10. スケジュールの作成

3 月 1 日に保存されたアーカイブ・ファイル archive15-03-01.AF の内容を Browser 機能を使って見てみると、返却日が前年の 2 月 28 日までのデータがファイルに保存されていることが確認できます (図 11)。

図 11. アーカイブ・ファイルの内容の確認

まとめ

今回はアーカイブ・サービスを作成して不要なデータをファイルに保存しました。この作業は毎月定期的に行われるものなので、Optim Manager のスケジュール機能を使って自動で実行するようにしました。

次回は、不要なデータをデータベースから削除する削除サービスと、アーカイブされたデータを異なるデータベースに復元するリストア・サービスについて解説します。


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


関連トピック


コメント

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=1008038
ArticleTitle=IBM InfoSphere Optim Archive 解説: 第 1 回 アーカイブ・サービスの作成と実行
publish-date=06232015