(レポート) DAT308: Yahoo!がAmazon Redshiftで毎日大量のイベントを分析する方法 #reinvent

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは&こんばんは!しんや@サンフランシスコ滞在中です。

当エントリでは、AWS re:Invent 2015のセッションの1つ、Yahoo!のAmazon Redshiftを含めたデータの連携方法等について簡潔にまとめてみたいと思います。

Yahooでの分析

  • Yahooにとって『分析』は何を意味するのか?
  • ETLプロセスを学ぶ
  • Amazon Redshiftアーキテクチャについて学ぶ
  • やるべき事、やってはいけない事、Amazon Redshiftに於けるベストプラクティス等
  • 分析応用編/どのように我々がユーザー保持を定義し、レポートしているか

Hadoopの稼働状況

  • 14クラスタ
  • 42000ノード
  • 3つのデータセンター
  • 500PBのデータ量
  • Hiveの印象:遅い、使いづらい、共有しづらい、繰り返ししにくい。
    • その他のHadoop系サービス(Apache Drill, Spark, TEZ, Cloudera IMPALA, druid)も同様

YahooでのAmazon Redshiftの活用状況

  • dc1.8xlarge 21ノード
  • 1日あたりのイベント数:2B(20億)
  • 1日あたりのクエリ数:1200
  • データ量:27TB

アーキテクチャ

やるべき事&べからず集

  • 【やる】データのサマリー化
  • 【やる】最適なソートキーを指定
  • 【やる】VACUUM処理は夜間に実施
  • 【やる】可能な限り『JOIN』を避ける(そして結合しなければいけない場合の緩和戦略について学ぶ)
    • JOIN時の緩和:レコードが同じ場所に配置されると、結合が最も早くなる。
    • dat308_04
  • 【やる】自動化
  • 【やってはいけない】クラスタのデータ領域を埋めてしまう
  • 【やってはいけない】デフォルトキューでETLを実施(WLMを上手く使おう)
    • dat308_05
  • 【やってはいけない】恒久的なテーブルに対し、CREATE TABLE AS構文を使う

まとめ

Yahoo!におけるAmazon Redshiftの活用法に関するまとめでした。Amazon Redshiftのべき&べからず集についても参考になりましたが、個人的にはAirflowやLookerと言った関連ツールの内容が気になりました。時間のある時に調べてみようと思います。こちらからは以上です。