[レポート] プライムビデオ:ペタバイト級の分析処理 #AMZ304 #reinvent

2019.12.07

DA事業本部の川崎です。

本記事はAWS re:Invent 2019のセッションレポートとなります。

概要

In this session, learn how an analytics platform team in Amazon Prime Video processes, governs, manages schemas, and stores data at petabyte scale. Discover how they were also able to secure and deliver easy access to teams across the Prime Video organization in a heterogeneous technology environment. In addition, the speakers present how Prime Video leverages a combination of data warehousing and data lake technologies along with scalable compute engines like Amazon EMR and serverless technologies like Amazon Redshift Spectrum. Finally, hear how they choose the right data processing technologies, and learn about their best practices.

このセッションでは、Amazon Prime Videoの分析プラットフォームチームがスキーマを処理、管理、管理し、ペタバイト規模でデータを保存する方法を学びます。 また、異種テクノロジー環境において、Prime Video組織全体のチームを簡単に保護し、簡単にアクセスできるようにする方法をご覧ください。 さらに、スピーカーは、Prime Videoがデータウェアハウジングとデータレイクテクノロジーの組み合わせを、Amazon EMRのようなスケーラブルなコンピューティングエンジンやAmazon Redshift Spectrumのようなサーバーレステクノロジーとともに活用する方法を紹介します。 最後に、彼らがどのように適切なデータ処理技術を選択しているかを聞き、彼らのベストプラクティスについて学びます。

スピーカー

  • Karthik Kumar Odapally - Sr Solutions Architect, Amazon Web Services
  • Parwinder Singh - Sr Data Engineer

アジェンダ

最初に1人目のスピーカー(Karthik Kumar Odapallyさん)から、アジェンダとセッション概要の説明がありました

Karthik Kumar Odapallyさん

  • プライムビデオの沿革
  • AWS化 (AWS'ification)
  • メトリック管理
  • インプリメンテーションの例
    • クリックストリーム
    • 再生
  • 結論

セッション概要(10,000ft-view、高度1万フィートからの俯瞰)

  • EC2 → 重い処理を簡単に実現(Heavy lifting and light use)
  • Redshift → スケーラブルなDWH
  • EMR → Spark on EMR
  • S3 → データレイク、中間ストレージ
  • Lambda → 運用のオーバーヘッド無し

プライムビデオの沿革

ここで2人目のスピーカー(Parwinder Singhさん)から、プライムビデオ・チームの沿革について言及がありました

Parwinder Singhさん

チームの歴史

  • Phase1: 一元化されたチーム
  • Phase2: ガバナンスの試みが失敗
  • Phase3: 仕組みが必要

仕組み(mechanism)

  • メトリックのガバナンス
  • データプラットフォームにカプセル化されたビジネスロジック
  • データレイク向け ロールベースのアクセス管理

メトリックのガバナンス

  • スケジュール化されたミーティング
  • ドキュメント
  • 承認のチェーン(承認のルート)

データプラットフォームにカプセル化されたビジネスロジック

  • 生のデータ
  • ビジネスロジックを適用
  • データレイク

データレイク向け ロールベースのアクセス管理

  • プロデューサー側(データを作成する側)
    • Redshift
    • EMR
    • S3
    • APIコール
  • サブスクライバー側(データを利用する)
    • Redshift
    • Redshift Spectrum
    • EMR
    • SageMaker

データレイク

  • インプリメンテーション
    • 暗号化
      • 通信中
      • 保存時
    • Web UI(非技術者向け)、API(技術者向け)
    • 統合されたユーザー間コミュニケーション
    • データを見つけるのを簡単に

データレイク

  • 特徴
    • ロールベースのアクセス管理
    • S3に裏付けされ、パーティションをベースに
      • パーティションをリプレイス
      • パーティションをアップデート
    • マネージドのスキーマ変更
      • 所定の位置に
      • 置換

インプリメンテーションの例

クリックストリームデータ

  • S3: データレイクのクリックストリームデータ
  • EMR: Spark on EMR、週次データ、Parquet
  • S3: 中間ストレージ
  • Redshift: ビジネスロジック
  • S3: ビジネスロジックにより変換されたデータ

Redshiftのベストプラクティス

  • 分散キー
    • 高いカーディナリティ
      • JOINの条件となるカラム
  • ソートキー - 通常、フィルタリング、JOIN、その両方 - 単調増加する属性には、インターリーブドソートキーは使わないこと(タイムスタンプ、identityカラム)

再生:プライムビデオの生命線

再生 データビュー

  • ビジネスのニーズに即応
    • ビジネスロジックの変更
    • 不正データ
    • イベント
    • ローレベル、カラムレベルのセキュリティ(Redshiftでは未サポート)

バックトゥザフューチャー

結論

  • ビルド フォー フューチャー
  • 早めにコラボレートする
  • フレキシブルであれ
  • 計測する

重要ポイント

  • データレイク
    • マネージドのスキーマ変更
    • データレイク上のView
  • アーキテクチャの進化
    • インハウス技術の制約を理解する
    • データドリブンのPoCを行う
  • 一元化されたEMRクラスターのプール

まとめ

このセッションでは、Amazonプライムビデオチームが、ペタバイト規模でデータを処理する方法をご紹介いただきました。 データウェアハウジングとデータレイクテクノロジーの組み合わせの方法、 構築する際の着眼点は、データ分析基盤を構築する上で、大いに参考になりそうです。