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