オープンソース BI を使ったデータ統合(ETL)とレポーティングの実現

◇MYNOS-2014 年 8 月号-
オープンソース BI を使ったデータ統合(ETL)とレポーティングの実現
----- Pentaho を使った BI システム基盤構築 事例 ----企業の中には、基幹システムのデータのほか、別パッケージ等で稼働している基幹システム以
外のデータ、CSV や Excel など外部から提供されるデータなど、様々なデータが様々な形式で存
在します。現場では、単一システムのデータだけでなく、これら複数のデータを組み合わせ、売上
レポート、在庫レポート、予実管理表など、様々なレポートを作成しています。
今回は複数のデータを統合し、レポート作成するツールとして、オープンソースである Pentaho
の導入事例と導入する上でのコツ、ポイントをご紹介していきます。
■課題
E 社では月次で売上レポート、在庫レポートなど約100本のレポート(CSV、Excel)を作成する
中で次の課題を抱えていました。
1.
DB、CSV、テキストデータを組合せて、レポートを作成するのに手間がかかる
2.
レポートの作成が属人化している(担当者じゃないとレポート作成できない)
3.
クエリー(SQL)でテーブル結合を多く必要とし、結果としてクエリー実行処理に時間が
かかっている
4.
新しいレポートニーズに対応できていない
そこで弊社は上記課題解決のため、オープンソースソフトウェア(OSS)のビジネスインテリジェ
ンス(BI)製品である Pentaho を使ったデータ統合(ETL)とレポーティングシステム構築を提案しま
した。
■Pentaho(ペンタホ)とは
Pentaho とは、OSS の BI 製品で、従来の商用 BI 製品と同等の機能と性能を提供している統合
BI スイート製品です。
Pentaho は以下のとおり BI 機能すべてをカバーしています。
1.
データ統合(ETL)
2.
多次元分析(OLAP)
3.
レポーティング
4.
ダッシュボード
5.
データマイニング
これまでに500万以上がダウンロードされ、2,000社以上の商用ユーザー、10,000以上の
デプロイメントの実績がある製品です。
コミュニティによって提供される OSS の無償版(Community Edition)と、拡張機能およびテクニ
カルサポートを含んだ有償版(Enterprise Edition)があり、今回は無償版を採用しました(将来、
必要になった時に有償版への移行を検討)。
■システム全体イメージ
・データ統合ツール「Pentaho Data Integration」を Amazon Web Services(AWS)の Amazon Elastic Compute Cloud(Amazon
EC2)上に構築
・基幹システム(Oracle、約50テーブル)、外部から提供される CSV やテキストデータをデータ統合(ETL)し、データウェアハウ
ス(DWH)を構築(AWS の Amazon RDS for Oracle を使用)
・毎日夜間にジョブスケジューリング(cron)して ETL を実行
・レポート出力(約100本)は DWH のデータを抽出し、CSV/Excel を出力
■データ統合(ETL)JOB イメージ
■レポート出力 JOB イメージ
■解決 1. データ統合で属人化を解消
【課題】
レポート作成の事前準備作業として、基幹システムデータと外部提供の CSV やテキストデータ
を Microsoft Access に取り込み加工する必要があり、非常に手間がかかっていた。
また、Access スキルを持った社員が限られ、作業が属人化していた。
【解決策】
データ統合ツール「Pentaho Data Integration」を使い、DWH を構築。
Access を解析してレポートに必要なクエリーを移行したため、Access へのデータ取り込みと加
工が不要になり、属人化が解消。
■解決 2. 非正規化したテーブルを用意してレポート作成時間を短縮
【課題】
基幹システムのテーブルは正規化され、無駄が少なくビジネス変化に対応しやすくなっている
反面、複雑なレポートや BI 分析を行う時にはパフォーマンス(時間)に問題があった。
【解決策】
DWH 上に複数テーブルを結合した非正規化テーブルを用意。レポート作成時のクエリーで非
正規化テーブルを参照することで、クエリー処理時間を短縮。
次に、Pentaho データ統合を導入する上でのコツ、ポイントをご紹介いていきます。
■Tips1. 差分コピーで ETL 時間を短縮
レコード件数が少ないテーブルを DWH へ登録する時は、全件削除&全件コピーを行ない、レ
コード件数が一定数(100万件)を超えるテーブルには更新日付が3か月以内のレコードだけを
抽出して、マージすることで時間を短縮。
■Tips2. データを暗号化してクラウド利用でもセキュリティを強化
DWH を AWS 上に構築。Amazon Virtual Private Cloud(Amazon VPC)を使い、論理的に分離
した仮想ネットワーク環境だが、万一不正アクセスされた場合に備え、データの暗号化。
Pentaho は独自のプラグインモジュール開発が可能であり、暗号化/復号のプラグインモジュ
ールを開発。DWH 登録時に暗号化し、レポート出力前に復号。
■Tips3. 処理完了後には完了通知メールを配信
Pentaho のメール送信の機能を使い、ETL 処理完了時、レポート出力完了時に担当者へメー
ルを送信。処理成功時と失敗時でメール宛先、件名、本文を切り替え、失敗時にはエラーログフ
ァイルを添付してメールを送信。
■今後の展望
Pentaho の OLAP デザインツール「Schema Workbench(スキーマワークベンチ)」を使って、
OLAP 分析のキューブ定義をすることで、ブラウザ上でレポート表示内容の編集、分析など多次
元分析(OLAP)機能の実現を目指しています。
■所感
Pentaho のデータ統合ツールは無償版と有償版で機能に差がありません。
次のようなケースに向いています。
1.
DB 移行作業(DB to DB)
2.
DB インポート取込作業(File to DB)
3.
ファイルエクスポート作業(DB to File)
オープンソース BI を使ったデータ統合(ETL)やレポーティング、Pentaho にご興味がある場合
は弊社ホームページのお問い合わせフォーム、または弊社担当営業までお気軽にお問い合わ
せください。
解説:東日本ソリューション本部 第一ソリューション開発部 武内大