yahoo! japanのデータ基盤とhadoop #dbts2016

35
ヤフー株式会社 データ&サイエンスソリューション統括本部 杉山 朋広 Yahoo! JAPANのデータ基盤とHadoop

Upload: yahoo

Post on 09-Jan-2017

915 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

ヤフー株式会社

データ&サイエンスソリューション統括本部

杉山 朋広

Yahoo! JAPANのデータ基盤とHadoop

Page 2: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

自己紹介

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2

杉山 朋広(すぎやま ともひろ)

2002年

ヤフー株式会社中途入社

2002年ー2011年

Yahoo!ウォレットの開発・運用

Yahoo! JAPAN IDのログイン・登録・DBの運用

2012年ー現在

Hadoopクラスタの構築・運用

広告集計システムの開発

広告システム向けのデータプラットフォームの構築

Page 3: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

>3000万 MAU

>100 services 2億 商品数

82%of PC users

74%of smartphone users

100以上DUB

No.1App publisher※1

>8000万

※1 ゲームアプリケーションを除く

Page 4: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

4

Page 5: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

5

Page 6: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

Agenda

• データ基盤の概要

• データ基盤の歴史

• 次世代基盤

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 6

Page 7: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

Agenda

• データ基盤の概要

• データ基盤の歴史

• 次世代基盤

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 7

Page 8: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の概要

日本有数の規模

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 8

S3互換ストレージ

6000nodes

2000nodes

200dbs

500dbs

1.7PB

1500nodes

Page 9: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の概要>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

Page 10: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の概要>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以前 黎明期 導入期 データ爆増 これから

Page 11: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

Agenda

• データ基盤の概要

• データ基盤の歴史

• 次世代基盤

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 11

Page 12: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の歴史>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以前 黎明期 導入期 データ爆増 これから

Page 13: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の歴史>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が主流• 独自の分散フレームワークの限界・・

Page 14: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の歴史>黎明期

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以前 黎明期 導入期 データ爆増 これから

Page 15: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の歴史>黎明期>Hadoop

内製分散システムの限界からHadoopを選定

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 15

• 既存の分散フレームワークの限界• 事業部ごとに予算化し、10〜100ノード程度のHadoopクラスタを個別に保有• ストレージのI/O軽減にも寄与

レガシーシステム Hadoop

最大並列数 30ノード 4,000ノード

分散フレームワーク 内製で開発 hadoopがサポート

開発リソース 内製 オープンソース

開発範囲分散フレームワークとアプリケーション

アプリケーションのみ

Page 16: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の歴史>黎明期>データ基盤

予算がある部門による検証段階

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

Page 17: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の歴史>導入期

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以前 黎明期 導入期 データ爆増 これから

Page 18: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の歴史>導入期>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%

Page 19: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の歴史>導入期>データ基盤

全社基盤化により利用促進

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

Page 20: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の歴史>データ爆増期

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以前 黎明期 導入期 データ爆増 これから

Page 21: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の歴史>データ爆増期>Hadoop

クラスタの全体最適化

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 21

Hadoop(x3000)

Hive/Tez(x700)

• メインのクラスタのノード数を増強• SLAが厳しいサービスに特化したクラスタを用意

Hadoop(x1000)

アドホック 定常ジョブ 高SLA アドホック 定常ジョブ 高SLA

Data

Page 22: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の歴史>データ爆増期>データ基盤

データ利用の効率化を促進

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

Page 23: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

データ基盤の歴史>まとめ

性能・コストの最適化からマルチビッグデータへ

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 23

開発リソースのフォーカス

全社基盤化による性能・コスト最適

データ集約によるマルチビッグデータ基盤の実現

Page 24: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

Agenda

• データ基盤の概要

• データ基盤の歴史

• 次世代基盤

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 24

Page 25: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

次世代基盤

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以前 黎明期 導入期 データ爆増 これから

Page 26: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

次世代基盤

最適化の3要素

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 26

効率化

設備投資

進化

Page 27: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

次世代基盤>設備投資

積極的な設備投資

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 27

効率化

設備投資

進化

設備投資額(億円)

180

2012年度 2015年度

380

Page 28: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

次世代基盤>効率化

DC・HW・SWの相乗効果による効率化

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 28

データセンター

ハードウェア

ソフトウェア

✖️ 2

✖️ 2

✖️ 2

✖️ 8効率化

設備投資

進化

Page 29: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

次世代基盤>効率化

コストの削減と性能向上の施策

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 29

海外DC利用で電力コスト圧縮

保守性重視から性能重視へ

HadoopやCassandraの開発

データセンター

ハードウェア

ソフトウェア

効率化

設備投資

進化

Page 30: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

次世代基盤>進化

トップベンダーとの開発協力

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 30

効率化

設備投資

進化

Page 31: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

次世代基盤>進化

シリコンバレー拠点の開設

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 31

効率化

設備投資

進化

Page 32: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

次世代基盤>データ基盤

パイプラインの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

Page 33: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

次世代基盤>まとめ

ROIを引き上げデータ基盤の課題を解決

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 33

キャパシティの上限を増やす

コスト効率を上げる

進化のスピードを上げる

⇒ 設備投資

⇒ 技術革新

⇒ パートナー・SV拠点

Page 34: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

34

Page 35: Yahoo! JAPANのデータ基盤とHadoop #dbts2016

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

35