SlideShare a Scribd company logo
1 of 21
DBとはちょっと違うけど...


            分散処理基盤「Hadoop」の
             概要と最新動向紹介!

              2012年7月25日
             日本Hadoopユーザー会
                山下 真一

2012/7/25          OSC2012.DB   1
自己紹介
• 山下 真一 (やました しんいち)
   • 日本Hadoopユーザー会
   • 某所でHadoopエコシステムと戯れる日々...
   • 元々は、ApacheとかTomcatとかPostgreSQLとかと
     戯れている...

   • 最近は、執筆したりレビューしたりな日々
   • 趣味は、AndroidとかNoSQL系で遊ぶこと
            • ○活中 (○は任意の文字)



2012/7/25              OSC2012.DB    2
日本Hadoopユーザー会
• Hadoopでゆる~く議論・情報交換しています

• 主なイベント
   • 第3回 Hadoop Conference Japan (2011/09)
            • 第4回は、秋~冬頃
   • Hadoopソースコードリーディング (不定期)
            • 次回は7月30日




2012/7/25                 OSC2012.DB         3
日本Hadoopユーザー会
• Webサイトは以下の通り
      • http://hugjp.org/




• メーリングリスト(Googleグループ)
      • https://groups.google.com/group/hadoop-jp?hl=ja

2012/7/25                   OSC2012.DB                    4
Hadoopとは
• OSSによる大規模分散処理フレームワーク
   • Googleの基盤ソフトウェア(GFS, MapReduce)のオープ
     ンソース実装
   • Apache Software Foundationのプロジェクトのひとつ
   • Javaで実装
• 2つのコンポーネントで構成
   • HDFS : Hadoop分散ファイルシステム
   • MapReduce : Hadoop分散処理フレームワーク
• Hadoopの基本的なアイデア
   • 大容量データを並列に処理
   • データのローカリティを意識した分散処理

2012/7/25          OSC2012.DB            5
Hadoopの特徴
• バッチ処理に威力を発揮
   • 従来数時間~数日要していた処理を短時間で処理
   • 処理を分割して複数のサーバで分散処理を実行
• 高いスケーラビリティ
   • サーバ増設で、格納容量、処理性能を向上
   • 数台~4000台程度までのHadoop環境
• 特定のサーバが故障してもサービス継続
   • データは分割・分散配置
   • 処理に異常が発生する場合は、他サーバで再実行
• コモディティな製品で構成可能
   • 特定ベンダの特別な製品は不要

2012/7/25      OSC2012.DB     6
Hadoopの活用例
• Yahoo!                            • 大量データの高スループット処理
    • 検索インデックスの生成、迷惑メール             • 集計・抽出・変換・分析用途
      フィルタ用データの生成
    • 過去3年分のログデータ解析が約20分 (従来は26日)
• 楽天
    • 広告インプレッション解析、レコメンデーション、ランキング集計
    • Perlスクリプトによる処理(26時間)がHadoopで4.5時間に短縮
• DeNA
    • ゲーム内での行動履歴分析 (行動特性を抽出・分析)
    • 2300万人アクティブユーザが生成する1日20億件以上の行動履歴を分析
• VISA
    • カードの不正利用モデルを生成
    • 1カ月かかっていたものが、Hadoopによって13分に
• 国立国会図書館
    • 書誌データから検索エンジン Solr 用のインデックスを生成


 2012/7/25             OSC2012.DB                  7
Hadoopのよくある誤解

×誤解1 : 高速なRDBMS
   • ミリ秒単位の処理をHadoopに求めてはいけません...
×誤解2 : 分散ファイルサーバ
   •Hadoopは小さなファイルを扱うのが苦手です...


○大量データに特化したバッチシステム
   •オンライン処理は不向き(スループット優先)
   •データは大きな塊として扱うことが望ましい

2012/7/25        OSC2012.DB      8
HadoopとRDBとの違い
                RDB                          Hadoop
   データを「管理する」という                         データは「管理しない」
   観点からデータの重複を                          高スループットで処理でき
   避けるために正規化する                           るように非正規化する



                                    ・
                                    ・
                                    ・
            正規化されたデータセット                いくつかのデータセットを結合し、
                                          非正規化したデータセット

  • 一度に走査する範囲を小さくする              • 一度に走査する範囲を大きくする
  • 重複保持を排除する                     • 論理走査範囲を単純分割, 並列処理
                                 • 重複保持は意識しない
