yahoo! japanのデータ基盤とhadoop #dbts2016
TRANSCRIPT
ヤフー株式会社
データ&サイエンスソリューション統括本部
杉山 朋広
Yahoo! JAPANのデータ基盤とHadoop
自己紹介
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2
杉山 朋広(すぎやま ともひろ)
2002年
ヤフー株式会社中途入社
2002年ー2011年
Yahoo!ウォレットの開発・運用
Yahoo! JAPAN IDのログイン・登録・DBの運用
2012年ー現在
Hadoopクラスタの構築・運用
広告集計システムの開発
広告システム向けのデータプラットフォームの構築
>3000万 MAU
>100 services 2億 商品数
82%of PC users
74%of smartphone users
100以上DUB
No.1App publisher※1
>8000万
※1 ゲームアプリケーションを除く
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
4
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
5
Agenda
• データ基盤の概要
• データ基盤の歴史
• 次世代基盤
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 6
Agenda
• データ基盤の概要
• データ基盤の歴史
• 次世代基盤
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 7
データ基盤の概要
日本有数の規模
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 8
S3互換ストレージ
6000nodes
2000nodes
200dbs
500dbs
1.7PB
1500nodes
データ基盤の概要>Hadoop利用の歴史
Caption
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 9
スケールの問題と共に成長
一部の部署
で先行利用
マルチテナ
ント化
分析データ
拡張
タイムライン型
コンテンツ&広告
0
10
20
30
40
50
60
70
80
90
100
0
1,000
2,000
3,000
4,000
5,000
6,000
2009 2010 2011 2012 2013 2014 2015 2016
Ro
w H
DFS
Sto
rage
(in
PB
) →
Nu
mb
er
of
No
de
s →
Nodes HDFS
データ基盤の概要>Hadoop利用の歴史
Caption
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 10
スケールの問題と共に成長
一部の部署
で先行利用
マルチテナ
ント化
分析データ
拡張
タイムライン型
コンテンツ&広告
0
10
20
30
40
50
60
70
80
90
100
0
1,000
2,000
3,000
4,000
5,000
6,000
2009 2010 2011 2012 2013 2014 2015 2016
Ro
w H
DFS
Sto
rage
(in
PB
) →
Nu
mb
er
of
No
de
s →
Nodes HDFSHadoop以前 黎明期 導入期 データ爆増 これから
Agenda
• データ基盤の概要
• データ基盤の歴史
• 次世代基盤
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 11
データ基盤の歴史>Hadoop以前
Caption
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 12
Hadoopがデータ基盤に採用される前の時代
一部の部署
で先行利用
マルチテナ
ント化
分析データ
拡張
タイムライン型
コンテンツ&広告
0
10
20
30
40
50
60
70
80
90
100
0
1,000
2,000
3,000
4,000
5,000
6,000
2009 2010 2011 2012 2013 2014 2015 2016
Ro
w H
DFS
Sto
rage
(in
PB
) →
Nu
mb
er
of
No
de
s →
Nodes HDFSHadoop以前 黎明期 導入期 データ爆増 これから
データ基盤の歴史>Hadoop以前
高性能なストレージを中心に置いた設計
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 13
WebServer
WebServer
WebServer
DataPipeline
(Y!Incorigin)
Teradata
ORACLE
MySQL
NetworkStorage
BatchC++
Batchperl
Batchphp
• ストレージをスケールインすることで性能を向上• バッチ処理は独自の分散フレームワーク• クエリエンジンはRDBが主流• 独自の分散フレームワークの限界・・
データ基盤の歴史>黎明期
Caption
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 14
Hadoopをはじめて投入
一部の部署
で先行利用
マルチテナ
ント化
分析データ
拡張
タイムライン型
コンテンツ&広告
0
10
20
30
40
50
60
70
80
90
100
0
1,000
2,000
3,000
4,000
5,000
6,000
2009 2010 2011 2012 2013 2014 2015 2016
Ro
w H
DFS
Sto
rage
(in
PB
) →
Nu
mb
er
of
No
de
s →
Nodes HDFSHadoop以前 黎明期 導入期 データ爆増 これから
データ基盤の歴史>黎明期>Hadoop
内製分散システムの限界からHadoopを選定
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 15
• 既存の分散フレームワークの限界• 事業部ごとに予算化し、10〜100ノード程度のHadoopクラスタを個別に保有• ストレージのI/O軽減にも寄与
レガシーシステム Hadoop
最大並列数 30ノード 4,000ノード
分散フレームワーク 内製で開発 hadoopがサポート
開発リソース 内製 オープンソース
開発範囲分散フレームワークとアプリケーション
アプリケーションのみ
データ基盤の歴史>黎明期>データ基盤
予算がある部門による検証段階
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 16
• Hadoopは事業部予算で10〜100ノード程度のクラスタが乱立• 部門の予算では100ノードくらいが限界• 予算とスケーラビリティの限界・・
Hadoop(x10〜x100)
WebServer
WebServer
WebServer
DataPipeline
(Y!Incorigin)
Teradata
ORACLE
MySQL
NetworkStorage
BatchC++
Batchperl
Batchphp
データ基盤の歴史>導入期
Caption
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 17
クラスタを集約しコストを最適化
一部の部署
で先行利用
マルチテナ
ント化
分析データ
拡張
タイムライン型
コンテンツ&広告
0
10
20
30
40
50
60
70
80
90
100
0
1,000
2,000
3,000
4,000
5,000
6,000
2009 2010 2011 2012 2013 2014 2015 2016
Ro
w H
DFS
Sto
rage
(in
PB
) →
Nu
mb
er
of
No
de
s →
Nodes HDFSHadoop以前 黎明期 導入期 データ爆増 これから
データ基盤の歴史>導入期>Hadoop
大きなクラスタを共同利用
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 18
Hadoop x 1000
• 事業部予算から全社共通な予算へ• マルチテナンシーを実現するためにHadoop Securityに対応• 空いたリソースを有効活用
Hadoopx100
Hadoopx50
事業部A
Hadoopx50 Hadoop
x30
事業部B
事業部Aリソース
35%
事業部Bリソース
25%
事業部Cリソース
20%
共通リソース
20%
データ基盤の歴史>導入期>データ基盤
全社基盤化により利用促進
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 19
• ストレージからアップロードする機能をサポート• 事業部のアプリケーションが直接ストレージにアクセスしなくなった• 予算がない部門も利用可能に• Hadoopへの使用率が加速・・
Hadoop(x1000)
Hadoop(x10〜x100)
WebServer
WebServer
WebServer
DataPipeline
(Y!Incorigin)
NetworkStorage
Teradata
ORACLE
MySQL
データ基盤の歴史>データ爆増期
Caption
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 20
本格的なデータ利活用のはじまり
一部の部署
で先行利用
マルチテナ
ント化
分析データ
拡張
タイムライン型
コンテンツ&広告
0
10
20
30
40
50
60
70
80
90
100
0
1,000
2,000
3,000
4,000
5,000
6,000
2009 2010 2011 2012 2013 2014 2015 2016
Ro
w H
DFS
Sto
rage
(in
PB
) →
Nu
mb
er
of
No
de
s →
Nodes HDFSHadoop以前 黎明期 導入期 データ爆増 これから
データ基盤の歴史>データ爆増期>Hadoop
クラスタの全体最適化
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 21
Hadoop(x3000)
Hive/Tez(x700)
• メインのクラスタのノード数を増強• SLAが厳しいサービスに特化したクラスタを用意
Hadoop(x1000)
アドホック 定常ジョブ 高SLA アドホック 定常ジョブ 高SLA
Data
データ基盤の歴史>データ爆増期>データ基盤
データ利用の効率化を促進
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 22
WebServer
WebServer
WebServer
DataPipeline
(Y!Incorigin)
Hadoop(x3000)
ObjectStore(YJ origin)
cassandra
Hive/Tez
NetworkStorage
• Hadoopクラスタの増強• 高SLAなサービスには専用クラスタを提供• Hive, cassandraなど次世代のデータストアを導入
Teradata
ORACLE
MySQL
データ基盤の歴史>まとめ
性能・コストの最適化からマルチビッグデータへ
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 23
開発リソースのフォーカス
全社基盤化による性能・コスト最適
データ集約によるマルチビッグデータ基盤の実現
Agenda
• データ基盤の概要
• データ基盤の歴史
• 次世代基盤
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 24
次世代基盤
Caption
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 25
技術革新による最適化
一部の部署
で先行利用
マルチテナ
ント化
分析データ
拡張
タイムライン型
コンテンツ&広告
0
10
20
30
40
50
60
70
80
90
100
0
1,000
2,000
3,000
4,000
5,000
6,000
2009 2010 2011 2012 2013 2014 2015 2016
Ro
w H
DFS
Sto
rage
(in
PB
) →
Nu
mb
er
of
No
de
s →
Nodes HDFSHadoop以前 黎明期 導入期 データ爆増 これから
次世代基盤
最適化の3要素
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 26
効率化
設備投資
進化
次世代基盤>設備投資
積極的な設備投資
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 27
効率化
設備投資
進化
設備投資額(億円)
180
2012年度 2015年度
380
次世代基盤>効率化
DC・HW・SWの相乗効果による効率化
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 28
データセンター
ハードウェア
ソフトウェア
✖️ 2
✖️ 2
✖️ 2
✖️ 8効率化
設備投資
進化
次世代基盤>効率化
コストの削減と性能向上の施策
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 29
海外DC利用で電力コスト圧縮
保守性重視から性能重視へ
HadoopやCassandraの開発
データセンター
ハードウェア
ソフトウェア
効率化
設備投資
進化
次世代基盤>進化
トップベンダーとの開発協力
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 30
効率化
設備投資
進化
次世代基盤>進化
シリコンバレー拠点の開設
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 31
効率化
設備投資
進化
次世代基盤>データ基盤
パイプラインのOSS化・コモディティ化
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 32
WebServer
WebServer
WebServer
NewData
Pipeline(Kafka cluster)
Hadoop
StreamPlatform
• データ取得においてもストレージ依存を脱却• ストリーム処理基盤の追加• Hadoopだけでなく、KVS,RDBも適材適所で活用
Tezllap
ObjectStore(YJ origin)
cassandra
Hive/Tez
Teradata
ORACLE
MySQL
次世代基盤>まとめ
ROIを引き上げデータ基盤の課題を解決
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 33
キャパシティの上限を増やす
コスト効率を上げる
進化のスピードを上げる
⇒ 設備投資
⇒ 技術革新
⇒ パートナー・SV拠点
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
34
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
35