[レポート] (ANT201) What’s new with Amazon Redshift #reinvent2021

2022.04.18

データアナリティクス事業本部コンサルティングチームの石川です。Amazon Redshiftのプロダクトマネジメント・ディレクターである川本雄人さんによる2021/12時点の最新情報のレポートセッションです。現時点ですでにGAになったサービスについては注釈をつけさせていただきます。

セッション概要

Join this session to hear about important new features of Amazon Redshift. Learn about the architectural evolution of Amazon Redshift and how it uses machine learning to create a self-optimizing data warehouse. Additionally, explore how Amazon Redshift integrates with other popular AWS services.

このセッションでは、Amazon Redshiftの重要な新機能についてご紹介します。Amazon Redshiftのアーキテクチャの進化と機械学習を使用して自己最適化データウェアハウスを作成する方法について学びます。さらに、Amazon Redshiftが他の一般的なAWSサービスとどのように統合されるかを探ります。


Easy analytics for everyone

昨今、データウェアハウスは、データウェアハウスの専門知識も持つ者だけでなく、一般のアナリストのような新しいペルソナが分析するユースケースが拡大しています。そのため、データウェアハウスは、ワークロードのプロビジョニングとスケーリングなどのメンテナンスタスクが容易であり、SQL開発者がクラスターにすばやく接続し、他のユーザーとコラボレーションするための簡単なツールを求められています。

過去1年間、Redshiftは自動的にエラスティックかつニーズに応じてキャパシティをカスタマイズできるように多額の投資をしてきました。

Redshift Serverless

そこで、登場したのが新しいコンピューティングオプションであるAmazon Redshift Serverless(Public Preview)です。クラスタプロビジョニングや管理は不要、データアナリスト、データサイエンティスト、および開発者を含むすべてのユーザーは、クエリデータをデータウェアハウスにロードするだけで、Redshiftを使用してデータから数秒で洞察を得ることができます。

Redshift Serverlessの特長は以下の点です。

1.シンプルなユーザーエクスペリエンス

利用者は、ノードタイプ、ノード数、およびプロビジョニングクラスターなどのクラスタ管理することなく分析に専念できます。Redshift Serverlessはこれらすべてをバックグラウンドで処理し、キャリアスループットを最適化するためのワークロード管理(WLM)、インスタンスの一時停止と再開、パッチ適用、パフォーマンス最適化タスクなど、クラスター構成を手動で構成する必要はありません。

2.ニーズに応じた動的なキャパシティ管理

Redshift Serverlessは、ワークロードの一時的な集中が発生すると、データウェアハウスのキャパシティを自動的にプロビジョニングおよびスケーリングして、一貫性のある高速なパフォーマンスを提供します。

3.SQLの機能とパフォーマンス

Redshift Serverlessでも、RedshiftのSQL機能とパフォーマンス特性を利用できます。つまり、これらはS3 Data Lakeへのクエリ(Redshift Spectrum)、他の運用データベースへのクエリ(Fedrated Query)、Data Sharingを使用した他の組織とのData Sharing(Data Sharing)などです。

4.利用に応じた支払い

料金は、使用するキャパシティとその利用時間に応じてのみ支払い、アイドル時間に対しては課金されません。

Query Editor V2

より使いやすいSQLツールとして、Query Editor V2が提供されました。SQLの実行の他にグラフを使用してクエリ結果を視覚化したり、チームのメンバーとクエリを共有して共同作業したりすることもできます。

Query Editor V2にアクセスするためにAWSマネジメントコンソールにアクセスする必要はありません。また、ブラウザからクエリエディタV2に直接アクセスでき、エンドユーザーは独自のIDプロバイダーを使用してログインすることもできます。

Automated performance tuning

  • ATOまたは自動テーブル最適化
    • データの最適な物理レイアウトを決定するために、最適な並べ替えキーと分散キーを選択
    • 列圧縮エンコーディングを変更し、性能向上とストレージ使用率を削減
  • 自動バキューム削除や自動分析など

Automated materialized views

RedshiftのAutomated materialized views(AutoMV)機能は、機械学習を使用してワークロードやスキーマデータを継続的に監視し、有益な場合は新しいマテリアライズドビューを自動作成・削除します。MVをユーザーで作成および保守するために必要な専門知識がなくても、ユーザーが作成したMVと同様に、MVのすべての利点を提供します。AutoMVは、マテリアライズド・ビューを作成して最新の状態に保つためのコストと、クエリの待ち時間に期待されるメリットとのバランスを取ります。

Data API

Redshift Data APIは、イベントドリブンなアプリケーションやETLワークロードの自動化など、さまざまなユースケースに使用されます。Redshift Data APIを使用して、アプリケーションから直接Redshiftのデータにアクセスしています。そのため、Amazon Redshift Data APIは、Python、GO、Javaなどの一般的なプログラミング言語を使用してデータアクセスを簡素化します。