2012/7/25                  OSC2012.DB                      9
Hadoopシステム基盤
                           タスク           TaskTracker(s)
                          M M M
ジョブ情報          タスク分割                     M          ・・・
                          R R R
                       JobTracker
JobClient                                       R   ・・・


クライ                         入出力データは
アント          データローカリティを                             ・・・   M
              意識した割り当て       HDFSと連携
                                                    スレーブ
                                  マスター              サーバ
 ファイルをブロックに分割                     サーバ               ・・・
    配置を指示
                       NameNode
DFSClient                                           ・・・




                ブロック         ラックを意識した               ・・・
                            ブロック配置を実施
 ファイル
 2012/7/25                  OSC2012.DB       DataNode(s)
                                                       10
MapReduce 処理
                             Shuffle
    スコア
                     (同じKeyでデータを集約)
    一覧
                  <A, 10>
                                          <A, {10,25} >
                  <B, 20>
                                          <C, {10,5,15} >   何らかの処理
            Map   <C, 15>
                                                             <A, 35 >
                  <D, 5>
                                                 Reduce
                                                             <C, 30 >
            Map   <A, 25>
                  <C, 10>
                  <D, 10>                                    <B, 30 >
                                                Reduce
                  <B, 10>                                    <D, 15 >
            Map   <C, 5>                  <B, {20,10} >
                                          <D, {5,10} >
                            ・<Key, Value>の形式でデータを管理
   スコアの抽出
                            ・MapやReduceが分散処理の対象
2012/7/25                    OSC2012.DB                           11
Hadoopエコシステム




2012/7/25       OSC2012.DB   12
処理言語関係の関連技術
• より簡単にMapReduceを実行するためのツール

• Apache Pig
    • データフローによりデータをどのように処理するか定義
    • シンプルかつ少ない記述でMapReduceを意識せず実行
• Apache Hive
    • SQLライクな記法により処理内容を定義
• Asakusa Framework
    • 複数種類のDSLを組み合わせて処理内容を定義


 2012/7/25            OSC2012.DB   13
低レイテンシーの関連技術
• Hadoopは、数時間~数日を数分~数十分に短
  縮する技術
   • 秒未満の処理には、Hadoop単体で適用できません

• Apache HBase
   • HDFS上で動作するカラム指向型データベース
   • “行キー”、”列ファミリ”、”値”、”タイムスタンプ” で
     データを管理
   • 行キーに対して低レイテンシーで読み書きを実現
   • Hadoopと同様にスケーラブルな仕組み
            • 数百TB程度までの動作実績あり

2012/7/25              OSC2012.DB   14
データ入出力の関連技術
• Hadoopへのデータ入出力を取りまとめる技術

• Apache Flume
    • 様々なログ・データを損失無くHadoop環境に格納す
      る仕組み
    • ZooKeeper(分散協調ソフトウェア)により高可用性
      を実現

• Apache Sqoop
    • RDBMSとHadoop環境を連携させるコネクター
    • MapReduceによる分散処理でデータ通信を高速化
 2012/7/25       OSC2012.DB      15
Hadoopの最新動向
• Hadoopのバージョン関係

                                      Hadoop1.0系
                                          (stable)
                                                     従来0.20.2xxと
                                                     呼ばれていたもの


                                                     新機能開発版
                                                     • NameNode HA
            Hadoop2.0系                               • Federation
            (alpha)                                  • MapReduce 2.0
                                                     などなど...

                                                     出典: Hadoop Summit 2012

2012/7/25                OSC2012.DB                                   16
NameNode HA
• ZooKeeperを利用したActive-Standby構成

                            ZooKeeperを組み合わせて異
                             常時のNameNode切り替え




 ホットスタンバイ                      DataNodeは双方の
                            NameNodeにHeartbeat通信


                                   出典: Hadoop Summit 2012


