Pentaho BI platformの最近のブログ記事

BIサーバーのクラスタリング

|
実験的にPentaho BIサーバーをクラスタ構成にしてみましたので、簡単にご紹介します。

クラスタのメリットですが、一般的には以下のよう言われています。(環境や場合によりますのですべてがそうとは限りません。)

・可用性
・セキュリティ
・拡張性
・スピード

では簡単に手順をご紹介します。
2台にPentaho BIサーバーをそれぞれインストールします。BIサーバーをロードバランスさせるには、まずApacheとTomcatを連携させる必要があります。連携に必要なコネクタには、mod_jkを使用しました。

以下の図の構成になります。


balancing_01.jpg

mod_jkにより複数のBIサーバーを一つのhttpdから公開します。クラスタの設定では、セッションごとにPentaho BIサーバーを固定する設定にし、セッションが有効な間は同一BIサーバーが処理を行います。セッションレプリケートまでは確認できておりません。(すみません。)

運用に必要なロールやユーザー情報を管理するリポジトリデータベース、クライアントツールで生成したファイルを管理するソリューションファイルは、それぞれのPentahoが管理しています。クラスタ構成にすることでこれらを一元管理する必要があります。

まず、リポジトリデータベースはnode1のMySQLで共有しました。node2はnode1のリポジトリを参照する設定を行います。また、ソリューションファイルの格納場所もnode1で管理しました。node2はNFSでマウントすることにより共有します。

以下がステータスです。2台のBIサーバーが稼働しています。
http://192.168.0.151/pentaho/にアクセスするとセッションごとにnode1、node2に割り振られBIサーバーを利用できています。

balancing_worker.jpg

KSKソリューションズでは、過去記事のOpenID構築オプション、クラスタ構築オプションをPentaho導入時のサービスとして行っております。
これらに関する詳しい情報は、お問い合わせよりお問い合わせお願いします。


★Have a nice Open Source Day★
KSK ソリューションズ Pentahoチーム

BIサーバーOpenID認証のご紹介

|
8月も半ばにさしかかり、暑さも厳しいこの頃ですね。

さて、過去の投稿で pentaho シングルサインオンに関して紹介をいたしましたが、
今回は、某オープン系プロジェクトにて、Pentaho BI Server にログインをする際にOpenID 認証を
利用したシステム開発を行いましたので、簡単な内容をご紹介したいと思います。

認証は以下フローで行います。
1. OpenID認証画面に遷移
2. OpenIDプロバイダーにてユーザ認証
3. BIサーバー認証用データ取得 (初回アクセス時のみBIサーバー認証用データを自動生成)
4. BIサーバー自動認証
5. サービス利用開始

1. OpenID認証用画面例
open1.JPG


ログイン後の画面をカスタマイズする方法です。

通常は
06_00.jpg

こんな画面が表示されますが、
これは
biserver-ee\tomcat\webapps\pentaho\mantle\launch\launch.jsp
で設定されています。
なのでこの
launch.jsp
をいじればいろいろカスタマイズできるということです。



例1)
------------------------------------------------------------
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Launch</title>
</head>
<body>
<iframe src="http://www.yahoo.co.jp/" width="100%" height="100%" frameborder="0">
  <p>Your browser does not support iframes.</p>
</iframe>
</body>
</html>
------------------------------------------------------------
こう書いて

06_01.jpg

yahooを出したり



例2)
------------------------------------------------------------
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page pageEncoding="utf-8" %>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Launch</title>
</head>
<body>
<h1>Launch pad</h1>
<p>以下のレポートを参照してください</p>
<ul>
  <li><a href="http://localhost:8080/pentaho/ViewAction?&solution=XXX&path=XXX&action=XXXXX.xaction">エリアチャート</a></li>
  <li><a href="http://localhost:8080/pentaho/ViewAction?&solution=XXX&path=XXX&action=XXXXX.xaction">マーケティング分析</a></li>
</ul>
</body>
</html>
------------------------------------------------------------
こう書いて

06_02.jpg

レポートへのリンクを貼ったり