Amazon Redshift Grafana plugin

Grafana Redshiftプラグインの提供を開始しました。人気のあるオープンソースツールであるGrafanaを用いて分析および監視システムをオンラインでシステムテーブルとビューにクエリを実行してメトリックの探索できるようになります。

Analyze all your data

Redshiftは、データレイクと専用のデータストアの間の両方の長所を活かした、データウェアハウス、運用データベース、およびデータレイク全体で最適な統合を提供します。

Redshiftの最新のデータ戦略アプローチとして、4つの重要なトレンドがあります。

1つ目は、Redshift Spectrumを利用して、S3データレイクにある数TBのjsonやParquetなどのオープンスタンダードファイル形式のデータをクエリして、さまざまな洞察を得ています。

2つ目は、顧客がさまざまな組織や企業間でデータを共有したり、マーケットプレイスで定義されたAWS Data ExchangeとData sharingの統合をサードパーティのデータセットを使用します。

3つ目は、組織全体でデータを活用してより迅速な洞察を得るため、顧客がデータを移動せずにその場でデータをクエリするため、データウェアハウスや運用データベース全体でシームレスにクエリを実行できるFedarated Queryを使用します。

そして最後に、より多くの顧客がRedshiftデータを使用して機械学習ワークロードを簡単に実行できるRedshift MLと呼ばれる機能を導入しました。

Data sharing

Data Sharingは、シンプルでセキュアに複数のクラスタ間でライブデータを共有する機能で、お客様はデータのコピーや移動をすることなく、トランザクション的に一貫性のある方法でデータにアクセスすることができます。クラスタ毎にワークロードを分離し、それぞれのパフォーマンス要件に合わせてワークロードをサイジングできます。各ビジネスグループの独自のデータウェアハウスを、組織横断的なコラボレーションもあります。アカウント間のData Sharingにより、お客様は異なる会社間でデータを共有できるようになりました。リザルトキャッシュやコンシューマクラスタのConcurrency Scalingなど、いくつかの性能強化も行っています。

※ 執筆時点ではリージョン間のData SharingはGAになりました。「Amazon Redshift クロスリージョンデータ共有のお知らせ

AWS Data Exchange integration

RedshiftのAWS Data Exchangeの統合によって、AWSアカウント間でのData Sharingを有効にするとお客様は企業間でデータを共有できるのと同じように、データマーケットプレイスを介してサードパーティのデータセットにアクセスできるようになりました。Redshiftにあるマーケットプレイスでのサードパーティのデータセットの検索、サブスクライブされたクエリ、分析がさらに簡単になります。

Redshift ML

Redshift MLは、Redshiftのデータを使い慣れたSQLコマンドを使用して機械学習モデルを簡単に作成、トレーニング、デプロイできるようになりました。

Redshift MLは、フルマネージドな機械学習サービスであるAmazon SageMakerを使って機械学習を作成し、トレーニングできるようになります。そのため、MLモデルはRedshift内でローカルにデプロイされ、大規模な推論を実行することができます。

  • 高度なアナリストのユースケース向けに教師あり、教師なし機械学習の両方をサポート
  • 予測やパーソナライゼーションなど、さまざまな用途に対応
  • 最新リリースでは、顧客セグメンテーションなどのユースケースで教師なし学習のためのK-Meansクラスタリングも使用できる
  • Redshift MLは、事前に学習されたSageMakerのモデルに対して、Bring Your Own Modelをサポート

Schneider Electric (Guest Speaker)

Data Store landscape: Supporting the Decision Supply Chain

ゲストスピーカーのAurelie Bergugnatさん、CDO及びSchneiderElectricのデータおよびパフォーマンス管理担当上級副社長です。

シュナイダーエレクトリックでは、気候変動と排出量の削減に注目しながら、人類が信頼できるエネルギーの基本的権利とデジタルへのアクセスを実際に利用できるようにすることで、新しい機能を構築しようとしました。

データストアランドスケープの中核でこれを行うために、データレイクフェデレーションがあります。企業全体のデータストアであるデータレイクの1つだが、データフェデレーションの考え方で一緒に運用する一種のデータレイクのネットワークもあります。これらすべてがAWSテクノロジースタックの下で実行されるように努めています。

また、データの視覚化とデータの使用に関しても、マルチベンダーの視覚化戦略を通じて洞察を生み出します。ビッグデータアーキテクチャの旅に関しては、トランザクションデータ用のエンタープライズ構築のデータハブのようなものが多くあります。そして何年にもわたって、AWSとのパートナーシップを開始し、今では企業全体のデータレイクの10,000人のユーザーレバレッジに非常に密接に取り組んでいます。データストアの状況に関して、意思決定サプライチェーンまたは統合データレイヤーと分析データレイヤーをサポートしているのは、RedshiftのRA3インスタンスです。

Performance at any scale

Redshiftは、サービス開始以来あらゆる規模で最高の価格パフォーマンスを提供することに多額の投資をしました。