2012/7/25      OSC2012.DB                           17
HDFS Federation
• NameNodeのメタ情報を分割して保持
   • 同一NameNodeのメタ情報を分割して保持
   • 異なるNameNodeメタ情報も保持可能




                               DataNodeでは異なる
                              NameNode環境のデータ
                                     を保持




                                 出典: Hadoop Summit 2012
2012/7/25        OSC2012.DB                               18
YARN : MapReduce 2.0
• YARN
   • Yet Another/Application Resource Negociator
                                         Node Manager
       Resource Manager                 処理ノードの管理
      MR基盤のリソース管理
                                         Application Master
                                        アプリケーション実行元

                                       Container
                                       処理を実行

                                       • リソース管理とAP管理を分離
                                       • 処理スロット制を廃止
                                              出典: Hadoop Summit 2012
2012/7/25                 OSC2012.DB                               19
Hadoopの最新動向
• Hadoopエコシステムが更に広がっています

• HDP(Hortonworks Data Platform) 1.0
    • Apache Hadoop 1.0ベースのディストリビューション
    • HA(Linux-HA連携), Talend Open Studio連携
• CDH4
    • Apache Hadoop 2.0ベースのディストリビューション
    • NameNode HA, MapReduce 2.0 などを採用
• Apacheコミュニティでのプロジェクト
    • Apache HCatalog : Pig/Hive等のメタ情報共通化
    • Apache Ambari : Hadoop環境の構築・運用基盤
 2012/7/25           OSC2012.DB              20
まとめ
• Hadoopは2つのコンポーネントから構成される大規
  模分散処理フレームワーク
   • HDFS
   • MapReduce
• 従来は個別設計が必要であった分散処理を気軽に
  実現できるようになります
• いわゆる 「スケールアウト」 を実現できます

• Hadoopエコシステムは更に拡大します
   • 開発、構築、運用と様々なプロジェクトが活動中です!

2012/7/25        OSC2012.DB   21

More Related Content

What's hot

What's hot (20)

SASとHadoopとの連携
SASとHadoopとの連携SASとHadoopとの連携
SASとHadoopとの連携
 
Hadoopソースコードリーディング8/MapRを使ってみた
Hadoopソースコードリーディング8/MapRを使ってみたHadoopソースコードリーディング8/MapRを使ってみた
Hadoopソースコードリーディング8/MapRを使ってみた
 
Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析
 
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
HadoopとRDBMSをシームレスに連携させるSmart SQL Processing (Hadoop Conference Japan 2014)
 
MapR M7 技術概要
MapR M7 技術概要MapR M7 技術概要
MapR M7 技術概要
 
Hadoopによる大規模分散データ処理
Hadoopによる大規模分散データ処理Hadoopによる大規模分散データ処理
Hadoopによる大規模分散データ処理
 
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
Apache Drill Overview - Tokyo Apache Drill Meetup 2015/09/15
 
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
[db tech showcase Tokyo 2014] L32: Apache Cassandraに注目!!(IoT, Bigdata、NoSQLのバ...
 
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
Apache Drill でオープンデータを分析してみる - db tech showcase Sapporo 2015 2015/09/11
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
 
Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...
Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...
Apache Drill: Rethinking SQL for Big data – Don’t Compromise on Flexibility o...
 
Apache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッション
Apache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッションApache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッション
Apache Drill でたしなむ セルフサービスデータ探索 - 2014/11/06 Cloudera World Tokyo 2014 LTセッション
 
データベースシステム論12 - 問い合わせ処理と最適化
データベースシステム論12 - 問い合わせ処理と最適化データベースシステム論12 - 問い合わせ処理と最適化
データベースシステム論12 - 問い合わせ処理と最適化
 
HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用HBaseを用いたグラフDB「Hornet」の設計と運用
HBaseを用いたグラフDB「Hornet」の設計と運用
 
20160121 データサイエンティスト協会 木曜セミナー #5
20160121 データサイエンティスト協会 木曜セミナー #520160121 データサイエンティスト協会 木曜セミナー #5
20160121 データサイエンティスト協会 木曜セミナー #5
 
SASによるインメモリ分散並列処理 レコメンドプロシジャ入門
SASによるインメモリ分散並列処理 レコメンドプロシジャ入門SASによるインメモリ分散並列処理 レコメンドプロシジャ入門
SASによるインメモリ分散並列処理 レコメンドプロシジャ入門
 
Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)Apache Sparkのご紹介 (後半:技術トピック)
Apache Sparkのご紹介 (後半:技術トピック)
 
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
 
Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-
 
