Yahoo! JAPANとRiak

28
Yahoo! JAPAN Riak ヤフー株式会社 マーケティングソリューションカンパニー 新規事業本部 阪田 浩隆 20121212日(水)

description

 

Transcript of Yahoo! JAPANとRiak

Page 1: Yahoo! JAPANとRiak

Yahoo! JAPAN と Riak

ヤフー株式会社

マーケティングソリューションカンパニー 新規事業本部

阪田 浩隆

2012年12月12日(水)

Page 2: Yahoo! JAPANとRiak

自己紹介

1 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 3: Yahoo! JAPANとRiak

氏名:阪田 浩隆(さかた ひろたか)

入社年:2004年10月

担当業務実績:

- 社内認証システム開発

- ビジネス系認証システム開発

- 社内ツール系開発

- 分散KVS 開発・保守・運用

- オブジェクトストレージ 開発

現在:Riak開発部隊(Yahoo! JAPAN内)

2 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 4: Yahoo! JAPANとRiak

Yahoo! JAPANにおけるKVS

3 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 5: Yahoo! JAPANとRiak

実はYahoo! JAPANには

16年のKVSの歴史がある

4 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 6: Yahoo! JAPANとRiak

創業当時(1996年)から、

データを扱うプラットフォームとして

分散KVSを使用している

※当時はまだクライアントサーバシステムが主流であり、現在のWebが主流のスタイルではなかった

• 独自開発

• 大規模データ

• 例)ユーザーデータ

• 分散処理

• スケールアウト

• 複数DCでのデータレプリケーション

5 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 7: Yahoo! JAPANとRiak

Yahoo! JAPANの技術

• 独自の技術で基盤を構築している

• Yahoo! Inc.とYahoo! JAPANで開発したコアテクノロジー を元に、強靭な基盤を築いている

• このテクノロジーを利用して、

Yahoo! JAPANのサービスは成り立っている

6 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 8: Yahoo! JAPANとRiak

Yahoo! JAPANの技術

7 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Yahoo! JAPANコアテクノロジー

KVS

認証システム 課金システム

広告技術 CDN

ストレージ RDBMS

強靭なコアテクノロジー

画面はサンプルです。実際の表示は異なることがあります。

Page 9: Yahoo! JAPANとRiak

Yahoo! JAPANにおける オブジェクトストレージ

8 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

一部数値情報の公開を制限させていただいております。予めご了承ください。

Page 10: Yahoo! JAPANとRiak

実はYahoo! JAPANには・・・

オブジェクトストレージが存在します

• 独自開発

• スケールアウト

• データレプリケーション

9 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 11: Yahoo! JAPANとRiak

• 開発コンセプト(2009年7月開発スタート)

• 容量無制限

• 無限にスケールアウトする

• 安価

• とにかく利用価格を安くする

• データの集中管理

• 集中管理する事で無駄をなくし、コスト削減を徹底する

• 使いやすいI/F

• REST形式のAPIを提供

• 高パフォーマンス

• 可用性

10 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 12: Yahoo! JAPANとRiak

Yahoo! JAPAN内での利用実績(一部ご紹介)

• Yahoo!ボックス

• Yahoo!天気・災害

• Yahoo!ブックストア

• Yahoo!ロコ プレイス

11 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

画面はサンプルです。実際の表示は異なることがあります。

Page 13: Yahoo! JAPANとRiak

実際のトラフィック

• Yahoo!ボックスサービス開始から

**~**B/day のアップロードを受けている

• サーバ台数が数千台に達している

• 数PBのデータが格納されている

12 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 14: Yahoo! JAPANとRiak

アーキテクチャ

KVS

13

API

メタ データ

CDN(大容量配信) ※Yahoo!ボックスでは未使用

アプリケーション

Farm

・・・・

Farm

・・・・

Farm

・・・・

ストレージエンジン

・・・・

Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 15: Yahoo! JAPANとRiak

苦労話

• リリース当月(2011/10)のアップロード予測が**Bだったが、実際は**B以上アップロードされていた

• そのため、準備したサーバが不足し慌てて調達に奔走した

• 現在は数千台のサーバで構成されている

• 付属コンポーネントからの内部リクエストが1億強/dayとなっていたため、APIが高負荷になってしまった

• その後改善しました

14 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 16: Yahoo! JAPANとRiak

Riak CSを利用しての

Yahoo! JAPANクラウドストレージ

• 2012/10月 トライアルリリース

• 2013/1月 βリリース(予定)

• 2013/3月 本番サービス開始(予定)

15 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 17: Yahoo! JAPANとRiak

導入事例(先行リリース)

• LOHACO(アスクル様)

16 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Riak CSで 画像配信

Page 18: Yahoo! JAPANとRiak

システム構成

17 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Riak CS Cluster

Riak EDS Cluster 1

CDN

Riak CS Cluster

Riak EDS Cluster 2 レプリケーション

障害発生時のみ

Page 19: Yahoo! JAPANとRiak

データ

• 登録件数

• 約20万件弱 (データ移行は3時間程度)

• ファイルの種類/サイズ

• 画像データ

• 5k~500k

• リクエスト数

• ***req/sec

• CDNキャッシュヒット率

• 97%

• レスポンス

• 10ms~80ms (CDNにキャッシュされている状態だと10ms程度)

18 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 20: Yahoo! JAPANとRiak

構築~リリースまでの期間

• 構成検討、各種調整(NW、サーバ調達)

• 1週間

• 構築&テスト・リリース

• 構築:1日

• テスト&リリース:1週間

問題になったところ

• データをフラットに配置したところ、

一覧取得できなくなった

• 解決策:ディレクトリを分けてもらった

• フラットに配置しても一覧取得できるように現在Basho社が爆速対応中

19 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 21: Yahoo! JAPANとRiak

なぜRiakなのか

20 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 22: Yahoo! JAPANとRiak

運用コスト削減

• 運用コストがかからないような構成になっている

• コンポーネント数が少ない

• 設定が項目が少ない

Yahoo! JAPANで培ったKVSのノウハウを、ダイレクトに活かせそうなアーキテクチャだった

• +一緒に開発できそうな人たちだった

求められる機能の違い

• C向け、B向けで求められる機能が違うため、

全てを1ソースで管理していくのは困難だった

21 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 23: Yahoo! JAPANとRiak

S3互換のオブジェクトストレージが必要だった

• ユーザーニーズに早急に応える必要があった

• 独自のオブジェクトストレージを改修する事も可能だったが、時間を節約したかった

KVSがストレージエンジンになる

• KVS単体でもストレージエンジンになりえるようになっている

• ただしサーバ台数が増えた時にどうするのか検討が必要

22 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 24: Yahoo! JAPANとRiak

今後

23 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 25: Yahoo! JAPANとRiak

24 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Yahoo! JAPANグループのクラウドサービス

ネットワーク&インフラ Yahoo! JAPAN ネットワーク網

データセンター 拠点 拠点

コンピューティング 物理サーバ 仮想サーバ

サービス CDN

アプリケーション

ストレージ

メール Web プレビュー ・・・

拠点 拠点

DB

IDCフロンティア ネットワーク網 社内 KVS

ログイン 認証

決済

地図 連携

広告

スマホ

データ解析

Yahoo! JAPANのテクノロジーが下支え

他社 連携

ポイント

1. クラウド基盤としての展開

2. 社内利用の促進

3. ビッグデータインフラとしての活用

Page 26: Yahoo! JAPANとRiak

KVS

Storage Hadoop

RDS ※RDBMS

仮想サーバ 仮想NW

医療

小売

企業から 発生するデータ

Webでのデータ ※EC,行動ログ等

通信ログ

小売

ライフログ

ビックデータインフラ

Page 27: Yahoo! JAPANとRiak

Q&A

26 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Page 28: Yahoo! JAPANとRiak

ご清聴ありがとうございました

27 Copyright © 2012 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止