例3)
------------------------------------------------------------
<%
    String xactionPath = "http://localhost:8080/pentaho/ViewAction?solution=xxx&path=xxx&action=xxxxx.xaction";
    response.sendRedirect(xactionPath);
%>
------------------------------------------------------------
こう書いて

06_03.jpg

いきなりレポートを表示したり


と、
いろいろできます。


★Have a nice Open Source Day★
KSKソリューションズ Pentahoチーム

Pentahoが分析するデータ・ウェアハウスへの接続は、JDBC、ODBCで行います。
データ・ウェアハウスを構築するデータベースの性能がパワフルで高速であればあるほど、大量データの分析や複雑な分析が可能となってきますので、データベースの選択は非常に重要になってきます。

今回は、分析アプリケーションやデータ・ウェアハウスに最適なハイパフォーマンスデータベース、Infobrightをご紹介いたします。
Infobrightの大きな特徴の2つを以下に記載します。

・列指向データベースとナレッジグリッドアーキテクチャー

Infobrightのテクノロジーは、分析ニーズに理想的なソリューションを提供するために列指向データベースとナレッジグリッドアーキテクチャーを組み合わせます。他のデータベース製品はインデックスを作成、データを分割、物理データ構造を構築といった手間を必要としますが、Infobrightの自己管理ソリューションはこういった手間を省き、複雑なクエリーに対して素早いレスポンスを返します。

・データ圧縮

他のデータベース製品は高いパフォーマンスと拡張性を提供するために、複雑で高価なハードウェアインフラストラクチャーを必要としますが、Infobrightソリューションは一つのサーバーで50TBまで拡張でき、業界最高のデータ圧縮(10:1~最大40:1)でストレージ使用率を大きく抑えます。

処理速度が非常に早い、かつ、データ圧縮による使用率拡大、低コスト。
Infobrightは、まさにこれから求められるデータ・ウェアハウス向けのデータベースと言えるでしょう。
Infobrightの詳しい内容やお問い合わせはこちらから

★Have a nice Open Source Day★
KSKソリューションズ Pentahoチーム
「オープンソース」=「コストダウン」というイメージが強いのですが、実際にオープンソースBIを導入した場合に商用オープンソースはどれほど安いのか、さらにどういった課金体系になっているのか等、なかなか見えてきません。

今回は、情報管理、BI、分析分野のリサーチアナリストであるMark Madsen氏によるホワイトペーパーから、コマーシャル(商用)オープンソースのコスト感をつかんでいきます。このホワイトペーパーでは、BIのコストを既存のベンダーとオープンソースベンダーのPentahoを比較しています。

BI製品を比較するには、様々な視点がありますが、まず1ユーザー当たりにかかるコストで比較することができます。導入の規模やユーザー数によっても大きく変わってくるので、各ベンダーごとに、導入時のユーザー数と合わせて比較していきます。
下のグラフは、導入の規模のがsmall, medium, largeと分類されていますが、それぞれユーザー数が25、100、500人を想定しています。

●ユーザー一人当たりの3年間の平均コスト(ベンダー/ユーザー規模別)
Figure4.jpg
ご覧いただくとPentahoの特徴は、まず圧倒的に低コストであることと、ユーザー数が多くなるにつれて、1ユーザー当たりにかかるコストが低くなっているのがお分かりになると思います。これはPentahoがユーザーが増えるごとに課金していくのではなく、サーバーのCPU単位で課金しているためです。
つまり、ユーザー数が増えても、サーバーのCPU数が変わらない限り、金額は上がりません。

通貨単位が円でないので少し分かりづらいですが、大まかな価格感は見ていただけるかと思います。
次に、課金体系を見ていきます。

BIを導入する際にかかってくる大きなコストを3つ挙げてみると、
・労働力に対する対価
・ソフトウェア
・サポート
となります。

下の表はライセンスとサポートにかかるコストを各ベンダーごとに、ユーザー数の規模も合わせて比較しています。

●3年間のトータルコスト(ベンダー/ユーザー規模別)

Table2.jpg
PentahoのTotal Licence Cost(ライセンス料)の欄がゼロになっていますが、これはPentahoは サポートを含めた使用権(サブスクリプション)に対して課金するためこのような表記になっています。
ライセンスとサポートにそれぞれコストがかからないところが、特徴かもしれません。

以上大まかに、オープンソースBI Pentaho でのコストと価格体系を引用し説明いたしました。ホワイトペーパーでは他にも様々な切り口で説明しています。ご関心がある方は、ホワイトペーパーの方もご覧下さい。


ホワイトペーパーの原文(英文)
"Lowering the Cost of Business Intelligence With Open Source"

こちらのサイトからtdwiに登録すると、ダウンロードいただけます。


★Have a nice Open Source Day★
KSKソリューションズ Pentahoチーム
PentahoはiPadでのレポート閲覧やPentahoアナライザー(以下動画)による自由検索に、BIベンダーとしていち早く対応致しました。これにより、iPadの高いユーザビリティとヴィジュアル性を活かしたBIコンテンツの提供が可能となります。


特徴

  • 新たな分析レポートの作成
  • 既存のアナライザーレポートの閲覧
  • インタラクティブなドラッグ&ドロップの分析
  • リッチなチャートによるビジュアル化
  • ソートやフィルターの追加、関数の追加
  • アナライザーレポートの保存や共有
  • 元に戻す、初期状態に戻す機能
  • PDF、Excel、CSVへのエクスポート

必要環境:

  • Pentaho BI Suite エンタープライズ版 3.6
  • Apple iPad





★Have a nice Open Source Day★
KSKソリューションズ Pentahoチーム
Pentahoエンタープライズ版では、シングルサインオン(以下SSO)が実現できます。これにより、セキュアでスムーズな社内システムとの連携が可能となります。一般的にSSOには、以下の3つのメリットがあります。

1.ユニークなアカウントによる複数の認証をまとめて処理
ユーザーは、各システム毎にID/パスワードを入力する必要はなくなり、アプリケーション間の壁を意識することなく使用することができます。
2.セキュリティ (パスワード盗用)
パスワードをアプリケーションに渡さないため、パスワードのプロテクトができます。認証の仕組みを考えることなく開発できるため、アプリーションがシンプルになります。
3.ディレクトリデータベースとの連携

LDAP, database, MS Active Directory, X509 certificatesなど、既存のディレクトリサーバと連携できます。

SSOのための仕組みはさまざまな方法がありますが、Pentaho BI Suiteでは、同じくオープンソースのCAS(Central Authentication Service)を採用しています。CASには以下のメリットがあります。

1.セキュリティ
 パスワードがアプリケーションに渡らない
 チケットの使用
2.ポータビリティ
 Java, Perl, JSP, ASP, PHP, PL/SQL, Apache modules
3.開発と導入
 米国イェール大学により開発
 世界中で使用されている
 ACEGI(Pentaho認証・認可の仕組み・現在Spring)との親和性
4.J2EE platform
 軽量なコード (約1000行)
 オープンソース


・単体システムとの連携(クリックで拡大表示します)
SSO_pentaho.JPG


・LDAPなどディレクトリサーバとの連携
(クリックで拡大表示します)
SSO_pentaho_LDAP.JPG

構築には、Pentahoエンタープライズ版Manual Deploymentのディストリビューションが必要となります。「検討したいがどうしたら良いか分からない」「こうした連携も可能か?」など、ご質問などがございましたら、Pentaho日本語サイトよりお問い合わせください。


★Have a great Open Source Day★
KSKソリューションズ Pentahoチーム


Pentahoは、単体でもWebサーバーとして機能を持つTomcatを使用しています。
一般的にTomcatは以下の理由により、Apacheと連携することが推奨されています。

  1. 静的なページに関して Tomcat は Apache ほど速くありません。
  2. Tomcat は、Apache ほど 細かな設定ができません。
  3. Tomcat は、Apache ほど 頑強ではありません。
  4. Tomcat は、 Apache のモジュール(例 Perl, PHP, その他)でしか提供していない機能に対する多くのサイトの要望に答えられないかもしれません。