100億超メッセージ/日のサービスを 支えるHBase運用におけるチャレンジ
100億超メッセージ/日のサービスを 支えるHBase運用におけるチャレンジ100億超メッセージ/日のサービスを 支えるHBase運用におけるチャレンジ
100億超メッセージ/日のサービスを 支えるHBase運用におけるチャレンジ
 

Similar to OSC2012 OSC.DB Hadoop

【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
Developers Summit
 
Hadoopの紹介
Hadoopの紹介Hadoopの紹介
Hadoopの紹介
bigt23
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
Recruit Technologies
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
Recruit Technologies
 

Similar to OSC2012 OSC.DB Hadoop (20)

日々進化するHadoopの 「いま」
日々進化するHadoopの 「いま」日々進化するHadoopの 「いま」
日々進化するHadoopの 「いま」
 
Hadoop事始め
Hadoop事始めHadoop事始め
Hadoop事始め
 
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
 
はやわかりHadoop
はやわかりHadoopはやわかりHadoop
はやわかりHadoop
 
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practiceマルチテナント Hadoop クラスタのためのモニタリング Best Practice
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
 
Hadoop loves H2
Hadoop loves H2Hadoop loves H2
Hadoop loves H2
 
Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219Cloudera大阪セミナー 20130219
Cloudera大阪セミナー 20130219
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
NTTデータ流 Hadoop活用のすすめ ~インフラ構築・運用の勘所~
 
Hadoop, NoSQL, GlusterFSの概要
Hadoop, NoSQL, GlusterFSの概要Hadoop, NoSQL, GlusterFSの概要
Hadoop, NoSQL, GlusterFSの概要
 
Hadoopの紹介
Hadoopの紹介Hadoopの紹介
Hadoopの紹介
 
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
 
