SHOEISHA iD

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

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

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

これがOSSを活用したデータアナリティクス基盤のベストプラクティス――事例とデモを交えて紹介された「イマドキ」のビックデータ活用【デブサミ2018】

【15-B-2】ストリームとバッチを融合したBigData Analytics ~事例とデモから見えてくる、これからのデータ活用のかたち~

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

データドリブンの分析基盤で成功するための4つのポイント

 これらの事例から「データドリブンのイノベーションを成功させるには、4つの仕掛けが必要であることが分かる」と立山氏は述べる。

  1. 必要なデータを疎結合に収集する
  2. 適材適所でデータマネジメントを実施する
  3. イノベーションに向けた実験、検証、分析を行う仕組みを構築する
  4. 既存システムへ迅速に反映させる
データドリブンのイノベーションに必要な4つの仕掛け
データドリブンのイノベーションに必要な4つの仕掛け

 1つ目の「必要なデータを疎結合に収集する」は、Apache Kafkaをハブとして、上流システムとデータレイクの関係を1:1に変えるという考え方だ。

 データレイクにデータを入れるには、データレイク側から上流システムにデータ取得の要求をすることになる。しかし、上流システム側からすると、その都度データの抽出を要求されてうんざりし、一方のデータレイク側は上流システムに気を遣いながらデータをもらうのがつらい。そこで、Apache Kafkaを間に挟んでデータを疎結合に収集する構成にすれば、N:Nから1:1の関係になり、互いのストレスを減らしてやり取りの管理がしやすくなる。

 「低レイテンシーで拡張性があり、無停止でクラスタを増やせるのが最大の特徴。また、レプリケーションなど耐障害性の設計がされており、堅牢かつ柔軟、安価に使えることから、データハブとして導入されるケースは増えている」

 2つ目の「適材適所でデータマネジメントを実施する」について、立山氏はデータベースを管理するのではなくデータそのものをマネジメントしようという考え方に基づき、用途や目的、コストの最適化などの観点で、適材適所でデータのすみ分けを行うと説明した。

 例えばHadoopの場合、スキーマなしでデータを格納できるが、オーバーヘッドが大きいために小さなデータの処理は遅いといった短所がある。一方でNoSQLは小さなデータを大量かつ素早く扱うことができるが、レコードをまたいだ処理が苦手で分析用途には適していない。データウェアハウス(以下、DWH)はトランザクション処理やクエリ性能が高く、オンライントランザクション処理(OLTP)からDWHまで万能選手といえるが、コストがかかる。

 こうした長所と短所をきちんと理解し、目的とデータ特性に応じて、それぞれどんなデータを配置するか考える。例えばELT処理・データ加工であれば、Hadoopに加工前の生データ、DWHには加工後のデータを配置、データ分析であれば明細データや経年データをHadoopに、サマリデータやアクティブデータをDWHに配置するといった具合だ。

 3つ目の「イノベーションに向けた実験、検証、分析を行う仕組みを構築する」は、蓄積されたデータへ幅広いチームメンバーがアクセス可能で、自由かつ効率良く解析ができ、トライ&エラーを短時間で何度も繰り返せる、そんな環境を用意するという意味だ。

 イノベーションに向けて多くの企業はビッグデータ推進室やAI戦略室、ディスカバリーラボを設置している。しかし、現状ではデータサイエンティスト個々人や少数のグループごとに分析基盤が存在し、そもそも専用ツールや解析言語は専門外の人間にとって難しく扱いづらい。

 そこで立山氏が提案するのは、データ調査や集計、可視化、チームメンバー間のコラボレーションなどを支援するNotebookだ。オラクルのNotebookは「Apache Zeppelin」を標準サポートし、間もなくリリース予定の「Oracle Autonomous Data Warehouse Cloud」の標準インターフェイスでも採用されている。レポート開発者やビジネスユーザーにも優しい設計が特長だ。

 最後の「既存システムへ迅速に反映させる」は、共通のアクセスインターフェイスを用意して異なるテクノロジーを集約することだ。そうすることで、SQLからさまざまなデータソースへアクセスできるようになり、分析モデルをそのまま利用、データが格納されている場所で処理を実施でき、性能や生産性、ポータビリティを確保できる。

バッチとストリーミングの融合を体感できるデモンストレーション

 解説後、よりイメージしやすくするために、立山氏はバッチとストリーミングを融合する分析基盤のデモを実施した。デモは、ニューヨークの自転車シェアリングのデータを活用し、「Oracle Event Hub Cloud」(Kafka PaaS)をハブに、「Oracle Big Data Cloud」(Spark PaaS)でデータ解析、「Oracle Storage Cloud Object Storage」にデータを入れる構成で用意された。

 デモでは、まず「Spark SQL」からデータの内容を確認する方法を紹介。その後、Kafka PaaSに流したデータを使って「Spark DStream」で地図にプロットし、利用者の乗車位置と下車位置を5秒ごとに可視化したり、年齢と性別の属性情報から利用時間を予測するモデルをRで作成したりと、基本的な分析をデモンストレーションした。

 そして、最後はApache Kafkaで収集した気象情報やバイク利用のリアルタイムデータを、「Oracle Big Data SQL」経由で「Oracle Advanced Analytics」に取り込み、予測モデルを適用するという、バッチデータとストリームデータを融合した分析方法を紹介した。

 オラクルではデータベースやOSSを組み合わせた、データアナリティクスのためのクラウド環境を用意しており、300ドル分を無料で試用できる。

 「イベントハブやビッグデータ処理であれば、3000時間分使える。ぜひこの機会に試していただければ幸いだ」

 立山氏はこう呼びかけ、セッションを締めくくった。

お問い合わせ

 日本オラクル株式会社

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
【デブサミ2018】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング