SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2016】セッションレポート(AD)

【デブサミ2016】19-D-4レポート
データを投入して分析を始めるまでがとにかく早い! クラウドデータ分析サービス「dashDB」

  • X ポスト
  • このエントリーをはてなブックマークに追加

 ビッグデータの活用が注目されている一方、市場調査会社の発表資料などを見ると、実際に活用できている企業は少ない。理由として考えられるのが、ビッグデータ活用のための「分析環境」を用意する費用が高額である(と思われている)ことだ。実際に、分析システム構築で数千万円レベルの投資が必要となることも珍しくなかった。そうした状況が、クラウドの普及によって大きく変わりつつある。現在、さまざまなクラウドベンダーがデータ分析機能を備えたデータベースサービスを展開。ユーザーは必要なときに、いつでも、従量課金で手軽にデータ分析を利用できる。IBMでは、PaaS環境「IBM Bluemix」上でクラウドデータベースおよび分析サービスとして「dashDB」を提供。同サービスの特徴や活用例について、日本アイ・ビー・エム アナリティクス事業部 インフォメーション・アーキテクトの野間愛一郎氏が解説した。

  • X ポスト
  • このエントリーをはてなブックマークに追加
日本アイ・ビー・エム アナリティクス事業部 インフォメーション・アーキテクト 野間愛一郎氏
日本アイ・ビー・エム アナリティクス事業部 インフォメーション・アーキテクト 野間愛一郎氏

個人や部門で手軽に使える“セルフサービス分析環境”を実現

 社内のさまざまなデータを分析してビジネスに活用したいものの、「それを実現するための環境がない」というケースは多い。たとえ社内に本格的なデータ分析環境があったとしても、こうした不満や悩みがなくなるわけではない。実際に野間氏が対応したある製造業の顧客企業でも、分析環境としてハイパフォーマンスなデータウェアハウスを導入していたものの、担当者は必要なデータ分析が行えずに困っていたという。

 「担当者の方は『トライ&エラーで分析を実施して、アイデアをいろいろ試してみたい』と考えていたが、社内のデータウェアハウスは全社的なニーズに対応するためのもので、やはりそのような目的では使いにくい。かといって、従来のオンプレミス型で分析環境を別途構築するような予算を確保するのも難しい。そこで、クラウドデータベース『dashDB』を導入いただいて、個人や部門レベルでも手軽に使える“セルフサービス型”の分析環境を構築した」(野間氏)

 「dashDB」は、IBMのPaaS環境「IBM Bluemix」上で提供される、データ分析に特化したクラウドデータベースサービス(Database as a Service)だ。基本構造はリレーショナルDBだが、通常の行指向ではなく列指向(カラムナー)DBであり、分析や集計処理が高速に行える。もちろん、クラウドサービスなのでハードウェアのサイジングやソフトウェアのインストール、運用管理などは不要。さらに、索引作成やチューニングによるパフォーマンス調整も一切不要となっている。

 「dashDBのコンセプトは“Load & Go”。データを用意してから実際に使い始められる状態になるまでが、とにかく早く、簡単なことが強み」と、野間氏は強調。

dashDBは索引作成やチューニングも不要、表を作ってデータを流し込むだけですぐに使い始めることができる
dashDBは索引作成やチューニングも不要、表を作ってデータを流し込むだけですぐに使い始めることができる

 続いて、実際に“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を組み合わせて導入した先の企業でも、スマートフォンから取得したユーザーの位置情報を分析して、マーケティングに活用できるようになったそうだ。

dashDBとCloudantの組み合わせにより、モバイルアプリのJSONデータも分析可能に
dashDBとCloudantの組み合わせにより、モバイルアプリのJSONデータも分析可能に

 野間氏は、ソーシャルデータの分析についてもデモを交えて説明。Bluemix上で提供されるサービスとして、Twitterデータの検索API「Insights for Twitter」がある。このサービスと連携して、dashDBのデータベースに直接Twitterのデータをロードできるという。設定も他のさまざまな操作と同様に簡単で、dashDBのメニューから「Load Twitter data」を選択し、抽出するキーワードなどを指定、あとは画面の指示に従って進めていくだけでTwitterのデータが取り込まれた。

 さらにユニークな機能として、ツイートの内容が「ポジティブか、ネガティブか」を判別することも可能だ。たとえば“IBM”を含むツイートについて、ポジティブ/ネガティブの割合を調べたり、ネガティブなツイートのみを抽出するといったこともできる。

 最後に、野間氏はセッションのまとめとして、dashDBなどを活用したデータ分析で注意すべき3つのポイントについて触れた。

 1つ目は、最適なサービス/テクノロジーの見極めについて。dashDBは大量のデータを高速に分析処理できるものの、決して万能なデータベースではない。列指向DBの特性として、やはり通常の行指向DBと比べると、更新や削除などのトランザクション処理は弱い。どんな分析をしたいのか、その目的に対してどんなサービスやテクノロジーが最適なのかを見極めることが重要となる。

 2つ目は、「パフォーマンス」という言葉に惑わされないこと。データ分析というとパフォーマンスを重視しがちだが、野間氏によれば「データベースの性能自体には、それほど極端な差があるわけではない」という。ただし、手軽に使えるはずのクラウドデータベースでも、表の設計や索引作成、チューニングなどに意外と手がかかってしまうケースは少なくない。スペック上のパフォーマンスばかりでなく、「いかに早く使い始められる状態にできるのか」にも目を向けるべきだ。

 そして3つ目は、データモデルの重要性について。dashDBではあまり細かいことを考えなくても素早く手軽に分析を行えるが、「それだけでは次のステップに進むのは難しい」という。

 「逆説的な言い方になるが、簡単・手軽な分析だけでは行き詰まってしまう。たとえば、将来的に機械学習で予測分析なども視野に入れているなら、データモデルの設計が大事。手軽なクラウドサービスの分析をスピード重視で使いながらも、さらに先を見据えて、しっかりとしたデータモデル作りに取り組むことが重要」と述べ、野間氏はセッションを閉じた。

お問い合わせ

 日本アイ・ビー・エム株式会社

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9321 2016/04/06 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング