Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon Redshift の 進化の歴史とこれから/redshift-evolution-2021

jozono
April 06, 2021

Amazon Redshift の 進化の歴史とこれから/redshift-evolution-2021

2021.04.06 Data Engineering Study #7「Redshift最新アップデートと活用事例」
講演資料「Amazon Redshift の進化の歴史とこれから」
https://forkwell.connpass.com/event/203403/

更新:
2021.05.03 SUPER, Data Sharing GA に伴う変更
2021.05.28 Redshift ML GA に伴う変更

jozono

April 06, 2021
Tweet

More Decks by jozono

Other Decks in Technology

Transcript

  1. © 2021, Amazon Web Services, Inc. or its Affiliates.
    Amazon Web Service Japan K. K.
    Senior Solutions Architect, Analytics
    Junpei Ozono
    Amazon Redshift の
    進化の歴史とこれから

    View Slide

  2. © 2021, Amazon Web Services, Inc. or its Affiliates.
    2
    本⽇のセッション
    「そもそも Redshift のことをほとんど知らない」
    「最近の Redshift ってどうなってるの︖」
    といった⽅向けに
    これまでの進化の歴史を振り返りながら
    最新の Amazon Redshift についてお伝えしていきます

    View Slide

  3. © 2021, Amazon Web Services, Inc. or its Affiliates.
    3
    Amazon Redshift 進化の歴史
    2012 2017 2019 2020 2021 Future

    View Slide

  4. © 2021, Amazon Web Services, Inc. or its Affiliates.
    4
    過去の典型的なデータ分析アーキテクチャ
    リレーショナル
    データベース
    データウェア
    ハウス
    ビジネス
    インテリジェンス
    データソース 収集・蓄積・分析 活⽤
    • 分析対象はリレーショナルデータベース上の構造化データ
    • これらをデータウェアハウスに集め BI ツールで分析・可視化
    • 2012 年時点ではオンプレミス中⼼

    View Slide

  5. © 2021, Amazon Web Services, Inc. or its Affiliates.

    View Slide

  6. © 2021, Amazon Web Services, Inc. or its Affiliates.
    6
    Amazon Redshift の登場
    リレーショナル
    データベース
    Amazon Redshift ビジネス
    インテリジェンス
    データソース 収集・蓄積・分析 活⽤
    ⾼速、スケーラブルで費⽤対効果の⾼い
    データウェアハウスマネージドサービス
    ü ペタバイト級までスケールアウト
    ü PostgreSQL との互換性
    ü 多数の周辺ソフトとの接続
    ü 従来の DWH に⽐べて 1/10 未満の価格 (当時)

    View Slide

  7. © 2021, Amazon Web Services, Inc. or its Affiliates.
    7
    サービスローンチ時の Amazon Redshift アーキテクチャ
    Amazon
    Redshift
    JDBC/ODBC
    シェアードナッシング + MPP (Massively Parallel Processing) アーキテクチャ
    データを複数のコンピュートノードに分散させ、各ノードで並列処理することで
    分析クエリに対する処理スループットを向上させるアプローチ
    リーダーノード
    • クエリのエンドポイント
    • SQL 処理コードの⽣成と展開
    コンピュートノード
    • ローカル列指向ストレージ
    • クエリの並列実⾏

    View Slide

  8. © 2021, Amazon Web Services, Inc. or its Affiliates.
    8
    Amazon
    Redshift
    JDBC/ODBC
    Amazon S3
    ユーザーバケット
    COPY
    Unload
    Amazon S3
    Redshift 管理バケット
    Backup
    Restore
    データはユーザー管理の S3 を経由してロード & アンロード
    ⾃動バックアップ & リストアは Redshift サービスで管理する S3 領域を活⽤
    ユーザー
    データ
    サービスローンチ時の Amazon Redshift アーキテクチャ

    View Slide

  9. © 2021, Amazon Web Services, Inc. or its Affiliates.
    9
    Amazon Redshift 進化の歴史
    2012 2017
    Redshift 発表

    View Slide

  10. © 2021, Amazon Web Services, Inc. or its Affiliates.
    10
    データとその使われ⽅の変化
    * IDC, Data Age 2025: The Evolution of Data to Life-Critical: Don’t Focus on Big Data, Focus on the Data That’s Big, April 2017.
    想像を超えるデータ量
    より多様なデータ
    アナリスト
    ビジネスユーザー
    アプリケーション
    データ
    サイエンティスト
    より多くのユーザーや
    アプリケーションが
    データにアクセスする
    機械学習 SQL分析
    科学技術計算
    リアルタイム
    ストリーミング
    それぞれ異なる⽅法で
    分析する

    View Slide

  11. © 2021, Amazon Web Services, Inc. or its Affiliates.
    11
    データレイクアーキテクチャ
    データ
    レイク
    ストリームデータ
    /イベントログ
    NoSQL
    データベース
    リレーショナル
    データベース
    データウェア
    ハウス
    ビッグデータ
    処理
    ログ検索
    機械学習
    ビジネス
    インテリジェンス
    ビジネス
    アプリケーション
    データソース 活⽤
    分析
    収集・蓄積


    View Slide

  12. © 2021, Amazon Web Services, Inc. or its Affiliates.
    12
    データレイクアーキテクチャ
    データ
    レイク
    ストリームデータ
    /イベントログ
    NoSQL
    データベース
    リレーショナル
    データベース
    データウェア
    ハウス
    ビッグデータ
    処理
    ログ検索
    機械学習
    ビジネス
    インテリジェンス
    ビジネス
    アプリケーション
    データソース 活⽤
    分析
    収集・蓄積


    想像を超えるデータ量
    より多様なデータ
    を取り扱いやすくするために
    データレイクという考え⽅が⽣まれた

    View Slide

  13. © 2021, Amazon Web Services, Inc. or its Affiliates.
    13
    データレイクアーキテクチャ
    データ
    レイク
    ストリームデータ
    /イベントログ
    NoSQL
    データベース
    リレーショナル
    データベース
    データウェア
    ハウス
    ビッグデータ
    処理
    ログ検索
    機械学習
    ビジネス
    インテリジェンス
    ビジネス
    アプリケーション
    データソース 活⽤
    分析
    収集・蓄積


    より多くのユーザーや
    アプリケーションが
    データにアクセスする
    それぞれ異なる⽅法で
    分析する
    データウェアハウスおよび
    その他のデータストア上のデータを
    多様な⽬的で活⽤

    View Slide

  14. © 2021, Amazon Web Services, Inc. or its Affiliates.
    14
    データウェアハウスとデータレイクの連携
    ストリームデータ
    /イベントログ
    NoSQL
    データベース
    リレーショナル
    データベース
    ビッグデータ
    処理
    ログ検索
    機械学習
    ビジネス
    インテリジェンス
    ビジネス
    アプリケーション


    Amazon S3
    データソース 活⽤
    分析
    収集・蓄積
    Amazon Redshift
    すべてのデータを
    データウェアハウス(Redshift)
    に格納するのは難しくなってきた
    ⼀部のデータをデータレイク(S3) に
    置いたままクエリすることができれば
    コストを抑えながらこれまで以上に
    多くのデータを分析できる

    View Slide

  15. © 2021, Amazon Web Services, Inc. or its Affiliates.
    15
    Redshift Spectrum でアーキテクチャをデータレイクに拡張
    Amazon
    Redshift
    JDBC/ODBC
    オープンフォーマットファイル
    (Parquet, ORC, JSON, CSV etc)
    アプリケーションは、
    データウェアハウスと
    データレイクの双⽅の
    データに透過的に
    アクセスできる
    Amazon Redshift Spectrum
    • S3 上のファイルに対する
    並列クエリ実⾏エンジン
    データレイク
    • ユーザー管理 S3 バケット

    View Slide

  16. © 2021, Amazon Web Services, Inc. or its Affiliates.
    16
    Amazon Redshift 進化の歴史
    2012 2017
    Redshift Spectrum
    2019
    Redshift 発表

    View Slide

  17. © 2021, Amazon Web Services, Inc. or its Affiliates.
    17
    頭を悩ませる並列ワークロードの課題
    ストリームデータ
    /イベントログ
    NoSQL
    データベース
    リレーショナル
    データベース
    ビッグデータ
    処理
    ログ検索
    機械学習
    ビジネス
    インテリジェンス
    ビジネス
    アプリケーション


    Amazon S3
    データソース 活⽤
    分析
    収集・蓄積
    Amazon Redshift
    データウェアハウスを利⽤する
    ユーザーやアプリケーションは増える
    アクセスが集中すると
    クラスター全体のスループットが
    低下する可能性がある
    例: 毎週⽉曜 9:00~ 出社時に多くの
    ユーザーが⼀⻫に売上実績を
    確認するといったケース

    View Slide

  18. © 2021, Amazon Web Services, Inc. or its Affiliates.
    18
    ピーク時にコンピュートを⾃動拡張する Concurrency Scaling
    Amazon
    Redshift
    追加クラスター(1~10)
    メインクラスター
    ディスパッチ
    +
    +
    +
    Redshift にクエリが集中してクエリをさばくためのリソースが⾜りなくなった場合、
    裏で⾃動的に別のクラスターを⽴ち上げ、処理を待たせずに実⾏してくれる
    1⽇1時間は無償で使える上に、無償枠を超えないよう利⽤キャップもかけられる

    View Slide

  19. © 2021, Amazon Web Services, Inc. or its Affiliates.
    19
    Amazon Redshift 進化の歴史
    2012 2017
    Redshift Spectrum
    2019
    Concurrency Scaling
    2020
    Redshift 発表

    View Slide

  20. © 2021, Amazon Web Services, Inc. or its Affiliates.
    20
    活⽤
    データソース 収集・蓄積
    Amazon S3
    Redshift のスケールアウトにおける課題
    ストリームデータ
    /イベントログ
    NoSQL
    データベース
    リレーショナル
    データベース
    ビッグデータ
    処理
    ログ検索
    機械学習
    ビジネス
    インテリジェンス
    ビジネス
    アプリケーション


    分析
    Amazon Redshift
    Redshift 上のデータ増に伴いストレージ領域を追加したい場合
    クラスターリサイズにより、ノード(とストレージのセット)を
    追加することになる
    当時の Redshift のアーキテクチャでは、ストレージと
    コンピュートを別々にスケールすることができなかった

    View Slide

  21. © 2021, Amazon Web Services, Inc. or its Affiliates.
    21
    (再掲) Amazon Redshift アーキテクチャ
    Amazon
    Redshift
    JDBC/ODBC
    リーダーノード
    • クエリのエンドポイント
    • SQL 処理コードの⽣成と展開
    コンピュートノード
    • ローカル列指向ストレージ
    • クエリの並列実⾏

    View Slide

  22. © 2021, Amazon Web Services, Inc. or its Affiliates.
    22
    ストレージとコンピュートの分離 (RA3インスタンス)
    Amazon
    Redshift
    JDBC/ODBC
    リーダーノード
    • クエリのエンドポイント
    • SQL 処理コードの⽣成と展開
    コンピュートノード
    • ⾼速ローカル SSD キャッシュ
    +⼤容量 RAM 搭載
    +広帯域ネットワーキング
    • クエリの並列実⾏
    広帯域ネットワーキング
    マネージドストレージ
    • Redshift 管理 S3 バケット
    Redshift フォーマットファイル
    最新の Nitro ⾼性能
    ハードウェア
    利⽤できるストレージ
    容量が⼤幅に拡張され、
    ⾃動でスケール
    頻繁にアクセスされる
    データについては
    ⾃動的に
    コンピュートノードに
    キャッシュ

    View Slide

  23. © 2021, Amazon Web Services, Inc. or its Affiliates.
    23
    活⽤
    データウェアハウスと業務データベースの連携
    ストリームデータ
    /イベントログ
    NoSQL
    データベース
    Amazon Aurora
    / RDS
    ビッグデータ
    処理
    ログ検索
    機械学習
    ビジネス
    インテリジェンス
    ビジネス
    アプリケーション


    データソース 分析
    収集・蓄積
    Amazon Redshift
    すべてのデータがリアルタイムにデータレイクやデータウェアハウスに
    連携されている訳ではないので、業務データベース上の最新のデータに
    直接クエリすることができれば、さらに分析の幅が広がる
    Amazon S3

    View Slide

  24. © 2021, Amazon Web Services, Inc. or its Affiliates.
    24
    Amazon Redshift Federated Query
    データウェアハウス、データレイク、業務データベースにまたがったデータを統合して分析
    Amazon RDS
    PostgreSQL,
    MySQL
    Amazon Aurora
    PostgreSQL,
    MySQL
    Amazon S3
    Data lake
    Amazon Redshift
    JDBC / ODBC
    データ移動なしに最新のデータを分析
    Amazon Redshift から Amazon RDS/Aurora
    PostgreSQL 上のデータに直接クエリすること
    が可能
    セキュアで⾼パフォーマンスなデータアクセス
    Amazon RDS/Aurora MySQL は
    2021/5/3 現在プレビューでのサポート

    View Slide

  25. © 2021, Amazon Web Services, Inc. or its Affiliates.
    25
    Amazon Redshift 進化の歴史
    2012 2017
    Redshift Spectrum
    2019
    Concurrency Scaling
    2020
    RA3, Federated Query
    2021
    Redshift 発表

    View Slide

  26. © 2021, Amazon Web Services, Inc. or its Affiliates.
    26
    活⽤
    データソース 収集・蓄積
    Amazon S3
    複数クラスター間でのデータ共有
    ストリームデータ
    /イベントログ
    NoSQL
    データベース
    リレーショナル
    データベース
    機械学習
    ビジネス
    インテリジェンス
    ビジネス
    アプリケーション


    分析
    Amazon Redshift
    さまざまな理由で Redshift クラスター
    が複数必要になる場合がある
    • ワークロードを完全に分けたい
    • 管理する部⾨が異なる
    • 本番⽤、開発⽤などの環境分離
    これらのクラスター間でデータを共有
    するにはクラスターからクラスターへ
    データを転送する必要があった
    Amazon Redshift
    Amazon Redshift

    View Slide

  27. © 2021, Amazon Web Services, Inc. or its Affiliates.
    27
    Amazon Redshift Data Sharing
    Redshift クラスター間でセキュアに簡単にデータを共有することが可能
    プロデューサー
    クラスター
    コンピュート
    ノード
    コンピュート
    ノード
    コンピュート
    ノード
    コンピュート
    ノード
    リーダーノード
    コンシューマー
    クラスター
    コンピュート
    ノード
    コンピュート
    ノード
    コンピュート
    ノード
    リーダーノード
    コンピュート
    ノード
    コンピュート
    ノード
    Amazon Redshift マネージドストレージ
    共有データの
    読み込み
    プライベートデータの
    読み込みと書き込み
    • プロデューサークラスターが書き込んだ共有データを、データの移動なしに
    コンシューマークラスターに read only で共有することが可能
    • アクセス権の管理と共有状況の監査により、セキュアなデータ共有を実現
    RA3 インスタンス RA3 インスタンス

    View Slide

  28. © 2021, Amazon Web Services, Inc. or its Affiliates.
    28
    Redshift ⾃動パフォーマンスチューニング
    機械学習ベースの⾃動最適化により、メンテナンスフリーに
    特別な設定なくノンチューニングで
    ⾼速なクエリパフォーマンスを提供
    テーブルにはソートキーや分散キーを
    設定・設計する必要はなく、Redshift が
    ⾃動で最適な物理配置をしてくれる
    Vacuum, 統計情報更新、
    ワークロード管理といったタスクは
    Redshift が⾃動で⾏ってくれる
    ⼿動で設計・管理する選択肢も提供
    Automatic
    sort keys
    Automatic
    vacuum delete
    Automatic
    distribution keys
    Auto workload
    manager
    Automatic
    table sort
    MV auto-refresh
    and rewrite

    View Slide

  29. © 2021, Amazon Web Services, Inc. or its Affiliates.
    29
    頻繁に実⾏するクエリパターンを⾼速化する物理ビュー
    • 結合、フィルタ、集計、射影
    • ベーステーブルとは異なるキーの指定が可能
    • 外部表の参照も可能
    ベーステーブルが更新されると、関連する
    Materialized View も⾃動でリフレッシュされる
    ユーザーは Materialized View を意識する必要なし
    • ただテーブルに対してクエリすればよい
    • Redshift が必要に応じて実⾏計画を書き換えて
    クエリに最適な Materialized View を参照する
    実⽤的な Materialized View
    item store custprice
    i1 s1 c1 12.0
    i2 s2 c1 3.0
    i3 s2 c2 7.0
    sales
    store owner loc
    s1 Joe SF
    s2 Ann NY
    s3 Lisa SF
    store_info
    loc total_sales
    SF 12.00
    NY 10.00
    loc_sales

    View Slide

  30. © 2021, Amazon Web Services, Inc. or its Affiliates.
    30
    Amazon Redshift 進化の歴史
    2012 2017
    Redshift Spectrum
    2019
    Concurrency Scaling
    2020
    RA3, Federated Query
    2021
    Data Sharing, Auto-tuning
    Redshift 発表
    Future

    View Slide

  31. © 2021, Amazon Web Services, Inc. or its Affiliates.
    31
    RA3 インスタンスを更に強化
    Amazon
    Redshift
    RA3
    ネットワークボトルネック︖
    Redshift マネージドストレージ
    コンピュートノードと
    マネージドストレージ間の
    ネットワークの
    パフォーマンスペナルティ
    を防ぐには︖

    View Slide

  32. © 2021, Amazon Web Services, Inc. or its Affiliates.
    32
    AQUA (Advanced Query Accelerator)
    新たな分散型ハードウェアアクセラレーション処理レイヤにより、
    追加コストなしに他のクラウドデータウェアハウスの10倍の性能を実現
    コン
    ピュート
    ノード
    コン
    ピュート
    ノード
    コン
    ピュート
    ノード
    コン
    ピュート
    ノード
    AQUA
    ノード
    AWSデザインのカ
    スタムプロセッサ
    AQUA
    ノード
    AWSデザインのカ
    スタムプロセッサ
    AQUA
    ノード
    AWSデザインのカ
    スタムプロセッサ
    AQUA
    ノード
    AWSデザインのカ
    スタムプロセッサ
    並列処理
    AQUA ノードに処理をプッシュダウンすることで
    コンピュートノードとマネージドストレージの間
    のデータ移動を最⼩化
    AQUA ノードは AWS がデザインした分析処理向け
    のカスタムプロセッサを備え、
    データの圧縮、暗号化、フィルタリングや集計の処
    理を従来の CPU よりも遥かに⾼速に処理
    ra3.16xlarge / ra3.4xlarge のみで追加コスト不要で
    利⽤可能。現⾏の Redshift の SQL やその他オペ
    レーションは変更する必要なくそのまま利⽤が可能
    2021/04 に GA, 東京リージョンでも使⽤可能
    Redshift マネージドストレージ
    スケールアウト
    2021/04
    G
    A

    View Slide

  33. © 2021, Amazon Web Services, Inc. or its Affiliates.
    33
    SUPER データ型
    半構造化データをスキーマ指定なしにテーブルに取り込み、クエリ可能
    ネイティブに半構造化データをサポートする
    SUPER データ型
    ネストされた JSON データの取り込みが
    従来のようにフラット化して取り込むよりも
    最⼤で 5 倍⾼速に
    SUPER 型のデータを Materialized View 化
    することによる⾼速な分析も容易
    直感的にわかりやすい SQL で
    スキーマレスなネストデータへの分析を
    かんたんに⾏えるように
    SELECT name.given AS firstname, ph.num
    FROM customers c, c.phones ph
    WHERE ph.type = ’cell’;
    firstname | num
    ----------+---------------
    "Jane" | 6505550101
    id
    INTEGER
    name
    SUPER
    phones
    SUPER
    1
    {"given":"Jane",
    "family":"Doe"}
    [{"type":"work",
    "num":"9255550100"},
    {"type":"cell",
    "num": 6505550101} ]
    2
    {"given":„Richard",
    "family":„Roe"},
    [{"type":"work",
    "num": 5105550102}]
    2021/04
    G
    A

    View Slide

  34. © 2021, Amazon Web Services, Inc. or its Affiliates.
    34
    Amazon Redshift ML
    SQL 経由で Amazon SageMaker と連携し、機械学習モデルの作成・トレーニングが可能に
    2021/05
    G
    A
    CREATE MODEL demo_ml.customer_churn
    FROM (SELECT c.age, c.zip, c.monthly_spend,
    c.monthly_cases, c.active FROM
    customer_info_table c)
    TARGET c.active;
    ユースケース : 製品のリコメンデーション、
    不正防⽌、顧客離反の削減など
    SQL で機械学習モデルの作成、トレーニング、
    デプロイ
    推論モデルを Amazon Redshift 上にデプロイし
    SQL ステートメントの⼀部としてユーザー定義
    関数を呼び出すように推論を実⾏可能
    機械学習アルゴリズムは⾃動選択 または
    XGBoost を指定可能
    モデルの前処理、作成、トレーニング、
    デプロイを⾃動で実⾏

    View Slide

  35. © 2021, Amazon Web Services, Inc. or its Affiliates.
    35
    Data Sharing for Data Lake
    Redshift 上のデータを他の AWS サービスからアクセス可能に
    Com
    ing
    soon
    Amazon Redshift のマネージドストレージ上の
    データを AWS Lake Formation カタログで共有
    Amazon EMR, Amazon Athena, Amazon
    SageMaker といったサービスから Amazon
    Redshift 上のトランザクショナルな⼀貫性ある
    データに対して直接アクセスすることが可能
    SQL, API によるデータアクセス
    Amazon Redshift クラスターを起動するこ
    となくデータにアクセス可能に
    Amazon Redshift Amazon Athena
    Amazon SageMaker
    Amazon EMR
    AWS Lake Formation

    View Slide

  36. © 2021, Amazon Web Services, Inc. or its Affiliates.
    36
    AWS Glue Elastic Views
    複数のデータストア間でデータを簡単に組み合わせて複製
    慣れ親しんだ SQL を使⽤して
    様々なデータベース上のデータをまたいだ
    マテリアライズドビューを作成
    RDS
    Aurora
    DynamoDB
    Amazon S3
    Amazon
    Redshift
    Amazon
    Elasticsearch
    Service
    RDS
    Aurora
    DynamoDB
    AWS Glue
    Elastic Views
    マテリアライズドビュー
    複数のターゲットの最新データ
    のビューにアクセス
    カスタムコーディングなしにデータを複製し
    結合してつなげることが容易に
    サーバーレスであり、ワークロードに対応する
    ために容量を⾃動的にスケールアップ/ダウン
    ソースデータベースの変更を継続的に監視し
    数秒以内にターゲットを更新



    Preview

    View Slide

  37. © 2021, Amazon Web Services, Inc. or its Affiliates.
    37
    Before…
    Amazon Redshift
    リレーショナル
    データベース
    ビジネス
    インテリジェンス

    View Slide

  38. © 2021, Amazon Web Services, Inc. or its Affiliates.
    38
    What’s the next?
    Amazon Kinesis
    Amazon DynamoDB
    Amazon Aurora
    / RDS
    Amazon SageMaker
    Amazon QuickSight
    Amazon Redshift
    Amazon S3
    Amazon Redshift
    Amazon Redshift ML
    (Preview)
    Federated Query
    Data Sharing
    Data Sharing (Coming soon)
    Spectrum
    Spectrum
    AWS Elastic Views
    (Preview)
    Amazon
    EMR
    Amazon
    Athena
    Amazon
    SageMaker
    Concurrency Scaling

    View Slide

  39. © 2021, Amazon Web Services, Inc. or its Affiliates.
    Thank You!

    View Slide