今回はアーカイブインストールしたPentaho3.0(Tomcat5.5)をAJPコネクタを使用してApache2.2を連携する方法をご紹介します。

※Pentahoはアーカイブインストールした場合のみです。インストーラーでインストールした場合はうまく連携できません。
※Apache2.2ではAJPコネクタ(mod_proxy_ajp)がパッケージに含まれているため、Apache設定ファイルとTomcat設定ファイルの設定のみで連携が可能となります。
※以下の手順に記載されるパスは環境に合わせて読み替えてください。

手順① Apache設定ファイル(httpd.conf)の修正

※以下は、ApatcheとTomcatが同一サーバーであることが前提です。

AJP用の設定ファイル(/etc/httpd/conf.d/proxy_ajp.conf)を開き、以下を追加します。

ProxyPass /pentaho/ ajp://localhost:8009/pentaho/
ProxyPass /pentaho-style/ ajp://localhost:8009/pentaho-style/

proxy_ajp.confを編集し終わったら保存して終了します。

(補足)
上記の代わりに/etc/httpd/conf/httpd.confを開き、以下を追加しても結構です。

<Location /pentaho/>
ProxyPass ajp://localhost:8009/pentaho/
</Location>
<Location /pentaho-style/>
ProxyPass ajp://localhost:8009/pentaho-style/
</Location>

httpd.confを編集し終わったら保存して終了します。

手順② Tomcat設定ファイル(server.xml)の修正

/biserver-ee/tomcat/conf/server.xmlを開きます。
ポート「8080」の部分を検索しConnector宣言部分をコメントアウトします。

<!-- Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true" / -->

さらにポート「8009」のAJPのConnector宣言部分を以下のように設定します。

<Connector port="8009" maxThreads="150"
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3"
               connectionTimeout="20000" useBodyEncodingForURI="true" />

※8080のポートを使わなくなったため、PentahoのBase URLも8080を削除する必要があります。

手順③ 動作確認

Pentaho(Tomcat)とApacheが起動している場合は両方終了します。
Pentaho(Tomcat)を起動させます。(起動するまでしばらくお待ちください。)
Pentahoが起動した後、Apacheを起動します。
※完全にTomcatが起動していない状態でApacheを起動すると失敗する場合があります。その場合はApacheをしばらく待ってから再起動してください。

両方が正常に起動したらhttp://(localhost)/pentaho/にアクセスします。
無事、Pentahoのログイン画面が表示されれば完了です。


★Have a nice Open Source Day★
KSKソリューションズ Pentahoチーム
Pentahoの紹介ムービーを作成しましたので、ご覧ください。以下の内容を5分程度でまとめております。

1.Pentaho社の紹介
2.Pentahoのビジネスモデル
3.主要機能の紹介
 1)ETL 2)レポート 3)OLAP 4)ダッシュボード 5)データマイニング



ご覧になられたご感想やご希望、ご質問などは、Pentaho日本語サイトまたはKSKソリューションズまでお寄せ下さい。

Have a great Open Source Day with Pentaho
★KSKソリューションズ Pentahoチーム★
今日は2つニュースがあります。

まずはドキュメントです。

Pentaho BI Server 2.0に対応したBIサーバースタートガイドを作成しました。メニューの「ダウンロード」>「ドキュメント」よりダウンロードができます。

現在、Pentaho Business Intelligence Server 3.0-RC1がダウンロードできますが、安定版の2.0-stableをダウンロードし、本ガイドを参照していただくことをお勧めしております。

本ガイドでPentaho BIサーバーのユーザコンソール、管理コンソールの機能をご理解いただけると思います。是非、ご活用ください。


userguide.JPG






もう一つはデモサーバのコンテンツです。新たに「ビジュアルサンプル」を追加しました。Pentahoは自由に外部のチャートを組み込むことができます。フラッシュを使ったチャートなどは見た目にも鮮やかです。トップページ右下のPentahoデモサーバにログインしてお確かめください。

gantt5.JPGfunnel1.JPGangular5.JPGbubble.JPGstbar3d.JPG






















Have a great Open Source Day with Pentaho
★KSKソリューションズ Pentahoチーム★