[Japanese Content] Lance Riedel_The App Server, The Hive in Tokyo_Aug29

728 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
728
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

[Japanese Content] Lance Riedel_The App Server, The Hive in Tokyo_Aug29

  1. 1. Big  Data  App  Server   ビッグデータアプリケーションサーバー   Lance  Riedel  
  2. 2. Big Data App Server ビッグデータアプリケーションサーバー 4つの「V」に向けた新しいアプリケーション   フレームワーク:   •  大量(Volume)の生データ  (ペタバイト級)   •  超高速(Velocity)で生成・取得される データ   •  多様(Variety)なデータソースとスキーマ   •  価値(Value)を引き出す   最新データサイエンス・分析技術を搭載    
  3. 3. ビッグデータアプリケーションのユースケース •  ログ/マシン分析   •  セキュリティ/不正検出   •  センサーデータ分析   •  フィナンシャル(金融)分析   •  リテール(小売)分析   •  広告ターゲティング   •  レコメンデーション  (例:Ne;lix,  Amazon)    
  4. 4. コンポーネントBigDataPlatform ーー
  5. 5. APP  SERVER  COMPONENTS     アプリケーションサーバー コンポーネント  
  6. 6. ストレージおよび計算処理機能BigDataPlatform ーー
  7. 7. 開発の動機   効率的にWebのデータを取得・処理する必要が あったGoogleの技術が開発のきっかけ     •  ページ、単語、ドメインで互いに重要性を計算   •  より高い費用効果–  より効率的な処理、   インデックス化、重要性の把握を実現   ストレージおよび計算処理機能
  8. 8. •  一元化だとスケールアウトしない!     •  大量データの移行  –  ボトルネックの原因   ストレージおよび計算処理機能:一元化
  9. 9. •  シャーディングは問題箇所を個別チャンクに分割   •  シャーディングはスケールするが、データをまたいで   閲覧すると障害が発生   •  例) シャーディングを使った用語・トップページの重み付けの処理   ✓   ✓   ✓   ✓   ✓   ✓   ✓   ≠   ストレージおよび計算処理機能: シャーディング
  10. 10. そこで誕生したのがDFS, MapReduce •  コンピューティング機能そしてデータ分散 のための新しいプログラミングモデル (シャーディングとは異なる)   •  汎用ハードウェア上で稼働     •  ソフトウェア制御で障害回復   •  文書データ全体の計算処理が容易     •  2つのパートから成る完全ソリューション:   •  分散ファイルシステム  –  DFS   •  MapReduce  
  11. 11. 分散ファイルシステム
  12. 12. MapReduce •  データが存在する場所で処理  (データと処理機能は互いにローカル)   •  Map  (データを読み取り、キーおよび値を発行)   •  Reduce  (キーごとにすべての値をグループ化、別の操作を実行)  
  13. 13. Hadoop •  GoogleのDFSおよびMapReduce   ホワイトペーパーを基に開発された オープンソース   •  大規模エコシステム   •  導入企業:  Yahoo,  Facebook,  TwiPer,   LinkedIn,  Sears,  Apple,  The  New  York   Times,  Telefonica,  他1000社以上!  
  14. 14. 運用管理BigDataPlatform ーー
  15. 15. データ取得 開発のきっかけ   •  多様なデータソース   からのデータを取得   する必要がある     •  中にはいくつか貴重な   データがある:   •  Time-­‐to-­‐live  (TTL)   •  デリバリーの保証  
  16. 16. データ取得: Apache Flume •  スケーラブル、フォールトトレラント、 コンフィギュラブルトポロジー Hadoopエコシステムの中で相互に動作する   データ取得用パイプライン   •  安全なデータ転送を設定可能に      -­‐  ルーティング、レプリケーション、フェールオーバー   •  プラグインデータソース用にソースおよびシンクを拡張可能   •  並列にスケール  –  10万メッセージ/秒    
  17. 17. ワークフロー 開発の動機   データの再現性とトレーサビリティを実現するには 変換、格納、結合など、多くの処理ステップが必要   –  データのためのプログラミングモデル      
  18. 18. ワークフロー: Oozie 処理プログラムの独立性を把握し、それに基づいて スケジューリングと再実行を行い、各ステップのレ ポートを発行するワークフローエンジン     •  時間またはデータ可用性によってジョブをトリガー   •  ほかのHadoop資産と統合可能   •  スケーラブルで信頼性・拡張性が高いシステム              
  19. 19. スキーマ管理 開発の動機   爆発的なデータソース増加に伴い、データスキーマ が主要課題となっている  
  20. 20. スキーマ: HCatalog •  Hadoop用テーブルおよびストレージマネ ジメントレイヤー   •  異なるデータ処理ツールの利用を実現  –   Pig、MapReduce、Hive  –  グリッド上での データ読み込み・書き出しをより容易に          
  21. 21. スキーマ: Avro   •  データシリアライゼーションシステム   •  Avroはデータとスキーマを一緒に格納   •  同じ名前のフィールド、ミッシングフィール ド、エキストラフィールド等々の一致は簡 単に解決   •  Hadoop資産のほとんどの技術はAvroに 対応  –  相互運用性/データパス      
  22. 22. データアクセス、クエリBigDataPlatform ーー
  23. 23. データアクセス 開発の動機   多様なデータアクセスパターンに、単なるDFSファ イルでは対応できないため、それ以上の性能を持 つデータストアが必要。たとえばデータへのランダ ムアクセスを行う場合、キーバリューストアが必要。     ソリューション   ユースケースに基づきさまざまなソリューションが ある   •  GoogleのBigTableホワイトペーパー   •  HadoopはSQLに対応済み  
  24. 24. データアクセス: HBase •  Hadoopデータベース  –  スケーラブルな分 散型ビッグデータストア(ソートマップ)  –   GoogleのBigTableがベース、Hadoop  DFS がサポート   •  モジュラーを追加するとリニアにスケール   •  テーブルのシャーディングの自動設定が 可能   •  フェールオーバーの自動化     •  Apache  HBaseテーブルとMapReduceジョ ブをバックアップする便利なベースクラス  
  25. 25. データアクセス: SQL – Hive, Impala •  分散ファイルシステム上の生データに対す るSQLクエリ   •  Impala  –HDFSのファイルに対し、SELECT(選 択)、JOIN(結合)、機能のアグリゲートと いったクエリを実行  –  リアルタイムに   •  Hive  –容易なデータサマライズの実現、アド ホッククエリの実行、Hadoopと互換性ある ファイルシステムに格納された大規模デー タセットを分析  
  26. 26. 分析BigDataPlatform ーー
  27. 27. データ分析 開発の動機   •  データが持つ潜在的な価値の発掘。ビッグ データの裏にある最も重要なニーズ!   •  クラスタリング、機械学習、相関性、モデリング   –  データサイエンスの中心分野  –  一般に、ユー スケースは非常に多様     ソリューション   ユースケースに応じた最適なツールに適合できる ように、スキーマを共有できるプラグイン可能な アーキテクチャ  
  28. 28. データ分析: フレームワーク例 •  Mahout   •  機械学習、クラスタリング   •  PaPern  –  カスケーディングからHadoop用の機械学習 DSL   •  0xData   •  ビッグデータ用数学および予測エンジンのオープン ソース   •  サンプルアルゴリズム   •  Random  Forest(ランダムフォレスト)アルゴリズム   •  K平均法   •  階層クラスタリング   •  線形回帰   •  ロジスティック回帰   •  サポートベクターマシン   •  人口ニューラルネットワーク   •  アソシエーションルール学習  
  29. 29. ServingBigDataPlatform ーー
  30. 30. サービス 開発の動機   •  エンドユーザー用の強力なアプリケーション   •  リアルタイムなデータアクセスを実現する   検索/ブラウジングおよびレコメンデーションエンジン    
  31. 31. サービス: 検索 – Solr Cloud •  Hadoop最上部にインデックスを構築   •  並列にスケーラブル、フォールトトレラント機能   •  インデックスオプションにおける圧倒的な柔軟性   •  トークン化   •  フィールドタイプ   •  データストレージ   •  同様の柔軟性を持つ検索オプション   •  AND,OR,NOT,  ワイルドカード   •  ファセット検索(オントロジー(概念体系)の利用)   •  拡張アルゴリズムと重み付けプラグ機能  
  32. 32. サービス: Manas – 機械学習 •  The  Hiveの超スケーラブルなマッチング エンジン   •  100〜1000の機能を照合しながら10 億〜数十億ものドキュメントを効率的に ハンドリング   •  現在、こうした機能を担当しているオー プンソースコミュニティ上には存在しな いエンジン  
  33. 33. EXAMPLE  APP  USE-­‐CASE   アプリケーションサーバーのユースケース例  
  34. 34. アプリサーバーのデータフロー
  35. 35. アプリサーバー上におけるSecurityX

×