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

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

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 の 進化の歴史とこれから
  2. © 2021, Amazon Web Services, Inc. or its Affiliates. 2

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

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

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

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

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

    Amazon Redshift 進化の歴史 2012 2017 Redshift 発表
  9. © 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分析 科学技術計算 リアルタイム ストリーミング それぞれ異なる⽅法で 分析する
  10. © 2021, Amazon Web Services, Inc. or its Affiliates. 11

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

    データレイクアーキテクチャ データ レイク ストリームデータ /イベントログ NoSQL データベース リレーショナル データベース データウェア ハウス ビッグデータ 処理 ログ検索 機械学習 ビジネス インテリジェンス ビジネス アプリケーション データソース 活⽤ 分析 収集・蓄積 … … 想像を超えるデータ量 より多様なデータ を取り扱いやすくするために データレイクという考え⽅が⽣まれた
  12. © 2021, Amazon Web Services, Inc. or its Affiliates. 13

    データレイクアーキテクチャ データ レイク ストリームデータ /イベントログ NoSQL データベース リレーショナル データベース データウェア ハウス ビッグデータ 処理 ログ検索 機械学習 ビジネス インテリジェンス ビジネス アプリケーション データソース 活⽤ 分析 収集・蓄積 … … より多くのユーザーや アプリケーションが データにアクセスする それぞれ異なる⽅法で 分析する データウェアハウスおよび その他のデータストア上のデータを 多様な⽬的で活⽤
  13. © 2021, Amazon Web Services, Inc. or its Affiliates. 14

    データウェアハウスとデータレイクの連携 ストリームデータ /イベントログ NoSQL データベース リレーショナル データベース ビッグデータ 処理 ログ検索 機械学習 ビジネス インテリジェンス ビジネス アプリケーション … … Amazon S3 データソース 活⽤ 分析 収集・蓄積 Amazon Redshift すべてのデータを データウェアハウス(Redshift) に格納するのは難しくなってきた ⼀部のデータをデータレイク(S3) に 置いたままクエリすることができれば コストを抑えながらこれまで以上に 多くのデータを分析できる
  14. © 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 バケット
  15. © 2021, Amazon Web Services, Inc. or its Affiliates. 16

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

    頭を悩ませる並列ワークロードの課題 ストリームデータ /イベントログ NoSQL データベース リレーショナル データベース ビッグデータ 処理 ログ検索 機械学習 ビジネス インテリジェンス ビジネス アプリケーション … … Amazon S3 データソース 活⽤ 分析 収集・蓄積 Amazon Redshift データウェアハウスを利⽤する ユーザーやアプリケーションは増える アクセスが集中すると クラスター全体のスループットが 低下する可能性がある 例: 毎週⽉曜 9:00~ 出社時に多くの ユーザーが⼀⻫に売上実績を 確認するといったケース
  17. © 2021, Amazon Web Services, Inc. or its Affiliates. 18

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

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

    活⽤ データソース 収集・蓄積 Amazon S3 Redshift のスケールアウトにおける課題 ストリームデータ /イベントログ NoSQL データベース リレーショナル データベース ビッグデータ 処理 ログ検索 機械学習 ビジネス インテリジェンス ビジネス アプリケーション … … 分析 Amazon Redshift Redshift 上のデータ増に伴いストレージ領域を追加したい場合 クラスターリサイズにより、ノード(とストレージのセット)を 追加することになる 当時の Redshift のアーキテクチャでは、ストレージと コンピュートを別々にスケールすることができなかった
  20. © 2021, Amazon Web Services, Inc. or its Affiliates. 21

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

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

    活⽤ データウェアハウスと業務データベースの連携 ストリームデータ /イベントログ NoSQL データベース Amazon Aurora / RDS ビッグデータ 処理 ログ検索 機械学習 ビジネス インテリジェンス ビジネス アプリケーション … … データソース 分析 収集・蓄積 Amazon Redshift すべてのデータがリアルタイムにデータレイクやデータウェアハウスに 連携されている訳ではないので、業務データベース上の最新のデータに 直接クエリすることができれば、さらに分析の幅が広がる Amazon S3
  23. © 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 現在プレビューでのサポート
  24. © 2021, Amazon Web Services, Inc. or its Affiliates. 25

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

    活⽤ データソース 収集・蓄積 Amazon S3 複数クラスター間でのデータ共有 ストリームデータ /イベントログ NoSQL データベース リレーショナル データベース 機械学習 ビジネス インテリジェンス ビジネス アプリケーション … … 分析 Amazon Redshift さまざまな理由で Redshift クラスター が複数必要になる場合がある • ワークロードを完全に分けたい • 管理する部⾨が異なる • 本番⽤、開発⽤などの環境分離 これらのクラスター間でデータを共有 するにはクラスターからクラスターへ データを転送する必要があった Amazon Redshift Amazon Redshift
  26. © 2021, Amazon Web Services, Inc. or its Affiliates. 27

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

    RA3 インスタンスを更に強化 Amazon Redshift RA3 ネットワークボトルネック︖ Redshift マネージドストレージ コンピュートノードと マネージドストレージ間の ネットワークの パフォーマンスペナルティ を防ぐには︖
  31. © 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
  32. © 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
  33. © 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 を指定可能 モデルの前処理、作成、トレーニング、 デプロイを⾃動で実⾏
  34. © 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
  35. © 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
  36. © 2021, Amazon Web Services, Inc. or its Affiliates. 37

    Before… Amazon Redshift リレーショナル データベース ビジネス インテリジェンス
  37. © 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 …