[レポート] Amazon Redshiftの新機能 featuring Yelp #ANT320-R1 #reinvent

2019.12.30

本記事は、セッション「ANT320-R1 - [REPEAT 1] What’s new with Amazon Redshift, featuring Yelp」のレポートです

セッション概要

Learn about the most important and hottest new features of Amazon Redshift. In this session, we discuss the architectural evolution of Amazon Redshift and how it uses machine learning to create a self-optimizing data warehouse. We also review recent performance, concurrency, elasticity, and manageability enhancements behind its record price-to-performance ratio. Finally, we share a glimpse of our vision for the data warehouse of the future and hear from Yelp about how Amazon Redshift’s latest features have helped Yelp achieve its optimization and scale.

登壇者

  • Himanshu Raja - Sr Product Manager Technical, Amazon Web Services
  • Tony Gibbs - Solutions Architect, Amazon Web Services
  • Steven Moy - Software Engineer, Yelp

内容

Amazon Redshiftの主要なアップデートと背景

データレイクアーキテクチャへの移行

  • Amazon Redshiftは現在1万にも及ぶ顧客数を獲得している
  • 顧客が求めているのは次の通り
    • クラウドへの移行
    • イベントデータの指数関数的成長
    • 全データからの分析、そしてそこから得られるエンドツーエンドの洞察
  • 顧客は「データレイクアーキテクチャ」へ向かっている

Amazon Redshiftを選ぶ理由

  • データウェアハウスとしてAmazon Redshiftを選ぶ理由
    • データレイクとAWSの統合
      • AWS Lake Formationによるカタログ化とセキュリティ
      • エクサバイトスケールのクエリ対応
      • AWSとの統合(AWS Database Migration ServiceAmazon CloudWatch
    • 最高のパフォーマンス
      • 他のクラウドデータウェアハウスと比較して3倍以上の速さ
    • 最も低コスト
      • 他のクラウドデータウェアハウスと比較して最大75%安い、かつコストの予測も可能。
    • 最もスケーラブル
      • 仮想的に制限がないリニアスケーリング
    • セキュリティ性
      • AWSのセキュリティ(VPCAWS Key Management ServiceAWS CloudTrailなど)
      • SOC, PCI, DSS, ISO, FedRAMP, HIPAAの認証
    • フルマネージドである
      • プロビジョニングと管理が容易
      • 自動バックアップ
      • 99.9%SLA

2019年のAmazon Redshiftの主要なイノベーション

  • RA3 with Redshift managed storage
  • AQUA(Preview)
  • AZ64
  • Materialized views(Preview)
  • Spatial data support
  • Concurrency Scaling
  • Federated query across Redshift & RDS/Aurora(Preview)
  • Data lake export in Parquet
  • Spectrum Request Accelerator
  • Amazon Lake Formation integration
  • New management console
  • Auto WLM
  • Elastic resize scheduler
  • Auto-Vacuum, Auto-Analyze & Auto Table Sort
  • Stored procedures
  • Distribution and sort key advisor
  • Cross-instance restore
  • Faster cross regioned copy and change
  • Auto Data Distribution
  • Deffered Maintenance
  • Elastic resize

Amazon Redshiftによる大規模なYelp構築分析

外部顧客と内部顧客の両方に対するYelpの分析ニーズ

  • 我々のミッション:人々を素晴らしい地元企業とつなぐこと
    • 480万の有効なローカルビジネス拠点
    • 1億9,900万のレビュー
    • 3800万のアプリ固有のデバイス
    • 56万3000の有料広告ロケーション
    • 2600万のYelp経由で予約された食堂の予約席数
    • 2200万の見積もり依頼リード
  • Yelpは地元のビジネスオーナーに力を与える
    • ビジネスオーナーは、Yelpコミュニティに参加するために、yelpビジネスページを無料で請求可能
    • さらに、ビジネスオーナーポータルでユーザ及び顧客ビューを追跡できる

  • 大量のデータについて
    • ユーザへの機能の提供や、社内での分析を行うために、様々なデータ処理技術に精通し効率的に計算を行う必要がある
    • かなり大規模なストレージを利用しており、Amazon S3のストレージクラスの分布で言うと図のようになっている
  • 内部顧客もどんどん拡大し続けている
    • アナリストとデータサイエンティスト
      • 変数間の関係を推測し、様々な相互作用を見つけて予測モデルを構築する
    • プロダクトマネージャー
      • 内部ダッシュボードを活用して、機能の決定を促進し、プロダクトの健全性を監視する
    • エンジニア
      • データパイプラインを活用してあらゆる種類のユーザ及びビジネス向けの機能と機械学習モデルを強化

Yelpのデータエコシステムの背景

“One Size Fits All”は古い

  • 万能な解決策(「One size fits all」)ではなく、その仕事に合わせた解決策の選択(ツールの選定)が必要
    • 低レイテンシー向き
      • MySQL
      • CASSANDRA
      • elasticsearch
    • より高いスループット向き
      • Amazon S3
      • Amazon Redshift

Bad idea / Good idea

  • Bad idea:データを移動するための「n」「x」「m」バッチを開発する
  • Good idea:コネクタエコシステム(具体的にはデータパイプライン構築ツールなど)の活用

Redshiftの使い所

  • 各層でAmazon Redshiftを利用した分析を行っている
    • ビジュアライゼーション(視覚化)層
    • 処理槽
    • データ層

Amazon RedshiftYelpのエコシステムで重要な役割を果たした方法

最新のデータウェアハウスで求めているもの

  • 最先端のオプティマイザー
  • ANSI SQL
  • 弾性(Elastic)
  • カラムナー型ストレージエンジン
  • SIMDサポート
  • オートスケール

Amazon Redshiftに関して

  • 「Concurrency scaling」によって計算の自動スケーリングが可能
    • Y軸は、クエリワークロードによって駆動される追加の同時スケールクラスターの平均
    • X軸は時間。このグラフでは約30日間分Concurrency scalingを使用している

  • クエリに必要なリソースについて考えたことはありますか?
    • Automatic Workload Management (Auto WLM)が便利です
      • <筆者補足>機械学習アルゴリズムを用いてクエリを実行するために必要なリソースを動的に管理する機能です

  • 次世代のデータウェアハウジング- RA3
    • パフォーマンスの正規化
      • RA3なら、ほぼ同じコストで、パフォーマンスは2倍

Yelpのデータエコシステムの次のステップ

  • Yelpは2020年以降、自動運転データシステム、より多くの危害学習と最適化に取り組んでいく。

所感

Yelp社では膨大なデータをAmazon Redshiftで効率的に扱っていますが、そういったことのためには前半のセッション中にもあったようなRedshiftのアップデートをきちんとキャッチアップする必要があると改めて感じました。同社のような規模になると特に、「Concurrency scaling」「RA3」などは非常にビジネスインパクトの大きなアップデートですね。

セッションの前半ではAmazon Redshiftの今年の主要イノベーションについて紹介がありましたが、たった一年でもこれだけ数多くのアップデートがあるのだということを改めて確認し驚きました。引き続きアンテナを高く持ち、内容をきちんと業務に取り込んで行けるようにせねばと思います。

このレポートが誰かの参考になれば幸いです。