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 に伴う変更
© 2021, Amazon Web Services, Inc. or its Affiliates.Amazon Web Service Japan K. K.Senior Solutions Architect, AnalyticsJunpei OzonoAmazon Redshift の進化の歴史とこれから
View Slide
© 2021, Amazon Web Services, Inc. or its Affiliates.2本⽇のセッション「そもそも Redshift のことをほとんど知らない」「最近の Redshift ってどうなってるの︖」といった⽅向けにこれまでの進化の歴史を振り返りながら最新の Amazon Redshift についてお伝えしていきます
© 2021, Amazon Web Services, Inc. or its Affiliates.3Amazon Redshift 進化の歴史2012 2017 2019 2020 2021 Future
© 2021, Amazon Web Services, Inc. or its Affiliates.4過去の典型的なデータ分析アーキテクチャリレーショナルデータベースデータウェアハウスビジネスインテリジェンスデータソース 収集・蓄積・分析 活⽤• 分析対象はリレーショナルデータベース上の構造化データ• これらをデータウェアハウスに集め BI ツールで分析・可視化• 2012 年時点ではオンプレミス中⼼
© 2021, Amazon Web Services, Inc. or its Affiliates.
© 2021, Amazon Web Services, Inc. or its Affiliates.6Amazon Redshift の登場リレーショナルデータベースAmazon Redshift ビジネスインテリジェンスデータソース 収集・蓄積・分析 活⽤⾼速、スケーラブルで費⽤対効果の⾼いデータウェアハウスマネージドサービスü ペタバイト級までスケールアウトü PostgreSQL との互換性ü 多数の周辺ソフトとの接続ü 従来の DWH に⽐べて 1/10 未満の価格 (当時)
© 2021, Amazon Web Services, Inc. or its Affiliates.7サービスローンチ時の Amazon Redshift アーキテクチャAmazonRedshiftJDBC/ODBCシェアードナッシング + MPP (Massively Parallel Processing) アーキテクチャデータを複数のコンピュートノードに分散させ、各ノードで並列処理することで分析クエリに対する処理スループットを向上させるアプローチリーダーノード• クエリのエンドポイント• SQL 処理コードの⽣成と展開コンピュートノード• ローカル列指向ストレージ• クエリの並列実⾏
© 2021, Amazon Web Services, Inc. or its Affiliates.8AmazonRedshiftJDBC/ODBCAmazon S3ユーザーバケットCOPYUnloadAmazon S3Redshift 管理バケットBackupRestoreデータはユーザー管理の S3 を経由してロード & アンロード⾃動バックアップ & リストアは Redshift サービスで管理する S3 領域を活⽤ユーザーデータサービスローンチ時の Amazon Redshift アーキテクチャ
© 2021, Amazon Web Services, Inc. or its Affiliates.9Amazon Redshift 進化の歴史2012 2017Redshift 発表
© 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分析科学技術計算リアルタイムストリーミングそれぞれ異なる⽅法で分析する
© 2021, Amazon Web Services, Inc. or its Affiliates.11データレイクアーキテクチャデータレイクストリームデータ/イベントログNoSQLデータベースリレーショナルデータベースデータウェアハウスビッグデータ処理ログ検索機械学習ビジネスインテリジェンスビジネスアプリケーションデータソース 活⽤分析収集・蓄積……
© 2021, Amazon Web Services, Inc. or its Affiliates.12データレイクアーキテクチャデータレイクストリームデータ/イベントログNoSQLデータベースリレーショナルデータベースデータウェアハウスビッグデータ処理ログ検索機械学習ビジネスインテリジェンスビジネスアプリケーションデータソース 活⽤分析収集・蓄積……想像を超えるデータ量より多様なデータを取り扱いやすくするためにデータレイクという考え⽅が⽣まれた
© 2021, Amazon Web Services, Inc. or its Affiliates.13データレイクアーキテクチャデータレイクストリームデータ/イベントログNoSQLデータベースリレーショナルデータベースデータウェアハウスビッグデータ処理ログ検索機械学習ビジネスインテリジェンスビジネスアプリケーションデータソース 活⽤分析収集・蓄積……より多くのユーザーやアプリケーションがデータにアクセスするそれぞれ異なる⽅法で分析するデータウェアハウスおよびその他のデータストア上のデータを多様な⽬的で活⽤
© 2021, Amazon Web Services, Inc. or its Affiliates.14データウェアハウスとデータレイクの連携ストリームデータ/イベントログNoSQLデータベースリレーショナルデータベースビッグデータ処理ログ検索機械学習ビジネスインテリジェンスビジネスアプリケーション……Amazon S3データソース 活⽤分析収集・蓄積Amazon Redshiftすべてのデータをデータウェアハウス(Redshift)に格納するのは難しくなってきた⼀部のデータをデータレイク(S3) に置いたままクエリすることができればコストを抑えながらこれまで以上に多くのデータを分析できる
© 2021, Amazon Web Services, Inc. or its Affiliates.15Redshift Spectrum でアーキテクチャをデータレイクに拡張AmazonRedshiftJDBC/ODBCオープンフォーマットファイル(Parquet, ORC, JSON, CSV etc)アプリケーションは、データウェアハウスとデータレイクの双⽅のデータに透過的にアクセスできるAmazon Redshift Spectrum• S3 上のファイルに対する並列クエリ実⾏エンジンデータレイク• ユーザー管理 S3 バケット
© 2021, Amazon Web Services, Inc. or its Affiliates.16Amazon Redshift 進化の歴史2012 2017Redshift Spectrum2019Redshift 発表
© 2021, Amazon Web Services, Inc. or its Affiliates.17頭を悩ませる並列ワークロードの課題ストリームデータ/イベントログNoSQLデータベースリレーショナルデータベースビッグデータ処理ログ検索機械学習ビジネスインテリジェンスビジネスアプリケーション……Amazon S3データソース 活⽤分析収集・蓄積Amazon Redshiftデータウェアハウスを利⽤するユーザーやアプリケーションは増えるアクセスが集中するとクラスター全体のスループットが低下する可能性がある例: 毎週⽉曜 9:00~ 出社時に多くのユーザーが⼀⻫に売上実績を確認するといったケース
© 2021, Amazon Web Services, Inc. or its Affiliates.18ピーク時にコンピュートを⾃動拡張する Concurrency ScalingAmazonRedshift追加クラスター(1~10)メインクラスターディスパッチ+++Redshift にクエリが集中してクエリをさばくためのリソースが⾜りなくなった場合、裏で⾃動的に別のクラスターを⽴ち上げ、処理を待たせずに実⾏してくれる1⽇1時間は無償で使える上に、無償枠を超えないよう利⽤キャップもかけられる
© 2021, Amazon Web Services, Inc. or its Affiliates.19Amazon Redshift 進化の歴史2012 2017Redshift Spectrum2019Concurrency Scaling2020Redshift 発表
© 2021, Amazon Web Services, Inc. or its Affiliates.20活⽤データソース 収集・蓄積Amazon S3Redshift のスケールアウトにおける課題ストリームデータ/イベントログNoSQLデータベースリレーショナルデータベースビッグデータ処理ログ検索機械学習ビジネスインテリジェンスビジネスアプリケーション……分析Amazon RedshiftRedshift 上のデータ増に伴いストレージ領域を追加したい場合クラスターリサイズにより、ノード(とストレージのセット)を追加することになる当時の Redshift のアーキテクチャでは、ストレージとコンピュートを別々にスケールすることができなかった
© 2021, Amazon Web Services, Inc. or its Affiliates.21(再掲) Amazon Redshift アーキテクチャAmazonRedshiftJDBC/ODBCリーダーノード• クエリのエンドポイント• SQL 処理コードの⽣成と展開コンピュートノード• ローカル列指向ストレージ• クエリの並列実⾏
© 2021, Amazon Web Services, Inc. or its Affiliates.22ストレージとコンピュートの分離 (RA3インスタンス)AmazonRedshiftJDBC/ODBCリーダーノード• クエリのエンドポイント• SQL 処理コードの⽣成と展開コンピュートノード• ⾼速ローカル SSD キャッシュ+⼤容量 RAM 搭載+広帯域ネットワーキング• クエリの並列実⾏広帯域ネットワーキングマネージドストレージ• Redshift 管理 S3 バケットRedshift フォーマットファイル最新の Nitro ⾼性能ハードウェア利⽤できるストレージ容量が⼤幅に拡張され、⾃動でスケール頻繁にアクセスされるデータについては⾃動的にコンピュートノードにキャッシュ
© 2021, Amazon Web Services, Inc. or its Affiliates.23活⽤データウェアハウスと業務データベースの連携ストリームデータ/イベントログNoSQLデータベースAmazon Aurora/ RDSビッグデータ処理ログ検索機械学習ビジネスインテリジェンスビジネスアプリケーション……データソース 分析収集・蓄積Amazon Redshiftすべてのデータがリアルタイムにデータレイクやデータウェアハウスに連携されている訳ではないので、業務データベース上の最新のデータに直接クエリすることができれば、さらに分析の幅が広がるAmazon S3
© 2021, Amazon Web Services, Inc. or its Affiliates.24Amazon Redshift Federated Queryデータウェアハウス、データレイク、業務データベースにまたがったデータを統合して分析Amazon RDSPostgreSQL,MySQLAmazon AuroraPostgreSQL,MySQLAmazon S3Data lakeAmazon RedshiftJDBC / ODBCデータ移動なしに最新のデータを分析Amazon Redshift から Amazon RDS/AuroraPostgreSQL 上のデータに直接クエリすることが可能セキュアで⾼パフォーマンスなデータアクセスAmazon RDS/Aurora MySQL は2021/5/3 現在プレビューでのサポート
© 2021, Amazon Web Services, Inc. or its Affiliates.25Amazon Redshift 進化の歴史2012 2017Redshift Spectrum2019Concurrency Scaling2020RA3, Federated Query2021Redshift 発表
© 2021, Amazon Web Services, Inc. or its Affiliates.26活⽤データソース 収集・蓄積Amazon S3複数クラスター間でのデータ共有ストリームデータ/イベントログNoSQLデータベースリレーショナルデータベース機械学習ビジネスインテリジェンスビジネスアプリケーション……分析Amazon Redshiftさまざまな理由で Redshift クラスターが複数必要になる場合がある• ワークロードを完全に分けたい• 管理する部⾨が異なる• 本番⽤、開発⽤などの環境分離これらのクラスター間でデータを共有するにはクラスターからクラスターへデータを転送する必要があったAmazon RedshiftAmazon Redshift
© 2021, Amazon Web Services, Inc. or its Affiliates.27Amazon Redshift Data SharingRedshift クラスター間でセキュアに簡単にデータを共有することが可能プロデューサークラスターコンピュートノードコンピュートノードコンピュートノードコンピュートノードリーダーノードコンシューマークラスターコンピュートノードコンピュートノードコンピュートノードリーダーノードコンピュートノードコンピュートノードAmazon Redshift マネージドストレージ共有データの読み込みプライベートデータの読み込みと書き込み• プロデューサークラスターが書き込んだ共有データを、データの移動なしにコンシューマークラスターに read only で共有することが可能• アクセス権の管理と共有状況の監査により、セキュアなデータ共有を実現RA3 インスタンス RA3 インスタンス
© 2021, Amazon Web Services, Inc. or its Affiliates.28Redshift ⾃動パフォーマンスチューニング機械学習ベースの⾃動最適化により、メンテナンスフリーに特別な設定なくノンチューニングで⾼速なクエリパフォーマンスを提供テーブルにはソートキーや分散キーを設定・設計する必要はなく、Redshift が⾃動で最適な物理配置をしてくれるVacuum, 統計情報更新、ワークロード管理といったタスクはRedshift が⾃動で⾏ってくれる⼿動で設計・管理する選択肢も提供Automaticsort keysAutomaticvacuum deleteAutomaticdistribution keysAuto workloadmanagerAutomatictable sortMV auto-refreshand rewrite
© 2021, Amazon Web Services, Inc. or its Affiliates.29頻繁に実⾏するクエリパターンを⾼速化する物理ビュー• 結合、フィルタ、集計、射影• ベーステーブルとは異なるキーの指定が可能• 外部表の参照も可能ベーステーブルが更新されると、関連するMaterialized View も⾃動でリフレッシュされるユーザーは Materialized View を意識する必要なし• ただテーブルに対してクエリすればよい• Redshift が必要に応じて実⾏計画を書き換えてクエリに最適な Materialized View を参照する実⽤的な Materialized Viewitem store custpricei1 s1 c1 12.0i2 s2 c1 3.0i3 s2 c2 7.0salesstore owner locs1 Joe SFs2 Ann NYs3 Lisa SFstore_infoloc total_salesSF 12.00NY 10.00loc_sales
© 2021, Amazon Web Services, Inc. or its Affiliates.30Amazon Redshift 進化の歴史2012 2017Redshift Spectrum2019Concurrency Scaling2020RA3, Federated Query2021Data Sharing, Auto-tuningRedshift 発表Future
© 2021, Amazon Web Services, Inc. or its Affiliates.31RA3 インスタンスを更に強化AmazonRedshiftRA3ネットワークボトルネック︖Redshift マネージドストレージコンピュートノードとマネージドストレージ間のネットワークのパフォーマンスペナルティを防ぐには︖
© 2021, Amazon Web Services, Inc. or its Affiliates.32AQUA (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/04GA
© 2021, Amazon Web Services, Inc. or its Affiliates.33SUPER データ型半構造化データをスキーマ指定なしにテーブルに取り込み、クエリ可能ネイティブに半構造化データをサポートするSUPER データ型ネストされた JSON データの取り込みが従来のようにフラット化して取り込むよりも最⼤で 5 倍⾼速にSUPER 型のデータを Materialized View 化することによる⾼速な分析も容易直感的にわかりやすい SQL でスキーマレスなネストデータへの分析をかんたんに⾏えるようにSELECT name.given AS firstname, ph.numFROM customers c, c.phones phWHERE ph.type = ’cell’;firstname | num----------+---------------"Jane" | 6505550101idINTEGERnameSUPERphonesSUPER1{"given":"Jane","family":"Doe"}[{"type":"work","num":"9255550100"},{"type":"cell","num": 6505550101} ]2{"given":„Richard","family":„Roe"},[{"type":"work","num": 5105550102}]2021/04GA
© 2021, Amazon Web Services, Inc. or its Affiliates.34Amazon Redshift MLSQL 経由で Amazon SageMaker と連携し、機械学習モデルの作成・トレーニングが可能に2021/05GACREATE MODEL demo_ml.customer_churnFROM (SELECT c.age, c.zip, c.monthly_spend,c.monthly_cases, c.active FROMcustomer_info_table c)TARGET c.active;ユースケース : 製品のリコメンデーション、不正防⽌、顧客離反の削減などSQL で機械学習モデルの作成、トレーニング、デプロイ推論モデルを Amazon Redshift 上にデプロイしSQL ステートメントの⼀部としてユーザー定義関数を呼び出すように推論を実⾏可能機械学習アルゴリズムは⾃動選択 またはXGBoost を指定可能モデルの前処理、作成、トレーニング、デプロイを⾃動で実⾏
© 2021, Amazon Web Services, Inc. or its Affiliates.35Data Sharing for Data LakeRedshift 上のデータを他の AWS サービスからアクセス可能にComingsoonAmazon Redshift のマネージドストレージ上のデータを AWS Lake Formation カタログで共有Amazon EMR, Amazon Athena, AmazonSageMaker といったサービスから AmazonRedshift 上のトランザクショナルな⼀貫性あるデータに対して直接アクセスすることが可能SQL, API によるデータアクセスAmazon Redshift クラスターを起動することなくデータにアクセス可能にAmazon Redshift Amazon AthenaAmazon SageMakerAmazon EMRAWS Lake Formation
© 2021, Amazon Web Services, Inc. or its Affiliates.36AWS Glue Elastic Views複数のデータストア間でデータを簡単に組み合わせて複製慣れ親しんだ SQL を使⽤して様々なデータベース上のデータをまたいだマテリアライズドビューを作成RDSAuroraDynamoDBAmazon S3AmazonRedshiftAmazonElasticsearchServiceRDSAuroraDynamoDBAWS GlueElastic Viewsマテリアライズドビュー複数のターゲットの最新データのビューにアクセスカスタムコーディングなしにデータを複製し結合してつなげることが容易にサーバーレスであり、ワークロードに対応するために容量を⾃動的にスケールアップ/ダウンソースデータベースの変更を継続的に監視し数秒以内にターゲットを更新申込型Preview
© 2021, Amazon Web Services, Inc. or its Affiliates.37Before…Amazon Redshiftリレーショナルデータベースビジネスインテリジェンス
© 2021, Amazon Web Services, Inc. or its Affiliates.38What’s the next?Amazon KinesisAmazon DynamoDBAmazon Aurora/ RDSAmazon SageMakerAmazon QuickSightAmazon RedshiftAmazon S3Amazon RedshiftAmazon Redshift ML(Preview)Federated QueryData SharingData Sharing (Coming soon)SpectrumSpectrumAWS Elastic Views(Preview)AmazonEMRAmazonAthenaAmazonSageMakerConcurrency Scaling…
© 2021, Amazon Web Services, Inc. or its Affiliates.Thank You!