[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...
[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...
[db tech showcase Tokyo 2017] A32: Attunity Replicate + Kafka + Hadoop マルチデータ...
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
MapReduce/YARNの仕組みを知る
MapReduce/YARNの仕組みを知るMapReduce/YARNの仕組みを知る
MapReduce/YARNの仕組みを知る
 
0151209 Oracle DDD OracleとHadoop連携の勘所
0151209 Oracle DDD OracleとHadoop連携の勘所0151209 Oracle DDD OracleとHadoop連携の勘所
0151209 Oracle DDD OracleとHadoop連携の勘所
 
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
[db tech showcase Tokyo 2018] #dbts2018 #E28 『Hadoop DataLakeにリアルタイムでデータをレプリケ...
 
20111130 10 aws-meister-emr_long-public
20111130 10 aws-meister-emr_long-public20111130 10 aws-meister-emr_long-public
20111130 10 aws-meister-emr_long-public
 

OSC2012 OSC.DB Hadoop

  • 1. DBとはちょっと違うけど... 分散処理基盤「Hadoop」の 概要と最新動向紹介! 2012年7月25日 日本Hadoopユーザー会 山下 真一 2012/7/25 OSC2012.DB 1
  • 2. 自己紹介 • 山下 真一 (やました しんいち) • 日本Hadoopユーザー会 • 某所でHadoopエコシステムと戯れる日々... • 元々は、ApacheとかTomcatとかPostgreSQLとかと 戯れている... • 最近は、執筆したりレビューしたりな日々 • 趣味は、AndroidとかNoSQL系で遊ぶこと • ○活中 (○は任意の文字) 2012/7/25 OSC2012.DB 2
  • 3. 日本Hadoopユーザー会 • Hadoopでゆる~く議論・情報交換しています • 主なイベント • 第3回 Hadoop Conference Japan (2011/09) • 第4回は、秋~冬頃 • Hadoopソースコードリーディング (不定期) • 次回は7月30日 2012/7/25 OSC2012.DB 3
  • 4. 日本Hadoopユーザー会 • Webサイトは以下の通り • http://hugjp.org/ • メーリングリスト(Googleグループ) • https://groups.google.com/group/hadoop-jp?hl=ja 2012/7/25 OSC2012.DB 4
  • 5. Hadoopとは • OSSによる大規模分散処理フレームワーク • Googleの基盤ソフトウェア(GFS, MapReduce)のオープ ンソース実装 • Apache Software Foundationのプロジェクトのひとつ • Javaで実装 • 2つのコンポーネントで構成 • HDFS : Hadoop分散ファイルシステム • MapReduce : Hadoop分散処理フレームワーク • Hadoopの基本的なアイデア • 大容量データを並列に処理 • データのローカリティを意識した分散処理 2012/7/25 OSC2012.DB 5
  • 6. Hadoopの特徴 • バッチ処理に威力を発揮 • 従来数時間~数日要していた処理を短時間で処理 • 処理を分割して複数のサーバで分散処理を実行 • 高いスケーラビリティ • サーバ増設で、格納容量、処理性能を向上 • 数台~4000台程度までのHadoop環境 • 特定のサーバが故障してもサービス継続 • データは分割・分散配置 • 処理に異常が発生する場合は、他サーバで再実行 • コモディティな製品で構成可能 • 特定ベンダの特別な製品は不要 2012/7/25 OSC2012.DB 6
  • 7. Hadoopの活用例 • Yahoo! • 大量データの高スループット処理 • 検索インデックスの生成、迷惑メール • 集計・抽出・変換・分析用途 フィルタ用データの生成 • 過去3年分のログデータ解析が約20分 (従来は26日) • 楽天 • 広告インプレッション解析、レコメンデーション、ランキング集計 • Perlスクリプトによる処理(26時間)がHadoopで4.5時間に短縮 • DeNA • ゲーム内での行動履歴分析 (行動特性を抽出・分析) • 2300万人アクティブユーザが生成する1日20億件以上の行動履歴を分析 • VISA • カードの不正利用モデルを生成 • 1カ月かかっていたものが、Hadoopによって13分に • 国立国会図書館 • 書誌データから検索エンジン Solr 用のインデックスを生成 2012/7/25 OSC2012.DB 7
  • 8. Hadoopのよくある誤解 ×誤解1 : 高速なRDBMS • ミリ秒単位の処理をHadoopに求めてはいけません... ×誤解2 : 分散ファイルサーバ •Hadoopは小さなファイルを扱うのが苦手です... ○大量データに特化したバッチシステム •オンライン処理は不向き(スループット優先) •データは大きな塊として扱うことが望ましい 2012/7/25 OSC2012.DB 8
  • 9. HadoopとRDBとの違い RDB Hadoop データを「管理する」という データは「管理しない」 観点からデータの重複を 高スループットで処理でき 避けるために正規化する るように非正規化する ・ ・ ・ 正規化されたデータセット いくつかのデータセットを結合し、 非正規化したデータセット • 一度に走査する範囲を小さくする • 一度に走査する範囲を大きくする • 重複保持を排除する • 論理走査範囲を単純分割, 並列処理 • 重複保持は意識しない 2012/7/25 OSC2012.DB 9
  • 10. Hadoopシステム基盤 タスク TaskTracker(s) M M M ジョブ情報 タスク分割 M ・・・ R R R JobTracker JobClient R ・・・ クライ 入出力データは アント データローカリティを ・・・ M 意識した割り当て HDFSと連携 スレーブ マスター サーバ ファイルをブロックに分割 サーバ ・・・ 配置を指示 NameNode DFSClient ・・・ ブロック ラックを意識した ・・・ ブロック配置を実施 ファイル 2012/7/25 OSC2012.DB DataNode(s) 10
  • 11. MapReduce 処理 Shuffle スコア (同じKeyでデータを集約) 一覧 <A, 10> <A, {10,25} > <B, 20> <C, {10,5,15} > 何らかの処理 Map <C, 15> <A, 35 > <D, 5> Reduce <C, 30 > Map <A, 25> <C, 10> <D, 10> <B, 30 > Reduce <B, 10> <D, 15 > Map <C, 5> <B, {20,10} > <D, {5,10} > ・<Key, Value>の形式でデータを管理 スコアの抽出 ・MapやReduceが分散処理の対象 2012/7/25 OSC2012.DB 11
  • 13. 処理言語関係の関連技術 • より簡単にMapReduceを実行するためのツール • Apache Pig • データフローによりデータをどのように処理するか定義 • シンプルかつ少ない記述でMapReduceを意識せず実行 • Apache Hive • SQLライクな記法により処理内容を定義 • Asakusa Framework • 複数種類のDSLを組み合わせて処理内容を定義 2012/7/25 OSC2012.DB 13
  • 14. 低レイテンシーの関連技術 • Hadoopは、数時間~数日を数分~数十分に短 縮する技術 • 秒未満の処理には、Hadoop単体で適用できません • Apache HBase • HDFS上で動作するカラム指向型データベース • “行キー”、”列ファミリ”、”値”、”タイムスタンプ” で データを管理 • 行キーに対して低レイテンシーで読み書きを実現 • Hadoopと同様にスケーラブルな仕組み • 数百TB程度までの動作実績あり 2012/7/25 OSC2012.DB 14
  • 15. データ入出力の関連技術 • Hadoopへのデータ入出力を取りまとめる技術 • Apache Flume • 様々なログ・データを損失無くHadoop環境に格納す る仕組み • ZooKeeper(分散協調ソフトウェア)により高可用性 を実現 • Apache Sqoop • RDBMSとHadoop環境を連携させるコネクター • MapReduceによる分散処理でデータ通信を高速化 2012/7/25 OSC2012.DB 15
  • 16. Hadoopの最新動向 • Hadoopのバージョン関係 Hadoop1.0系 (stable) 従来0.20.2xxと 呼ばれていたもの 新機能開発版 • NameNode HA Hadoop2.0系 • Federation (alpha) • MapReduce 2.0 などなど... 出典: Hadoop Summit 2012 2012/7/25 OSC2012.DB 16
  • 17. NameNode HA • ZooKeeperを利用したActive-Standby構成 ZooKeeperを組み合わせて異 常時のNameNode切り替え ホットスタンバイ DataNodeは双方の NameNodeにHeartbeat通信 出典: Hadoop Summit 2012 2012/7/25 OSC2012.DB 17
  • 18. HDFS Federation • NameNodeのメタ情報を分割して保持 • 同一NameNodeのメタ情報を分割して保持 • 異なるNameNodeメタ情報も保持可能 DataNodeでは異なる NameNode環境のデータ を保持 出典: Hadoop Summit 2012 2012/7/25 OSC2012.DB 18
  • 19. YARN : MapReduce 2.0 • YARN • Yet Another/Application Resource Negociator Node Manager Resource Manager 処理ノードの管理 MR基盤のリソース管理 Application Master アプリケーション実行元 Container 処理を実行 • リソース管理とAP管理を分離 • 処理スロット制を廃止 出典: Hadoop Summit 2012 2012/7/25 OSC2012.DB 19
  • 20. Hadoopの最新動向 • Hadoopエコシステムが更に広がっています • HDP(Hortonworks Data Platform) 1.0 • Apache Hadoop 1.0ベースのディストリビューション • HA(Linux-HA連携), Talend Open Studio連携 • CDH4 • Apache Hadoop 2.0ベースのディストリビューション • NameNode HA, MapReduce 2.0 などを採用 • Apacheコミュニティでのプロジェクト • Apache HCatalog : Pig/Hive等のメタ情報共通化 • Apache Ambari : Hadoop環境の構築・運用基盤 2012/7/25 OSC2012.DB 20
  • 21. まとめ • Hadoopは2つのコンポーネントから構成される大規 模分散処理フレームワーク • HDFS • MapReduce • 従来は個別設計が必要であった分散処理を気軽に 実現できるようになります • いわゆる 「スケールアウト」 を実現できます • Hadoopエコシステムは更に拡大します • 開発、構築、運用と様々なプロジェクトが活動中です! 2012/7/25 OSC2012.DB 21