SHOEISHA iD

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

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

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

【デブサミ2016】18-B-4レポート
ビッグデータをリアルタイムに処理する基盤はSparkとKafkaの組み合わせで構築せよ

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

 最近、話題のビッグデータ。これから注目のIoT、Fintech、Health Techではもちろん、セキュリティ、ゲーム、広告(アドテク)の分野でも、ビッグデータを扱うことが欠かせない。ビッグデータの解析を行うため、多くの起業ではApache Hadoopを用いたビッグデータの解析基盤を構築してきた。しかしこの従来の方法では、大量データをリアルタイムに処理することが難しい、という問題があった。ではより大量のデータをリアルタイムに解析するにはどんな基盤を構築すればいいのか。日本アイ・ビー・エム アナリティクス事業部 テクニカルリードの田中裕一氏がApache SparkとApache Kafkaを組み合わせて実現するリアルタイム処理基盤の概要とその活用例について紹介した。

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

日本アイ・ビー・エム アナリティクス事業部 テクニカルリード 田中裕一氏
日本アイ・ビー・エム アナリティクス事業部 テクニカルリード 田中裕一氏

認知度が高まっているが、まだまだSparkの活用例は少ない

 「本セッションではあくまでもSparkとKafkaを使ってリアルタイム基盤をどう作っていくのか、従来のHadoop基盤と比べてどういうメリットがあるのかについて説明する。したがってプログラマよりは、アーキテクチャに携わる方向けの内容となる」

 こう最初に宣言し、田中氏のセッションは始まった。田中氏は現在、IBMでHadoopやSparkを使った解析基盤の構築に携わっている。前職ではWeb系の会社で大規模アーキテクチャ設計や実装、サーバサイドプログラム、フロントエンドプログラムを担当していたこともあり、いわゆるフルスタックエンジニアである。

 これまでビッグデータの処理基盤として用いられてきたのがHadoopである。Hadoopの認知度は非常に高く、会場でもそれなりの人数の方が「業務ですでにHadoop基盤を使っている」と手を挙げていた。そして一昨年ほど前から注目を集めているのが、Sparkである。

 Sparkは当初、イノベーターやアーリーアダプターを中心に注目を集め、今ではアーリーマジョリティ、レイトマジョリティへの広がりを見せつつある。とはいえSparkを業務で利用している会社はまだまだ少ないが「昨年末より事例も登場してきた」と田中氏は語る。

年々、上がるHadoop/Spark/Kafkaの認知度
年々、上がるHadoop/Spark/Kafkaの認知度

 HadoopやSparkの認知度の向上の背景には、ビッグデータの広がりがある。「ソフトウェアはもちろん、ITコンサル、金融系、ハードウェア系、教育分野、医療分野、通信キャリア、広告、ECなどというように「いまや特定の分野ではなく、さまざまな業界を横断してビッグデータは展開されている」と田中氏。もちろん、ビッグデータといっても業界によってそのデータ量はさまざまだが、たとえば数千万PV、数億PVのコンテンツを有するWeb系システムでは、単純なサーバログだけで1時間に数GB~数十GB、1日に換算すると100GB近くのログが吐き出されることになる。そのほかにもユーザーログやアプリケーションログなども収集できる。

 ログデータだけではない。Webサイトデータ、センサーデータ、ログデータ、カスタマーデータ、オフィスデータ、オペレーションデータ、ソーシャルデータなどを収集し、これらのデータを組み合わせて分析したり、高度な機械学習をしたりして新たな価値を生み出そうというのがビッグデータである。数十~数百TB級を分析するための基盤技術として採用されてきたのが、「Hadoopを中心としたHadoopエコシステムだ」と田中氏は語り、基盤アーキテクチャの説明へと入った。

オーソドックスなHadoop解析基盤では何が問題なのか

 オーソドックスなHadoop解析基盤は、Hadoop(HDFS+MapReduce)とHadoop上でSQLを扱うHiveや機械学習を扱うMahoutで構成。これにより、単位時間当たりに集めたデータをHadoop上のHiveやMahoutで1日数回の頻度で解析を実行し、ストレージやBIに反映できるようになる。「以前はこのような基盤を提案してきた」と田中氏は語る。というのも、1つのRDBで保存不可能な大量データがHFDSを利用することで保存が可能になること、保存したデータに対し、分析や機械学習が現実的な時間で実行可能になるからだ。

従来のHadoop基盤
従来のHadoop基盤

 しかし「このオーソドックスな基盤には問題点もある」と田中氏は指摘する。それは「データを受け取りHadoopへ格納する際のタイミング。この基盤だといずれの場合も数時間に一度データをインプットする形となり、この遅延はリアルタイム分析基盤構築のための枷になる」と田中氏は言う。

 それだけではない。データを処理する部分やデータを反映する際にも問題があるという。データ処理する部分については「HDFS上のファイルをMapReduceで処理するものはディスクアクセスが多くなるため、レイテンシも高くインタラクティブな処理やリアルタイム処理には不向き」、データ反映についても「データ反映をRDBにする場合、書き込み不可の時間帯を外さないと別システムの足を引っ張るなどの考慮事項が増え、生産性が悪くなる」と田中氏は言う。

次のページ
SparkとKafkaを組み合わせで実現するリアルタイム処理基盤

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

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

もっと読む

この記事の著者

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

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング