ニコニコ動画のストレージの話を聞いてみた
5月13日に東京ビッグサイトに出向いて、「第12回 データストレージEXPO」の基調講演
「ストレージ先進ユーザーが語る!日本最大の動画コミュニティサイト「ニコニコ動画」を支える、ドワンゴのストレージ戦略」
千野裕司氏((株)ドワンゴ 執行役員 研究開発本部長)
を拝聴してまいりました。
本当はTwitterを使ってリアルタイムにツイートできれば良かったのですが、会場のWi-Fiの電波状況があまりよろしくなかったので断念。
意外にも分かりやすく面白い話だったので、これは自分用の記録として書き残しておかねば、と思いつつ、ついサボってしまい、10日が経過してしまいました。
ということでほとんど思い出し日記状態ですが、以下、講演の概要です。
まず、長年「赤字事業」が半ばキャッチフレーズ化していたニコニコ動画(以下「ニコ動」)について、5月13日 15:00から開催されたドワンゴの決算説明会でついに「事業黒字化」が発表されました。この講演会は13日 10:00開催でしたので、その事実が直接発表されることはありませんでしたが、
「赤字と言われていますが、プレミアム会員増加等もあってそろそろ黒字?と言った所です」
「本日決算説明会をニコニコ生放送で中継するのでご覧ください」
という感じで事実を匂わせてくださっていました。
「動画サービスはストレージが激しいという巷の認識」(千野氏の発言より)のとおり、動画数4,100,000動画、平均25MB/本、総データ量140TBを誇るニコ動。
これまで、システムを保たせるための運用上の割り切りとして、
- 提供画質を「高画質」(2Mbps程度)と「低画質」(400Kbps程度)の2種類しか用意しない(YouTubeは4種類に対応)。
- ユーザがアップロードした元の動画ファイルは消去する(YouTubeは元ファイルを保存しており、故にHD画質に対応できた)。
を実践してきたようですが、今後はiPhone、Android、Chrome OSなど、「HTML5」「H.264ブラウザ内再生」「Wi-Fi+3G」への対応に向けてH.264向け高画質、3G画質を加えた4種類の画質に対応していくということでした。オリジナルファイルを保存するということなのか、それとも対応画質を増やすだけで、これまで同様オリジナルファイルは捨てるということなのかについては、言及されませんでした。
サーバ構成としては、大きく分けて次のようになっているそうです。
- エッジサーバ:約400台。人気動画・祭り動画はほぼここで蓄積を担当、消費される。
- オリジンサーバ:約100台。直近半年内でリピートされる動画を蓄積担当
- ストレージシステム:3台。過去3年内でほとんど再生されていない動画を蓄積担当
- エッジサーバにキャッシュ用ストレージを搭載
- httpリクエストをロードバランサでエッジサーバに振り分け。キャッシュを見に行き、ファイルがあれば返す。
- キャッシュがない場合はオリジンサーバにファイルを探しに行く。
- それでもファイルがなければストレージでファイルを探す。
ちなみにストレージまでリクエストが送られた場合、結果を返すまでに約10秒。
さらっと書いてある数値がいちいち凄いんですが……(^_^;)。
ちなみにエッジサーバも役割により3種類に分けられるそうです。
1分ごとに動画へのアクセス状況をリアルタイム集計して、1つの動画の視聴回数が一定以上(200回/分)に達した場合は「祭り用」のエッジサーバに振り分けを変更しているとか。
実際、今年の正月に「アイマス新年会」としてニコ動上の100以上の「アイドルマスター(アイマス)」動画がより抜き視聴された時、その動画を担当していたエッジサーバが即死し、そのサーバに載っていた他の無関係の動画も再生不可状態になったそうで、故にこうした「祭り対策」が必須となるようです。
更に具体的なサーバの構成は次のとおり。
- エッジサーバ
- ヘッド用エッジサーバ
少ない種類の動画の大量配信に特化(=祭り用サーバ)
同時接続数:20,000 要求ストレージ速度:高速 容量:低→SSD化+10GbE化を進めスケールアップ
- ミドル用エッジサーバ
比較的新しめで、そこそこ見られている動画の配信
同時接続数:120,000 要求ストレージ速度:大
- テール用エッジサーバ
同時接続数:60,000 要求ストレージ速度:最大(2TB程度)
- ヘッド用エッジサーバ
- オリジンサーバ
エッジサーバにキャッシュされていない動画をここから取得 要求ストレージ:極大 ストレージサーバへのアクセスを極少にする。
- ストレージ
容量数百TBのストレージ:現3台
- 来年にはPBに到達
- NFSでアクセス→とても扱いやすい。現場としては今後もこれで行きたいという意見。
- 可用性、スケーラビリティ、コスト→こちらがより重要である。
- 速度はそこそこ必要(3~4Gbps)
この辺りから、ではドワンゴのアプローチはどのようなものか?というまとめに入りました。
- 自前主義:アプリケーション設計とサーバ構成で課題クリア
多段キャッシュ、負荷分散、アクセス頻度による動画の置き場所調整, etc. - それらを実現してくれる製品はあるがあえて採用しない(例:SSD/HDDハイブリッドストレージ等)
- 自前主義のメリット
- 各レイヤーのリソース配分の自由度、スケーラビリティ
- 個々のコンポーネントに求める要件がシンプル→製品選択幅広。混在がしやすい。
- 自前主義のデメリット
- 集積度が低くなりがちである。
- 場所代、電気代の問題
今後ドワンゴとして求めているストレージ製品は、
- ドライブレベルでは、SSD導入。また高速・長寿命であること。
- ストレージレベルでは、安価なHDDの大量積みができること。大ボリュームとして扱えること。
だそうです。
以上で講演は終了となりました。多段構成かつ大容量のストレージが必要な理由など、日頃動画を消費する一方の素人にも分かりやすく語られていて、基礎技術をおろそかにしていないことが伝わってくる、とても好印象な内容でした。
但し、自分に個々のストレージ製品レベルの知識があれば、「こんなことができるのはきっとあの会社の製品に違いない」等、また違う角度で理解できたかも知れません。その辺りは経験値の積み重ねなので、まあ、今の自分にはどうしようもない所です。
« 4月27日、「事業仕分け」にプチ愚痴る | トップページ | 日本十進分類法を付箋ソフトでデスクトップへ(2010.6.13追記) »
「パソコン・インターネット」カテゴリの記事
- 「システムを作りたい人」、そして「システムを作ること」について考えてみた。(2013.08.10)
- 最近の図書館&情報関係ブックマークネタ(2010/8/3~8/12)(2010.08.12)
- 議論苦手者とTwitterとブログ(2010.07.11)
- 日本十進分類法を付箋ソフトでデスクトップへ(2010.6.13追記)(2010.06.12)
- ニコニコ動画のストレージの話を聞いてみた(2010.05.23)
コメント
この記事へのコメントは終了しました。
« 4月27日、「事業仕分け」にプチ愚痴る | トップページ | 日本十進分類法を付箋ソフトでデスクトップへ(2010.6.13追記) »
なんと、同じ会場にいらしたんですね。お会いできなくてくやしーなー
徹底した自前主義には、驚きました。それで黒字にしてしまうとは。
はやりのクラウドと、自前で構築するのと、メリットデメリットありそうですが
いろいろ考えさせられたセッションでしたー
投稿: しるばーべりー | 2010.05.23 10:09
しまった、実は会場で、そちらに似た人を一瞬見かけたような気がしていたのです。
出口で張り込んで確認しようかどうか悩んだのですが、同じ会場の後半の講演が専門用語ばりばりで聴くのがかなり辛かったのと、ちょうど風邪を引き込んでいたのもあって、早めに出てきてしまったのでした。
やはり頑張ってお待ちしていれば良かったです。残念。
うちの職場のシステムも今のところ「徹底した自前主義」なのですが(サーバ500台は流石にありません)、コスト面などのメリット・デメリットをきちんと評価するためには、本当はクラウドも勉強しないといけないのですよね(^_^;)。
投稿: MIZUKI | 2010.05.23 23:57
情報ありがとうございます。グーグル検索からきました。
SSDサーバを研究しているものです。この間、サーバ一台で、高画質 2Mbの動画を安定的に同時接続数4000で処理できるサーバが完成しました。500台以上というのは、かなりの台数ですね。
SSDというのは、「SubstantialIOPS」がもっとも重要だと思います。Isilon社のサーバは最大100万IOPSが越えるようですが、キャッシュメモリで処理する場合は、結局時間が立てばDiskに必ず頻繁に接続するようになるので、急にパフォーマンスがおちたりします。安定したIOPSがサービスではもっとも重要なので、この問題を解決したSSDサーバを使わないと後で大変な目にあいますよ・・・・
SSDの性質を正確に理解(構造、コントローラ、ファイルシステムなど)しないで、HDDの代わりにSSDだけを差し込んで検証もしないで売り込む業者が多いようですが、このようなサーバは、実際のサービスでの使用はオススメできません。最低でも2年以上の実績があり、安定したIOPSを出せるように設計し、ファームウェアを組み込んで、チューニングを徹底的に行ったSSDサーバではないとビジネス環境で使用するのはまだ危険かもしれません。
SSDサーバを導入した会社を調べてみると「最初は良かったけれどもうHDDと同じか遅くなっている」、「書き込みが極端に遅くなっている」などの話が多いようです。
研究しているSSDサーバだと50台未満に減らすことがでますね。
投稿: RisaPapa | 2010.11.17 12:17
RisaPapaさん、こんにちは。コメントありがとうございました。
サーバの高速化にはCPU、メモリ、DB等のチューニングも影響するとは言え、高速かつ安定稼働する記録媒体はやはり重要だと思います。
積み重ねられた信頼感から、近辺ではまだHDDに重きを置いている傾向がありますが、SSDもかなり進化してきているのですね。
仰るとおり、拙速に導入するのではなく、用途に即して臨機応変に使い分けていけるのが最良なのではないでしょうか。
投稿: MIZUKI | 2010.11.23 01:55