レベル: 初級 片山 慎, ソフトウェア開発研究所, IBM 安達 くみ, 情報マネジメント技術/ソフトウェア開発研究所, IBM
2006年 12月 08日 DB2 Data Warehouse Edition Version 9.1(以下、DWE)は、2006年3月に発表された、統合データウェアハウジング・プラットフォームです。DWEは、ビジネスインテリジェンスに関連したDB製品に対して、開発から分析まで一元化された環境を提供します。(1) 構成編では、DWEのデータウェアハウス・サーバーや、アプリケーション・サーバーをSUSE LinuxおよびAIX上で動作させる際の構成について解説します。
DB2 Data Warehouse Edition Version 9.1(以下、DWE)は、2006年3月に発表された、統合データウェアハウジング・プラットフォームです。DWE は、DB2のビジネスインテリジェンス製品であるSQL Warehousing Tool、Intelligent Miner、Cube Views、Alphablox の技術を基にしています。Design Studioは、Eclipse ベースで作られており、物理データ・モデリングのための Rational Data Architect プラグインと、ウェアハウス・ベースの分析構造モデリングのための他の DWE コンポーネントとを一体化しています。DWEのチュートリアルで紹介されているアプリケーション開発手法は、Windows上のデータウェアハウス・サーバー、アプリケーション・サーバー、クライアント上のものとなっています。そこで、本稿では、(1) 構成編、(2) 開発編の2回に分けて、実際にお客様での採用事例のあるSUSE Linux上でデータウェアハウス・サーバーおよびアプリケーション・サーバーを構成し動作させ、Windowsクライアント上のDesign Studioを用いて、データ・フロー、制御フローやマイニング・フローを開発するシナリオや、デプロイを行なう時のシナリオでの注意点や開発手法について解説します。また、AIX上でデータウェアハウス・サーバーを稼働させた際の注意点や開発手法についても解説します。
開発の詳細な手順についてはDWEのチュートリアルをご参照ください。
アプリケーション開発の環境
DWEのコンポーネント
DWEのコンポーネントは、図1のように、データウェアハウス・サーバー・コンポーネント、アプリケーション・サーバー・コンポーネント、クライアント・コンポーネントという3つの論理グループに分けられます。本稿では、それらのグループを別々の3台のコンピューターにインストールして検証を行ないました。DWEのチュートリアルで紹介しているように、これら3つのコンポーネントを1台のWindowsコンピューターに導入することや、2つのサーバー・コンポーネントを1台のコンピューターに導入することも可能ですが、実案件ではデータベースサーバーと開発環境を別筐体にすることが多いので、現実的な環境ではありません。
図1: DWEのコンポーネント
DWEアプリケーションの開発環境
Linuxを用いた開発シナリオでは、実際にお客様での採用事例のある、SUSE 9日本語環境(LANG=ja_JP.UTF-8)上でデータウェアハウス・サーバーおよびアプリケーション・サーバーを動作させます。クライアント・コンポーネントの環境にはWindows XP SP2およびWindows 2000 SP4を用います。
また、AIXを用いた開発シナリオでは、データウェアハウス・サーバーでAIX 5.2 ML6日本語環境(LANG=Ja_JP)を用い、アプリケーション・サーバーはSUSE 9日本語環境(LANG=ja_JP.UTF-8) を使用します。
開発環境の物理データモデル
開発シナリオで使用するスタースキーマ型のデータベース “CUBE”のデータモデルは図2、図3の通りです。
図2: データベース “CUBE”のデータモデル その1
図3: データベース “CUBE”のデータモデル その2
開発シナリオで使用するLinuxがSUSE Linuxであるため、データベース・コードページがデフォルトで1208、データベース・コード・セットはUTF-8となります。RedHat Linuxの場合であれば、EUCがデフォルトのコード・セットになります。AIXの場合には、デフォルトのデータベース・コードページが943、データベース・コード・セットがIBM-943となります。
導入・構成時の注意点
Query Patrollerの導入
Query PatrollerはDWEのコンポーネントの一つとして同梱されていますが、DWE V9.1インストーラーのパッケージの問題のため、Kernel 2.6の32bit Intel machine上ではQuery Patrollerを導入できません。導入が必要な場合には、サポートに問い合わせることでコンポーネントを入手してください。
この問題は、DWE V9.1.1で修正される予定です。
データ・フロー実行前のデータベースの構成
開発シナリオで使用するデータベースでUSER用のBUFFERPOOLとUSER TEMPORARY TABLESPACEの領域を作成する必要があります。以下のように、BUFFER POOLとUSER TEMPORARY TABLESPACEを、マシン環境に合わせた形で作成してください。図4にその例を示します。
図4: データベースの構成例
データ・フロー実行前のデータベースへの接続
Design Studioで、データ・フローを作成、妥当性検査を行なった後に実行を行なうと、リモート・サーバーのデータベースに接続できないために、実行エラーが発生します。接続エラーが発生する場合には、DB2 コマンド・ウィンドウで、DB2 CATALOGコマンドでリモートカタログを行ないます。
WebSphere Application Server (WAS) 起動時のDB2プロファイルの読み込み
アプリケーション・サーバーのAdmin Console上で、データベースへのテスト接続時にJDBCエラーが発生する時、またはMQTのデプロイを実行時に正しく動作しない時には、rootユーザーでWASを起動する前に以下の操作を行って、これらの問題を解決します。
- データウェアハウス・サーバーで、DB2を停止、起動します。
- アプリケーション・サーバー上のrootユーザーで、以下を実行して、DB2プロファイルを読み込ませます。
/home/db2inst1/sqllib/db2profile
|
上記の記述は、bashまたはKornシェルの場合です。他のシェルの場合には以下のサイトを参照してください。
UNIX アプリケーション開発環境のセットアップ
- アプリケーション・サーバー上のrootユーザーで、WASを起動します。
Admin Consoleでのテスト接続
Admin Consoleのデータベース・プロファイルで、作成したプロファイルにテスト接続を行なうと、リモート・サーバーのデータベースに接続できないために実行エラーが発生します。ターミナル・プログラム(TeraTermなど)でアプリケーション・サーバーに接続後、DB2 CATALOGコマンドでリモートカタログを行なうことで問題を回避できます。
Intelligent Minerの構成
データウェアハウス・サーバー上のJavaのバージョンが 1.4.1または1.4.2の場合、インストール・ガイドで記述されているIntelligent Minerの構成で記述されているコマンドだけでは環境設定が不足しているため、マイニング・フローを実行した場合、マイニング関数を呼び出すと、SQL4301Eが返ってきて実行エラーとなります。導入されているJavaのバージョンにより、図5に示した解決方法があります。
図5: Intelligent Minerの構成
まとめ
本稿では、DWEを、実際にお客様での採用事例のあるSUSE Linux上で導入し、データウェアハウス・サーバーおよびアプリケーション・サーバーを構成させるまでの注意点について解説しました。
(2) 開発編では、データウェアハウス・サーバーおよびアプリケーション・サーバーを動作させ、Windowsクライアント上のDesign Studioを用いて、データ・フロー、制御フローやマイニング・フローを開発するシナリオを作成し、デプロイを行なうまでの注意点や開発手法について解説します。
参考文献
著者について  | |  | 片山 慎はソフトウェア開発研究所のエンジニアで、Business Intelligenceの分野におけるプロジェクトでの開発業務を担当していました。現在は、Text Miningの分野におけるプロジェクトを担当しています。 |
 | |  | 安達 くみはソフトウェア開発研究所のエンジニアで、Business Intelligence, Master Data Managementの分野におけるプロジェクトでの開発業務を担当しています。 |
記事の評価
|