RA3ノードはストレージを管理し、同時実行性のスケーリングにより、顧客は小規模から始めてペタバイト規模のワークロードに成長することができました。さらに、AQUA(Advanced QUery Accelerator)を使ってクエリのレスポンスをさらに改善します。

RA3 nodes with managed storage

RA3ノードタイプは、コンピューティングとストレージの独立したスケーリングを可能にし、データを耐久性のあるS3にコミットされることで、ほぼ無制限のスケーラビリティが可能になります。RMS(Redshift Managed Storage)が、複数のクラスター間で共有ストレージとして使用されるData Sharingなどの新機能が可能になります。ノードタイプは、16xlarge、4xlarge、xlplusのノードタイプに加え、xlplusはシングルノードクラスタ構成も可能になり、DS2からRA3へのマイグレションやリザーブドインスタンスのマイグレーションパスも提供されます。

Enhanced Auto WLM: Adaptive concurrency

Redshiftは、クラスター内のコンピューティングリソースを効率的に利用するため、クエリの優先順位に基づいてリソースを動的に割り当てる Auto Work Load Management(Auto WLM)によりパフォーマンスとスループットを最適化します。Concurrency Scalingは、WLMの同時実行数に基づきスケーリングクラスタを動的にスケーリングして、アプリケーションを変更せずに高い同時実行性とクエリの急増に対応できます。更にData Sharingを組み合わせ、マルチクラスター環境でワークロードを分離する構成も可能になりました。

Enhanced concurrency scaling

Concurrency Scalingは、キャパシティを事前にプロビジョニングすることなく、予測不可能な読み取りワークロードを動的にスケーリングして処理できます。Redshiftは、メインクラスタの24時間の使用ごとに1時間の無料のConcurrency Scalingのクレジットを提供し、コストを予算内に保つために使用量を監視および制限するための機能も提供しますので、安心して導入いただけます。今後は、読み取りクエリに加えて、書き込みクエリ(Public Preview)も発表しています。

AQUA(Advanced QUery Accelerator)

AQUA(Advanced QUery Accelerator)は、Redshiftが大規模なスキャンと集計を使用するクエリのパフォーマンスを大幅に高速化できる新しい分散型ハードウェアキャッシュです。特にAQUAは、大量のデータが存在するストレージレイヤの近くでデータを処理し、ネットワーク上を移動するデータが少なくすることで、ネットワークが大規模なデータ処理のボトルネックになるという課題を回避できます。

AQUAは、AWSが設計したチップとFPGAチップを含む、クラウドデータ、ウェアハウジング、分析用の最初のカスタムハードウェア上に構築されており、汎用CPUで実行できるものと比較して桁違いに高速です。また、圧縮、暗号化、大規模スキャン、フィルタリング、集約などの一般的な演算子を処理できます。AQUAは、コードの変更は不要で、RA3ノードで追加費用なしで利用できます。

SQL enhancement & migration support

SQL構文の演算子をサポートや新しいデータ型、Fine-grained access controlによるセキュリティ強化、さまざまなツールのサポートなど、さまざまな分野でRedshiftを強化しました。

  • 階層データクエリ用のRecursive CTE(Common Table Expression)
  • count distinct 問題のためのHyperLogLogなどの演算子を導入
  • jsonフォーマットのUNLOADをサポート
  • 行から列に変換のPIVOT
  • 列から行に変換のUNPIVOT
  • データ型のサポート
    • SUPER型による半構造化データのサポート
    • VARBYTE型のバイナリデータのサポート
    • GEOMETRY型による空間データのサポート
  • RSQLのBTEQスクリプトをサポート

お客様のニーズに答えてRedshiftは進化します

このプレゼンテーションでさまざまな新機能を取り上げましたが、速度は引き続き重要であり、お客様へのさらなる支援、機能改善するために迅速に革新を続けます。

最後に

re:Invent2021が終わってからかなり時間が経過しましたが、内容がよくまとまっており、情報の古さを感じなかったため、レポートさせて頂きました。そして何より、川本さんがRedshiftでre:Invent登壇ということもあり、勝手に誇らしい気持ちになっていました。私のre:Invent2021はまだ終わっていないということでご勘弁してください。

パフォーマンス、伸縮自在性(Elasticity)、自動化、高可用性、コスト最適化、サーバレス化など、過去5年間のRedshiftの進化を振り返ると、単に機能が追加されたというよりも、追加された機能それぞれが相乗効果をもたらす進化を感じています。AQUAについては、今後さらなる進化が控えているのではないかと楽しみです。最後に、今年のre:Invent2022は、川本さんのセッションをラスベガスでリアルタイムで聞きたいです。

番外編: AWS What's Next ft. What is Amazon Redshift?

AWSの川本さんが、もう少しラフにRedshiftについて語ってる動画もありますのでお楽しみください。

合わせて読みたい