よしだのブログ

サブタイトルはありません。

勉強会メモ - Apache Hadoop エコシステムを中心とした分散処理の今と未来

今日は、Hadoop のセミナーを見るために IIJ さんにお邪魔してきました。

内容としては、Hadoop の歴史と現状の流れを技術的な面から紐解いた第一部と、Hadoop コミュニティやオープンソースコミュニティを解説した二部という構成でした。技術的な面では、何となく理解していたつもりだったところ(分散処理をしてもオーバーヘッドが激しくIOが多くなるので速くなるとは限らない、MapReduce が遅いのはMap後にかならずHDFSに書きだすから遅い、DAGは実行するジョブを計画のなかで最適化するので速い、などなど)を非常にわかりやすく解説されていて感動しました。残念ながらまだ資料は公開されていないようですが、繰り返して読みたい内容でした。

以下、印象に残ったところだけですが、メモです。

Apache Hadoop エコシステムを中心とした分散処理の今と未来

小沢健史 NTT ソフトウェアイノベーションセンタ Hadoop のコミッタ!

  • 分散処理をしても処理が速くなるとは限らない
  • データを分散することで、書き込みにオーバーヘッドがかかる
  • ネットワークにもオーバーヘッドがある
  • 光速の壁
  • 分散処理はスケーラビリティの最終手段

  • 並列DB

  • 書くときになるべく早く返せるように予め最適化しておく
  • 早く返せるが、書き込みが遅い
  • クエリに対する柔軟性がないので、スキーマや処理内容を意識する必要がある
  • データをロードする時間が必要

  • 国内で最大のクラスタは Yahoo! Japan (6000台!) -http://itpro.nikkeibp.co.jp/atcl/interview/14/262522/031800133/?ST=bigdata&P=1

  • Hadoop を選択する理由

  • 処理対象のデータが巨大 (100GB/day や PBクラス)
  • データベースに入れる前に、非構造化データに対して前処理をしたい
  • スキーマが頻繁に変更される場合
  • これ以外のケースはRDBMSを選択するほうが無難

  • 素のMapReduceを書く人はもう少ない。ただし、use case 次第。

  • Hive とか Pig とか高水準な言語がよく使われている
  • ゆるやかに別の処理基盤へ移行中
  • Spark / Tez / Impala / Presto など

  • コミュニティへの還元方針への違い

  • ベンダは、売りになるような新機能を作りたい
  • ユーザーは、安定動作するエンハンスをしたい

QA

  • Hotな技術は Spark !

  • Storm と Spark Streaming は、レイテンシーのオーダーが1桁違う

  • Spark Streaming は、細かいアプリを繰り返し起動し、擬似ストリーミングになっている
  • Storm はピュアなストリーミング処理基盤なので速い