個人や部門で手軽に使える“セルフサービス分析環境”を実現
社内のさまざまなデータを分析してビジネスに活用したいものの、「それを実現するための環境がない」というケースは多い。たとえ社内に本格的なデータ分析環境があったとしても、こうした不満や悩みがなくなるわけではない。実際に野間氏が対応したある製造業の顧客企業でも、分析環境としてハイパフォーマンスなデータウェアハウスを導入していたものの、担当者は必要なデータ分析が行えずに困っていたという。
「担当者の方は『トライ&エラーで分析を実施して、アイデアをいろいろ試してみたい』と考えていたが、社内のデータウェアハウスは全社的なニーズに対応するためのもので、やはりそのような目的では使いにくい。かといって、従来のオンプレミス型で分析環境を別途構築するような予算を確保するのも難しい。そこで、クラウドデータベース『dashDB』を導入いただいて、個人や部門レベルでも手軽に使える“セルフサービス型”の分析環境を構築した」(野間氏)
「dashDB」は、IBMのPaaS環境「IBM Bluemix」上で提供される、データ分析に特化したクラウドデータベースサービス(Database as a Service)だ。基本構造はリレーショナルDBだが、通常の行指向ではなく列指向(カラムナー)DBであり、分析や集計処理が高速に行える。もちろん、クラウドサービスなのでハードウェアのサイジングやソフトウェアのインストール、運用管理などは不要。さらに、索引作成やチューニングによるパフォーマンス調整も一切不要となっている。
「dashDBのコンセプトは“Load & Go”。データを用意してから実際に使い始められる状態になるまでが、とにかく早く、簡単なことが強み」と、野間氏は強調。
続いて、実際に“Load & Go”がどれほどのものなのか、野間氏は「今までExcelで分析業務を行っていた企業が初めてdashDBを立ち上げ、分析したいExcelファイルをアップロードするまで」を想定し、Bluemix上で必要な操作を行いながら説明した。
まずIBM IDを作成・登録し、Bluemixにログインする(※Bluemixは30日間の無料トライアル期間あり。クレジットカードを登録すれば、一定量の無料枠は30日経過後も利用可能とのこと)。ログインしたら、Bluemixのメニューで「カタログ」を選択し、表示される多数のアイコン群からdashDBを選んで「作成」ボタンをクリック。これだけの操作でdashDBのインスタンスが作成され、使用可能となった。
dashDBが起動したら、次はデータのアップロードだ。コンソールのメニューから「Load from Desktop」を選択し、ウィザード形式で画面の指示に従って進めていくと、アップロードが開始される。そして、アップロードしたデータを、新しい表を作成して投入するのか、既存の表に投入するのかなどを指定。最後に「Finish」をクリックすると、データを読み込んで表が作成され、クエリを投げられる状態まで簡単にできあがった。
なお、分析したいデータがデスクトップに置いてあるとは限らない。既存のデータベースやデータウェアハウス、さらには他のクラウド環境上にあるデータを取り込んで利用したいケースもあるだろう。
「そのような場合には、Bluemix上で提供しているETLツールのサービス『DataWorks』を利用すれば、容易にデータ連携・データ統合が可能。接続情報とアクセス権限があれば、オンプレミスやクラウドのさまざまなデータソースからdashDBにデータを取り込むことができる」(野間氏)
冒頭で紹介した企業でも、DataWorksで既存のデータウェアハウスとデータ連携することで、部門用のdashDBから全社データウェアハウスのリッチなリソースを手軽に利用できるようになったという。
モバイルアプリやソーシャルデータの分析にも対応
続いて野間氏は、別の顧客のケースを紹介。モバイルやアドテク/マーケティング関連のある企業では、「Webページのユーザーの動きを分析に活かしたい」「ソーシャルでの評判(クチコミ)を取り込みたい」「ユーザーの位置情報を活かしたエリアマーケティングを実施したい」といったニーズがあったという。また、モバイルアプリ開発においては変更の柔軟性や拡張性の高さから、NoSQLのドキュメント(JSON)DBを使うのが前提であり、そのデータをいかにリレーショナルDBに持ってきて分析できるようにするかというのも課題だった。
このケースでは、Bluemix上で提供されるNoSQLデータベースの「Cloudant」とdashDBを組み合わせて採用。Cloudantは、Apache CouchDBをベースにしたNoSQLのDatabase as a Serviceで、モバイルアプリのデータで広く利用されているJSONドキュメントをそのまま格納できる。
「CloudantとdashDBは、自動連携できる機能を備えている。モバイルアプリのユーザーが残したさまざまなログはJSON形式でCloudantにどんどん蓄積していき、分析はdashDB側で行えばよい」(野間氏)
連携の操作も簡単だ。dashDBのコンソールから分析対象となるCloudantのデータソースを選択すると、JSONデータが取り込まれてリレーショナル表に変換され、分析可能な状態となる。基本的な設定はこれだけで、一度定義しておけば、以降はCloudant側のデータが更新されるとdashDBのリレーショナル表にも自動的に反映され、リアルタイムで連携されるようになるという。
また、位置情報の計算は高コストで、従来はデータを取得していても分析・活用するのが難しかったが、dashDBではGeospatial(地理情報)分析機能を標準で提供。CloudantとdashDBを組み合わせて導入した先の企業でも、スマートフォンから取得したユーザーの位置情報を分析して、マーケティングに活用できるようになったそうだ。
野間氏は、ソーシャルデータの分析についてもデモを交えて説明。Bluemix上で提供されるサービスとして、Twitterデータの検索API「Insights for Twitter」がある。このサービスと連携して、dashDBのデータベースに直接Twitterのデータをロードできるという。設定も他のさまざまな操作と同様に簡単で、dashDBのメニューから「Load Twitter data」を選択し、抽出するキーワードなどを指定、あとは画面の指示に従って進めていくだけでTwitterのデータが取り込まれた。
さらにユニークな機能として、ツイートの内容が「ポジティブか、ネガティブか」を判別することも可能だ。たとえば“IBM”を含むツイートについて、ポジティブ/ネガティブの割合を調べたり、ネガティブなツイートのみを抽出するといったこともできる。
最後に、野間氏はセッションのまとめとして、dashDBなどを活用したデータ分析で注意すべき3つのポイントについて触れた。
1つ目は、最適なサービス/テクノロジーの見極めについて。dashDBは大量のデータを高速に分析処理できるものの、決して万能なデータベースではない。列指向DBの特性として、やはり通常の行指向DBと比べると、更新や削除などのトランザクション処理は弱い。どんな分析をしたいのか、その目的に対してどんなサービスやテクノロジーが最適なのかを見極めることが重要となる。
2つ目は、「パフォーマンス」という言葉に惑わされないこと。データ分析というとパフォーマンスを重視しがちだが、野間氏によれば「データベースの性能自体には、それほど極端な差があるわけではない」という。ただし、手軽に使えるはずのクラウドデータベースでも、表の設計や索引作成、チューニングなどに意外と手がかかってしまうケースは少なくない。スペック上のパフォーマンスばかりでなく、「いかに早く使い始められる状態にできるのか」にも目を向けるべきだ。
そして3つ目は、データモデルの重要性について。dashDBではあまり細かいことを考えなくても素早く手軽に分析を行えるが、「それだけでは次のステップに進むのは難しい」という。
「逆説的な言い方になるが、簡単・手軽な分析だけでは行き詰まってしまう。たとえば、将来的に機械学習で予測分析なども視野に入れているなら、データモデルの設計が大事。手軽なクラウドサービスの分析をスピード重視で使いながらも、さらに先を見据えて、しっかりとしたデータモデル作りに取り組むことが重要」と述べ、野間氏はセッションを閉じた。
お問い合わせ
日本アイ・ビー・エム株式会社
- TEL: 0120-550-210
- IBM dashDB関連情報