Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
大規模データ分析を支えるインフラ系オープンソースソフトウェアの最新事情
Search
草薙昭彦
June 08, 2016
Technology
37
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
大規模データ分析を支えるインフラ系オープンソースソフトウェアの最新事情
みんなのPython勉強会#13
での発表資料です。
草薙昭彦
June 08, 2016
More Decks by 草薙昭彦
See All by 草薙昭彦
APIテストとは?
nagix
0
210
AI時代のガードレールとしてのAPIガバナンス
nagix
0
450
AI時代のAPIファースト開発
nagix
2
1.3k
自然言語でAPI作業を片付ける!「Postman Agent Mode」
nagix
0
140
自然言語でAPI作業を片付ける!「Postman Agent Mode」
nagix
0
280
GTFS box - GTFS/GTFS Realtime ビューア
nagix
1
96
AIエージェントがアプリケーション開発の未来を変える
nagix
3
1.7k
The New Developer:AIはアプリケーションの作り方をどう変える?
nagix
0
120
GTFS box - GTFS/GTFS Realtime ビューア
nagix
0
130
Other Decks in Technology
See All in Technology
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
100
2026TECHFRESH畢業分享會 - AI 時代的人生存檔點
line_developers_tw
PRO
0
540
非定型業務をAI slackbotで自動化する ~ 社内要望を自動壁打ちするbotを作った ~/automating-ad-hoc-work-with-ai-slackbot
shibayu36
0
550
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
2.1k
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
510
脆弱性対応、どこで線を引くか
rymiyamoto
0
250
チームで実践する AI-DLC 思考の軌跡を残すチェックポイント設計
belongadmin
0
3.2k
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
53
59k
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
810
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development with AI-DLC
yoshidashingo
0
160
Dario Amodi『Policy on the AI Exponential』を理解する
nagatsu
0
210
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
2
1.1k
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Believing is Seeing
oripsolob
1
140
Crafting Experiences
bethany
1
170
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
430
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
Transcript
大規模データ分析を支えるインフラ系 オープンソースソフトウェアの最新事情 草薙 昭彦 (@nagix) MapR Technologies
自己紹介 • 草薙 昭彦 (@nagix) • MapR Technologies データエンジニア NS-SHAFT
無料!
一般的な分析のデータフロー 収集 抽出 変換 加工 格納 集計 加工 生成 モデル
作成 可視化 レポート
一般人 収集 抽出 変換 加工 格納 集計 加工 生成 モデル
作成 可視化 レポート 手入力 Excel Excel Excel Excel
一般人 収集 抽出 変換 加工 格納 集計 加工 生成 モデル
作成 可視化 レポート 手入力 Excel Excel Excel Excel 実は専門家も
企業では 収集 抽出 変換 加工 格納 集計 加工 生成 モデル
作成 可視化 レポート 各部門 のRDB のCSV 出力 マスタと の結合 名寄せ 分析用 RDB SQL R SAS SPSS Excel Oracle DB2 MySQL PostgreSQL …
組織の規模が大きくなると • データボリューム – 大容量ストレージ・効率の良い格納フォーマット • 処理性能 – データ増や複数ユーザの同時アクセスに対応 • 信頼性・可用性 – ハードウェアのHA化・データの複製
• セキュリティ – 認証・アクセス制御・暗号化・監査
大企業では 収集 抽出 変換 加工 格納 集計 加工 モデル 作成
可視化 レポート ETL ツール RDB コネクタ ETL ツール データ ウェア ハウス SQL R SAS SPSS セルフ サービ スBI Teradata IBM Netezza HP VerLca AcLan Matrix InformaLca Data Stage Syncsort Talend QlikView Pentaho
ビッグデータって何でしたっけ • データボリューム – 従来のアーキテクチャでは処理格納できない量 • データの種類 – 非構造化(=スキーマが確定していない)データ • データの流入頻度 – 月次・日時バッチ投入から都度の投入へ
大規模なデータを扱う時に重要なこと • スケールアウト(水平スケーラビリティ) • CPUとストレージの距離(データローカリティ) サーバ ・・・ スケールアウト可能なアルゴリズム・データ格納方式 共有ストレージ (NAS/SAN)
サーバ レイテンシ の問題 スループット の問題 サーバ サーバ サーバ 内蔵 HDD /SSD 内蔵 HDD /SSD 内蔵 HDD /SSD CPU CPU CPU
大規模なデータを扱う時に重要なこと • Data Gravity(データの重力) Web App Data 分析 App Data
会計 App Data マーケ App Data 販売 App Data 販売 App Data 会計 App マーケ App
分析のROI • 最も重要なのはデータを増やしたとしてもそ れに見合うリターンが得られるかどうか – データが増えれば得られる価値は上がりそう・・ – 問題はコストをいかに抑えることができるか • コモディティハードウェアは必須! • スケールアウト分散処理ソフトウェアは必須!
• オープンソースソフトウェアは有力な選択肢
参考 • Google対Yahoo—インターネット戦争でどうしてここ まで差がついたのかを振り返る hZp://jp.techcrunch.com/2016/05/23/20160522why-google-beat-yahoo-in-the-war-for-the-internet/ – “NetAppハードウェアのコストはYahooの規模の拡大と同 じ速さで増大し、Yahooの利益の大きな部分に食い込むこ ととなった” –
“これに対して Googleは、規模を拡大し新サービスを追加 するときに起きるはずの問題を、それが起きる前に予期し、 効率的に対処できるようGoogle File Systemの開発に全力 を挙げた”
Hadoop ベース分析基盤(初期) 収集 抽出 変換 加工 格納 集計 加工 モデル作成
可視化 レポート ログ コレクタ RDB コネクタ Map Reduce Hive Pig HDFS Map Reduce Hive Pig Mahout セルフ サービ スBI
Hadoopって? サーバ サーバ サーバ サーバ サーバ サーバ
Hadoopって? サーバ Hadoop Distributed File System (HDFS) データをブロックに 分割して分散配置、 3つのレプリカ作成
Hadoopって? サーバ Hadoop Distributed File System (HDFS) 分割されたデータ をMap、Reduceと いう単位で並列分
散処理 MapReduce
Hadoopって? Hadoop Distributed File System (HDFS) MapReduce Hadoop コア
Hadoopって? Hadoop Distributed File System (HDFS) MapReduce Hive SQLクエリ エンジン
HBase NoSQL データベース Pig データ加工 フレームワーク Mahout 機械学習 Zoo Keeper 分散レポジトリ ・・・ MapReduce/HDFS を使いやすくする ための無数のプロ ジェクト
Hadoop ベース分析基盤(現在) 収集 抽出 変換 加工 格納 集計 加工 モデル作成
可視化 レポート ログ コレクタ RDB コネクタ Spark Hive Pig HDFS Spark SQL Dashbo ard NoteBo ok Apache Spark Apache Kylin Apache Drill Apache Impala Presto MLLib Oryx Apache Spark Apache Hive Apache Pig Apache Flume Fluentd Jupyter Apache Zeppelin Spark Notebook H2O
Sparkって? • (主に)MapReduce の置き換え – バッチだけでなくインタラクティブな処理も – メモリを最大限利用し、より効率よく Spark Spark SQL SQLクエリ
エンジン Spark Streaming ストリーム処理 MLlib 機械学習 GraphX グラフ処理 Spark R R on Spark HDFS またはその他のファイルシステム
トレンド:リアルタイム処理 • ビジネス側からの要件 – より早い変化の検知、決断、情報の提供 – 業務処理と分析処理は統合へ • データフロー、格納、処理それぞれに新しい アーキテクチャが必要 • 処理の2つのアプローチ
– バッチを極限まで細かくしていく(マイクロバッチ) – メッセージを1つ1つ処理していく
リアルタイム処理基盤 収集 抽出 変換 加工 格納 集計 加工 モデル作成 可視化
ログ コレクタ RDB コネクタ Spark Streami ng Kaka メッセー ジ キュー Spark Streami ng Dashbo ard Spark Streaming Apache Storm Apache Flink Apache APEX Apache Nifi StreamSets Apache Flume Fluentd ElasLcsearch /Kibana Grafana
ラムダアーキテクチャ • バッチ処理(Data at Rest)とリアルタイムストリー ム処理(Streaming Data)は組み合わせることで 価値が出る – 近似的な速報値をリアルタイム処理で得る
– 正確な集計や深い分析は履歴データを利用しバッチ 処理で得る • データを入口で複製し、用途に応じた最適な フォーマットで格納する – 例: 時間レンジの検索ならHBase、履歴集計なら Parquet
ラムダアーキテクチャ hZps://www.mapr.com/developercentral/lambda-architecture
ラムダアーキテクチャ 収集 抽出 変換 加工 格納 集計 加工 モデル作成 可視化
格納 抽出 変換 加工 集計 加工 モデル作成 バッチレイヤー スピードレイヤー Kaka HDFS
分析のタイプ • バッチ分析 – 蓄積された大量データから知見を得る • リアルタイム分析 – 流れてくるデータを対象にとりあえずの解を得る • インタラクティブ分析 – よくわからないものから鍵を見つけ方針を決める
Apache Arrow • カラム型インメモリ分析のデファクト標準を目 指す Apache プロジェクト • 多くのビッグデータ系Apacheプロジェクトで共 通のデータ構造を使うといいよね?
• データ構造、アルゴリズム、クロス言語バイン ディングを定義 • 最新のCPUの機能を活用した高速な分析
これは非効率性だわ・・・ • 各システムは独自の内部メモリ 形式を持つ • 70〜80%のCPUはシリアライズ・ デシリアライズに使われる • 似たような機能が複数のプロジェ クトで実装される
Thrin, Avro, Protobuf,…
• すべてのシステムは共通のメモリ 形式を持つ • システム間のやりとりにオーバー ヘッドがない • プロジェクト間で機能を共有できる (例: Parquet-to-Arrow
リーダー) ならばこうだ
カラム型フォーマット Row-oriented フォーマット (CSV, 従来のRDB, …) Column-oriented フォーマット (Parquet, ORC,
…)
Feather File Format • Apache ArrowをベースにしたRとPythonの Data Frameに適したディスク上のファイル フォーマット •
なんで今までこんな便利なものがなかったん だ!
PyhtonはUI言語から処理言語へ? hZp://www.slideshare.net/wesm/nextgeneraLon-python-big-data-tools-powered-by-apache-arrow
ありがとうございました