SlideShare a Scribd company logo
1 of 34
Download to read offline
大規模データ分析を支えるインフラ系
オープンソースソフトウェアの最新事情	
草薙 昭彦	(@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
ありがとうございました

More Related Content

Viewers also liked

Viewers also liked (20)

S13 t0 introduction
S13 t0 introductionS13 t0 introduction
S13 t0 introduction
 
プログラミング学習とScratch raspi python
プログラミング学習とScratch raspi pythonプログラミング学習とScratch raspi python
プログラミング学習とScratch raspi python
 
見た目だけのデザインと意味を持つデザイン
見た目だけのデザインと意味を持つデザイン見た目だけのデザインと意味を持つデザイン
見た目だけのデザインと意味を持つデザイン
 
Pythonで機械学習入門以前
Pythonで機械学習入門以前Pythonで機械学習入門以前
Pythonで機械学習入門以前
 
Fast Data を扱うためのデザインパターン
Fast Data を扱うためのデザインパターンFast Data を扱うためのデザインパターン
Fast Data を扱うためのデザインパターン
 
Talend Data Quality - Customer Data Management platform
Talend Data Quality - Customer Data Management platformTalend Data Quality - Customer Data Management platform
Talend Data Quality - Customer Data Management platform
 
S03 t2 sta_py_tsuji_0810_slides
S03 t2 sta_py_tsuji_0810_slidesS03 t2 sta_py_tsuji_0810_slides
S03 t2 sta_py_tsuji_0810_slides
 
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
 
Pythonのプロファイリング
PythonのプロファイリングPythonのプロファイリング
Pythonのプロファイリング
 
Cloud from Scratch / ゼロからクラウド構築
Cloud from Scratch / ゼロからクラウド構築 Cloud from Scratch / ゼロからクラウド構築
Cloud from Scratch / ゼロからクラウド構築
 
S10 p1 mitsuyoshi-sama_2
S10 p1 mitsuyoshi-sama_2S10 p1 mitsuyoshi-sama_2
S10 p1 mitsuyoshi-sama_2
 
20151129インテリジェントホームロボティクス研究会
20151129インテリジェントホームロボティクス研究会20151129インテリジェントホームロボティクス研究会
20151129インテリジェントホームロボティクス研究会
 
DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキルDBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
 
S09 t0 orientation
S09 t0 orientationS09 t0 orientation
S09 t0 orientation
 
S14 t0 introduction
S14 t0 introductionS14 t0 introduction
S14 t0 introduction
 
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
 
大分県 未来のIT技術者発見事業「プログラミング体験教室」
大分県 未来のIT技術者発見事業「プログラミング体験教室」大分県 未来のIT技術者発見事業「プログラミング体験教室」
大分県 未来のIT技術者発見事業「プログラミング体験教室」
 
Stapy#17LT
Stapy#17LTStapy#17LT
Stapy#17LT
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
 
ビッグデータ関連Oss動向調査とニーズ分析
ビッグデータ関連Oss動向調査とニーズ分析ビッグデータ関連Oss動向調査とニーズ分析
ビッグデータ関連Oss動向調査とニーズ分析
 

Similar to 大規模データ分析を支えるインフラ系オープンソースソフトウェアの最新事情

[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
de:code 2017
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
Mie Mori
 

Similar to 大規模データ分析を支えるインフラ系オープンソースソフトウェアの最新事情 (20)

ビジネスインテリジェンス入門~OSSでBIを始めよう~
ビジネスインテリジェンス入門~OSSでBIを始めよう~ビジネスインテリジェンス入門~OSSでBIを始めよう~
ビジネスインテリジェンス入門~OSSでBIを始めよう~
 
Developers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeDevelopers.IO 2019 Effective Datalake
Developers.IO 2019 Effective Datalake
 
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
 
データ分析で Excel を活用しよう
データ分析で Excel を活用しようデータ分析で Excel を活用しよう
データ分析で Excel を活用しよう
 
ビジネスインテリジェンス入門~OSSでBIを始めよう~version2(公開版)
ビジネスインテリジェンス入門~OSSでBIを始めよう~version2(公開版)ビジネスインテリジェンス入門~OSSでBIを始めよう~version2(公開版)
ビジネスインテリジェンス入門~OSSでBIを始めよう~version2(公開版)
 
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しようMicrosoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
 
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
【講演資料】ビッグデータ時代の経営を支えるビジネスアナリティクスソリューション
 
20160121 データサイエンティスト協会 木曜セミナー #5
20160121 データサイエンティスト協会 木曜セミナー #520160121 データサイエンティスト協会 木曜セミナー #5
20160121 データサイエンティスト協会 木曜セミナー #5
 
Azure Datalake 大全
Azure Datalake 大全Azure Datalake 大全
Azure Datalake 大全
 
【de:code 2020】 Azure Cosmos DB - Build 2020 アップデート
【de:code 2020】 Azure Cosmos DB - Build 2020 アップデート【de:code 2020】 Azure Cosmos DB - Build 2020 アップデート
【de:code 2020】 Azure Cosmos DB - Build 2020 アップデート
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
 
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
20160220 MSのビッグデータ分析基盤 - データマイニング+WEB@東京
 
Smart data integration to hybrid data analysis infrastructure
Smart data integration to hybrid data analysis infrastructureSmart data integration to hybrid data analysis infrastructure
Smart data integration to hybrid data analysis infrastructure
 
簡単!AWRをEXCELピボットグラフで分析しよう♪
簡単!AWRをEXCELピボットグラフで分析しよう♪簡単!AWRをEXCELピボットグラフで分析しよう♪
簡単!AWRをEXCELピボットグラフで分析しよう♪
 
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは? by 日本ヒューレット・パッ...
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは?  by 日本ヒューレット・パッ...[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは?  by 日本ヒューレット・パッ...
[db tech showcase Tokyo 2014] C25: Facebookが採用した世界最大級の分析基盤とは? by 日本ヒューレット・パッ...
 
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
QConTokyo2015「Sparkを用いたビッグデータ解析 〜後編〜」
 
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
 
DLLAB Ignite Update Data Platform
DLLAB  Ignite Update Data PlatformDLLAB  Ignite Update Data Platform
DLLAB Ignite Update Data Platform
 
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
 
【IVS CTO Night & Day】AWSにおけるビッグデータ活用
【IVS CTO Night & Day】AWSにおけるビッグデータ活用【IVS CTO Night & Day】AWSにおけるビッグデータ活用
【IVS CTO Night & Day】AWSにおけるビッグデータ活用
 

More from nagix

Mini Tokyo 3D 2021 − 交通デジタルツイン、2年間の進化
Mini Tokyo 3D 2021 − 交通デジタルツイン、2年間の進化Mini Tokyo 3D 2021 − 交通デジタルツイン、2年間の進化
Mini Tokyo 3D 2021 − 交通デジタルツイン、2年間の進化
nagix
 
Mini Tokyo 3D − 交通デジタルツインとデジタルトランスフォーメーションの世界
Mini Tokyo 3D − 交通デジタルツインとデジタルトランスフォーメーションの世界Mini Tokyo 3D − 交通デジタルツインとデジタルトランスフォーメーションの世界
Mini Tokyo 3D − 交通デジタルツインとデジタルトランスフォーメーションの世界
nagix
 
Mini Tokyo 3D
Mini Tokyo 3DMini Tokyo 3D
Mini Tokyo 3D
nagix
 

More from nagix (6)

箱根駅伝 3D とその他いろいろ
箱根駅伝 3D とその他いろいろ箱根駅伝 3D とその他いろいろ
箱根駅伝 3D とその他いろいろ
 
Mini Tokyo 3D 2021 − 交通デジタルツイン、2年間の進化
Mini Tokyo 3D 2021 − 交通デジタルツイン、2年間の進化Mini Tokyo 3D 2021 − 交通デジタルツイン、2年間の進化
Mini Tokyo 3D 2021 − 交通デジタルツイン、2年間の進化
 
Mini Tokyo 3D − 交通デジタルツインとデジタルトランスフォーメーションの世界
Mini Tokyo 3D − 交通デジタルツインとデジタルトランスフォーメーションの世界Mini Tokyo 3D − 交通デジタルツインとデジタルトランスフォーメーションの世界
Mini Tokyo 3D − 交通デジタルツインとデジタルトランスフォーメーションの世界
 
Mini Tokyo 3D
Mini Tokyo 3DMini Tokyo 3D
Mini Tokyo 3D
 
データサイエンスとデータエンジニア
データサイエンスとデータエンジニアデータサイエンスとデータエンジニア
データサイエンスとデータエンジニア
 
Data Science Summit 2012 レポート
Data Science Summit 2012 レポートData Science Summit 2012 レポート
Data Science Summit 2012 レポート
 

大規模データ分析を支えるインフラ系オープンソースソフトウェアの最新事情