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

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