AWS re:Invent2013参加レポート #28 Maximizing Audience Engagement in Media Delivery
Netflixレベルのメディア配信はどうなっているか?
みなさんおなじみ米国のインターネットトラフィックを使いまくる動画配信サービスNetflixのスピーカーも参加しているセッションです。
まず、顧客は何を求めているのか列挙してくれました。どこからでも無料で、どんなデバイスからでも都合良くアクセスできて、高品質でいかなる見当違いな割り込みも無く、パーソナライズされた広告で、コンテンツ閲覧中にインタラクティブでセカンドスクリーンでソーシャルメディアでシェアできること
そもそも、コンテンツ配信って誰がやっているのかってことで米国の事情が出ています。ABCやCBSなどのニュースメディア、CNNなどのケーブルテレビ、様々なインターネットサイト
そして、NetflixやhuluやMLB.comのような新しいメディアです。
コンテンツ発見についても紹介されています。雑誌、テレビ、STB、スマホ、タブレットなどの画一的に紹介する端末から
最近は、メディア横断的な検索サイト、個人に最適化されたディスプレイ、好みに合わせたアルゴリズムなどを駆使して、顧客がコンテンツを見つけやすくなるように様々な工夫がされています。
コンテンツ配信(Delivery)とコンテンツ発見(Discovery)
上記で紹介したような、コンテンツ配信(Delivery)とコンテンツ発見(Discovery)について、発生するデータソースについて考えてみましょう。コンテンツ発見時に利用されるのが、メタデータとセッションログです。コンテンツ配信時に利用されるのが、ビデオログ、クリックなどのイベントログ、CDNログ、アプリケーションログです。ビデオ閲覧中のフレーム毎に非常に大きたデータが生成されて、様々な視点で計算され分析する必要があります。
Netflixを例に挙げると、3800万人の顧客、50カ国以上に配信、1日あたり1000億以上のメタデータ、1月あたり1000億時間視聴となっています。
そしてこれらのビックデータを、ASAP(As soon as possible)に、使いやすい情報へ加工する必要があります。時系列のデータはバッチ処理、ライブデータはリアルタイム分析です。
コンテンツ発見はバッチ分析で、コンテンツ配信はリアルタイム分析に向いているそうです。
Netflixのチャレンジ
こういった背景から、Netflixはチャレンジを始めました!!(も、もしや、アレですか!?)
そもそも、なぜパーソナライズ化が重要なのでしょうか?実は、75%以上の人がお勧めされた動画を見ているのです。こんなデータがあるなら、パーソナライズ化が収益に繋がることは明らかですね。
メタデータって何でしょうか。ジャンル、キャスト、評価、連絡先、ストリーミングと配備情報、副題、ダビング、トレイラー、スチール、実在の情報などです。
こういった情報をもとに、ユーザー選択、言語、振る舞い、好み、リコメンドアルゴリズム、デバイス最適化、CDN配信、ビルボード、トレイラー、ストリーミング、独自のプログライングなどに活かされています。
メタデータのプラットフォームはこんな感じ。
まず始めにデータを格納する場所がS3で、ここを最適化することから始まります。配信する国によって使うリージョンを分けていたり、データを圧縮してサイズを削ったり、マルチパートで書き込んだり、差分だけ先に書き込んだり。
Kinesis = Kafka + Spark Streaming + Storm + マネージドサービス??
データを取り出して流す部分に、SQSとDynamoDBを使っています。そ、そしてその先にはKinesisキター!
バッチ処理にはRedshiftとEMRを使っています。リアルタイム処理には、SparkとStormを使っています。をいをい、最先端ですw
Stormって何?Hadoopのようなクラスターです。
Sparkって何?クラスター上のデータをリアルタイムに取り出すことができます。とても速いです。
Kinesis = Kafka + Spark Streaming + Storm + マネージドサービス??
さて、話を戻しまして、Kinesisの後ろに置くデータストアとして最適なのはDynamoDBです。しかし、集約や順序に弱いのでEMRを使ってRedshiftに入れています。
全体図
ビックデータに対して、リアルタイム処理とバッチ処理を組み合わせたソリューションが出来上がりました。
まとめ
Netflixがこれらの仕組みによって得られたものは、動的でパーソナライズされた広告、動的なCDNスイッチング、インタラクティブなストリーミング体験、ストリーム品質だそうです。Netflixスゴいです!スゴ過ぎます!今後、日本企業でもこういった取り組みが増えてくると思いますが、まだまだビックデータまでいっていない企業ばかりです。世界の最先端は、リアルタイムにビックデータを扱う方向へと進んでいます。