【Redshift】2022年下半期の最新情報まとめ

クラウドデータウェアハウスの雄、Redshiftの2022年下半期最新動向をまとめてみました。

普段からRedshiftを触っていても、最新動向のキャッチアップは優先度が低くなりがちだと思いますので、本記事をお役立てください。

2022年上半期の最新動向は[こちら](https://qiita.com/cgshimo/items/58e69bc7850eee266d03)にまとめておりますので、是非あわせてお読みください。

# [Redshift](https://aws.amazon.com/jp/redshift/)について

Redshiftは、データウェアハウス、運用データベース、データレイクにわたる構造化・半構造化データを、あらゆる規模でコスパ良くSQLで分析できるサービスです。
2012年に初めてのクラウドデータウェアハウスサービスとしてリリースされました。
今年が10周年となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708554/18d391a2-ab2e-1321-8eac-783c35837c2e.png)
出典: Redshift公式ページ

約半年前の公式ページの画像は以下のものだったのですが、現在は上の画像に変更されており、Redshiftの機能がさらに拡充されていることを印象付けられます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708554/c912350b-3660-36f9-52f5-15624b000f58.png)

先日のAWS re:Invent 2022でRedshiftの開発者による講演もありました。
Redshiftの何がイノベーティブなのか、概要を知ることができると思います。

https://www.youtube.com/watch?v=eIZcoXg39tg&ab_channel=AWSEvents


# Redshiftの最新情報（2022/07/14~2022/12/23）

https://aws.amazon.com/jp/redshift/whats-new/

日本のリージョンに関連する情報を主にピックアップしています。

## [Amazon Redshift がクラスターサイズ変更のパフォーマンスとクラスター復元の柔軟性を向上](https://aws.amazon.com/jp/about-aws/whats-new/2022/07/amazon-redshift-improves-cluster-resize-performance-flexibility-cluster-restore/) - 2022/07/14

- Redshift の従来のサイズ変更機能のパフォーマンスを強化し、クラスタースナップショット復元の柔軟性が高まりました
- 以前はサイズ変更中にクラスターが何時間もオフラインになることがありましたが、現在は通常数分でクエリを処理できるようになりました。スナップショットから復元するときにクラスターのサイズを変更することもできますが、その場合は制限が生じることがあります
- 今回、暗号化されていないスナップショットから暗号化されたクラスターを復元したり、暗号化キーを変更したりできるようになりました。
- これらの機能は RA3ノードを持つターゲットクラスターにのみ対応しています。

## [Amazon Redshift は、バイナリプロトコルがサポートされ、パフォーマンスが向上したオープンソース ODBC ドライバーを発表](https://aws.amazon.com/jp/about-aws/whats-new/2022/07/amazon-redshift-open-source-odbc-driver-binary-protocol-support-enhanced-performance/) - 2022/07/18

- Redshift の ODBC ドライバーがオープンソースになり、Apache-2.0 ライセンスの下で、ユーザーコミュニティで利用できるようになりました
- ユーザーは、関連する AWS GitHub リポジトリで ODBC ドライバーのコードを参照し、GitHub のプルリクエストを使用してドライバーの拡張機能を送信したり、レビューのために問題を報告したりできるようになります
- Redshift でバイナリプロトコルもサポートされるようになります。バイナリプロトコルを有効にすると、Amazon Redshift クラスターから取得したデータがテキスト形式に変換されずに ODBC ドライバーに送信され、バイナリ形式で保持されます。バイナリ形式になることで、ネットワーク経由で送信されるデータが平均 30％ 減少し、大規模な結果セットを返すクエリのエンドツーエンドのパフォーマンスが向上します。
- Redshift の ODBC ドライバーの GitHub リポジトリ: https://github.com/aws/amazon-redshift-odbc-driver

## [Amazon S3 が S3 Access Points の最大数を増やし、Amazon Redshift、Amazon CloudFront、Amazon SageMaker Feature Store のサポートを開始](https://aws.amazon.com/jp/about-aws/whats-new/2022/07/amazon-s3-increases-access-points-redshift-cloudfront-sagemaker-feature-store/) - 2022/07/27

- 各リージョンのアカウントごとに Amazon S3 Access Points を 10,000 まで作成して、異なるアプリケーションにわたる詳細なアクセス権限を管理できるようになりました。
- アクセスポイントが Amazon SageMaker、Amazon Redshift、Amazon CloudFront をサポートすることにより、S3 バケット名の代わりにアクセスポイントのエイリアスを直接アプリケーションで使えるようになります。
- S3 Access Points にはそれぞれ自動生成されたアクセスポイントのエイリアスがあり、Amazon EMR や Amazon Redshift などの AWS のサービスで S3 データにアクセスするのに使用できます。

## [Amazon Redshift が Query Editor V2 の利便性とセキュリティ機能を向上するためフェデレーテッド SSO のサポートを発表](https://aws.amazon.com/jp/about-aws/whats-new/2022/08/amazon-redshift-federated-sso-security-enhancements-query-editor-v2/) - 2022/08/17

- Redshift Query Editor v2 を使用すると、管理者とエンドユーザーが ID プロバイダー (IdP) を使用して Amazon Redshift クラスターに接続するプロセスを簡素化できます。
- 管理者は、ID プロバイダー (IdP) を Amazon AWS コンソールと統合して、フェデレーションユーザーとして Query Editor v2 にアクセスできるようになりました。
- Redshift Query Editor v2 は、複数のクエリの同時実行に対応しています。テーブルへの大きなファイルのコピー、処理に時間のかかるクエリの実行など、特定のタスクの実行中に、並列クエリを実行できるようになりました。
- 加えて、管理者は、Query Editor のグローバル設定、たとえばページあたりの表示行の制限やユーザーあたりの最大データベース接続数などを変更したり、アカウント内のユーザー別に結果セットのエクスポート機能を有効化/無効化したり、リミットスイッチによりエディターに表示されるサイズを制限したりできるようになりました。

## [Amazon Redshift が一貫した耐久性を持つ強化されたシステムログを発表](https://aws.amazon.com/jp/about-aws/whats-new/2022/09/amazon-redshift-announces-enhanced-system-logs-consistent-durability/) - 2022/09/19

- システムテーブル/ビュー (STL/SVL) を使用して、パフォーマンスと監査のニーズに応じたクエリの実行に関するインサイトを得ることができます。これらのシステムテーブル/ビューは、システムログによって強化され、Redshift クラスターによって生成されます。
- Redshift のシステムログの耐久性が強化され、インスタンスタイプ、クラスターサイズ、クラスター上のワークロードに関係なく、ユーザーは最大 7 日間のシステムログデータを取得できるようになりました。システムログは、クラスターの一時停止と再開の間も保持されるようになりました。

## [Amazon Redshift Serverless がリソースのタグ付けのサポートを開始](https://aws.amazon.com/jp/about-aws/whats-new/2022/10/amazon-redshift-serverless-supports-resource-tagging/) - 2022/10/05

- Redshift Serverless では、名前空間やワークグループなどのリソースのタグ付けのサポートを開始しました。タグ付けすると、リソースにキーと値のペアを設定して、ビジネス部門、請求グループ、運用環境によって整理できます。
- データウェアハウスリソースの簡素化したビューを作成して、チームとプロジェクトをまたいだ請求の管理がより簡単にできるようになります。この機能は、データウェアハウスの使用が多数のアカウントとリージョンに広がっていくにつれて不可欠になります。

## [Amazon Redshift Query Editor で SQL ノートブックのサポートの一般提供を開始](https://aws.amazon.com/jp/about-aws/whats-new/2022/10/amazon-redshift-query-editor-sql-notebooks-support/) - 2022/10/27

- 複数の SQL クエリを、ドキュメント、可視化機能、コラボレーション機能を含む単一のノートブックにまとめる新しい方法が導入されました。
- 関連するクエリや情報を使いやすいようにまとめて維持することで、データアナリストやデータサイエンティストなどのユーザーはデータ分析をより効率的に行えるようになります。
- SQL ノートブックは、データ分析に必要なクエリを、SQL セルを使って 1 つのドキュメントに埋め込めます。
- クエリ結果を簡単に可視化できます。
- SQL ノートブックをチームメンバーと共有して Markdown セルを使用すると、複雑なデータ分析タスクでも他の人が理解しやすいようにクエリに関するドキュメントを提供できます。
- 組み込みの「バージョン履歴」の機能を使用して、SQL と Markdown セルの変更を追跡できます。
- エクスポート機能とインポート機能を使用すると、必要な場合に、SQL ノートブックを複数の AWS アカウントおよびリージョン間で簡単に移動できます。

以下のデモ動画と公式ブログがわかりやすかったです。

https://www.youtube.com/watch?v=GNahyu7j98M&ab_channel=AmazonWebServices

https://aws.amazon.com/blogs/big-data/simplify-data-analysis-and-collaboration-with-sql-notebooks-in-amazon-redshift-query-editor-v2-0/

## [Amazon Redshift での書き込みワークロードの同時実行スケーリングが一般提供を開始](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-redshift-concurrency-scaling-write-workloads/) - 2022/11/15

- Redshift の同時実行スケーリングは、読み取りクエリだけでなく、データの取り込みや処理などのワークロードの一部として実行される一般的な書き込み操作のスケーリングまで広くサポートされるようになりました。
- Redshift COPY、INSERT、UPDATE、DELETE などの一般的な書き込み操作を同時実行スケーリングクラスターに自動的にスケーリングできます。
- 同時実行スケーリングによる書き込みワークロードのサポートは、Redshift RA3 インスタンスタイプで利用できます。

## [Amazon Redshift が CONNECT BY SQL コンストラクトのサポートを発表](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-redshift-support-connect-by-sql-construct/) - 2022/11/17

- クエリを作成してウェアハウス内で階層データを処理することができます。CONNECT BY コンストラクトを使用して、親子関係にある階層データをデータセット内で再帰的にクエリすることができます。

## [AWS Backup で Amazon Redshift のサポートを開始](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/aws-backup-support-amazon-redshift/) - 2022/11/27

- これにより、Redshift データウェアハウスのデータ保護を簡単に一元管理できるようになります。
- また、AWS Backup を使用して、Redshift の手動スナップショットのスケジュールを設定したり、復元したりできるようになりました。
- さらに、Backupでは、イミュータビリティ、個別のバックアップアクセスポリシーによるセキュリティの強化、バックアップと復旧の一元化によるガバナンスの向上によって、データ保護を強化できます。

## [Amazon Redshift が Informatica Data Loader ツールと統合したことで、データアップロードがコスト不要でさらに速く](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-redshift-integration-informatica-data-loader-tool-data-uploads/) - 2022/11/28

- 今回の統合により、Amazon Redshift コンソール内で Informatica Data Loader を起動および運用できます。
- コンポーネントを追加でインストールしたり、コードを記述したりする必要なく、簡単にデータをコピーできるようになりました。
- さまざまなデータ形式で大容量のデータをアップロードできます。

## [Amazon Redshift が SQL 機能を強化し、データウェアハウスの移行を簡素化および高速化 (プレビュー版)](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-redshift-sql-capabilities-speed-data-warehouse-migrations-preview/) - 2022/11/28

- 新しい SQL の機能 (MERGE、ROLLUP、CUBE、GROUPING SETS) のサポートを開始しました。
- これらの機能を使うと、Redshift で多次元分析のアプリケーションの構築と頻繁に変化するデータの取り込みが簡単になります。
- さらに、Amazon Redshift で JSON および PARQUET ソースファイルからネストされたデータを取り込むときに、より大きな半構造化データサイズ (最大 16 MB) をサポートするようになりました。
- これらの機能強化を組み合わせて使用すると、Redshift に他のデータウェアハウスシステムから移行する場合、コード変換作業が軽減され、パフォーマンスが向上します。

## [Amazon Redshift が Amazon KDS および Amazon MSK のリアルタイムストリーミング取り込みを一般提供開始](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-redshift-real-time-streaming-ingestion-kds-msk/) - 2022/11/29

- Amazon Kinesis Data Streams (KDS) と Amazon Managed Streaming for Apache Kafka (MSK) のリアルタイムストリーミング取り込みをサポートするようになりました。
- ストリーミングデータを Redshift に取り込む前に Amazon S3 でステージングする必要がなくなり、1 秒あたり数百メガバイトのストリーミングデータをデータウェアハウスに取り込みながら、秒単位で測定される低レイテンシーを実現できます。 

## [Amazon Redshift が動的データマスキングのサポートを開始 (プレビュー)](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-redshift-support-dynamic-data-masking-preview/) - 2022/11/29

- これにより、既存のセキュリティ機能を拡張して、Redshift データウェアハウス内にある機密データを保護するプロセスを簡略化できます。
- 動的データマスキングを使用すると、シンプルな SQL ベースのマスキングポリシーによって、データへのアクセスを制御可能です。
- このポリシーは、クエリ時に Redshift が機密データをどのようにユーザーに返すかを決定します。動的データマスキングはプライバシー要件の変化への対応を簡略化します。基礎となるデータの変更や、SQL クエリの更新は必要ありません。

クラスメソッドさんの記事の設定例がわかりやすいです。

https://dev.classmethod.jp/articles/amazon-redshift-supports-dynamic-data-masking-preview/

## [AWS が Amazon Redshift の Apache Spark との統合を発表](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/aws-announces-amazon-redshift-integration-apache-spark/) - 2022/11/29

- Redshift の Apache Spark との統合により、デベロッパーは Redshift データに Apache Spark アプリケーションをシームレスに構築して実行できます。
- これにより、spark-redshift オープンソースコネクタを設定するという、面倒で手作業になることの多いプロセスを最小限に抑えられ、分析と ML タスクの準備に必要な時間が短縮されます。
- データウェアハウスへの接続を指定するだけで、Apache Spark ベースのアプリケーションから Amazon Redshift データの操作を数秒で開始できます。並べ替え、集計、制限、結合、スカラー関数などの操作にいくつかのプッシュダウン機能を使用することで、関連するデータのみを Redshift データウェアハウスからリソースを消費する Spark アプリケーションに移動できます。これにより、アプリケーションのパフォーマンスを向上させることができます。

## [AWS が Amazon Aurora と Amazon Redshift のゼロ ETL 統合をリリース](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-aurora-zero-etl-integration-redshift/) - 2022/11/29

- これにより、Aurora で扱うペタバイト規模のトランザクションデータに対して Redshift を使用し、ほぼリアルタイムの分析や機械学習 (ML) を実現します。
- Aurora に書き込まれたトランザクションデータは、数秒以内に Amazon Redshift で利用できます。そのため、複雑なデータパイプラインを構築および維持して抽出、変換、ロード (ETL) 処理を行う必要がありません。

## [Amazon EMR での Amazon Redshift の Apache Spark との統合を発表](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-redshift-integration-apache-spark-amazon-emr/) - 2022/11/29

- Redshift クラスターからデータを消費して書き込むことができる Spark アプリケーションをデータエンジニアが構築および実行するのに、この統合が役立ちます。Amazon EMR 6.9 以降で、EMR - EC2、EKS、サーバーレスのすべての 3 つのデプロイモデルにわたってこの統合を利用できます。
- この統合を使用すると、ETL ワークフローの一部として Redshift テーブルに直接書き込むアプリケーションを構築したり、Redshift のデータを別のソースのデータと結合したりできます。
- 開発者は Redshift テーブルからのデータを Spark データフレームにロードしたり、Redshift テーブルにデータを書き込んだりできます。開発者は Redshift に接続するためのオープンソースコネクターのダウンロードについて心配する必要はありません。

## [Amazon Redshift で RA3 クラスターの マルチ AZ のサポートを開始 (プレビュー)](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-redshift-multi-az-preview-ra3-clusters/) - 2022/11/30

- 複数の AWS アベイラビリティーゾーン (AZ) でデータウェアハウスを同時に稼働できるようになり、予期しない障害が発生してもデータウェアハウスを稼働させ続けることが可能となりました。このマルチ AZ 配置は、高いレベルの可用性と AZ の障害発生時における高い耐障害性が要求される重要なビジネス分析アプリケーションを利用するお客様向けのオプションです。 
- Redshift のマルチ AZ 配置を使用すると、AZ の障害発生時にユーザーが介入することなく障害から復旧することができます。Redshift のマルチ AZ 配置は、1 つのエンドポイントを通じて 1 つのデータウェアハウスとしてアクセスできます。また、ワークロードの処理が複数の AZ へ自動的に分散されるため、データウェアハウスのパフォーマンスを最大限に高めることができます。予期しない機能停止時にビジネスの継続性を維持するために、アプリケーションを変更する必要はありません。 


## [Amazon Redshift で Amazon S3 からの自動コピーが可能に](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-redshift-supports-auto-copy-amazon-s3/) - 2022/11/30

- S3 から Redshift へのデータの読み込みを簡素化する自動コピー機能のプレビューの提供が開始されました。S3 のパスを追跡して継続的にファイルを取り込むルールを設定することで、ツールやカスタムソリューションを別途用意することなく新しいファイルを自動的に読み込むことができます。 
- 今回のリリースでは、COPYコマンドをコピージョブに格納できるようになったため、指定した Amazon S3 のパス上にある新しいファイルを自動的に検出して読み込めるようになりました。コピージョブは、過去に読み込まれたファイルを追跡し、それらのファイルを取り込み処理から除外します。その動作はシステムテーブルを使用してモニタリングできます。また、自動読み込みが不要な場合、コピージョブを手動で実行することもできます。これにより、COPYコマンドを再利用したり、データの重複を回避したりすることができます。

## [Amazon Redshift データ共有で AWS Lake Formation を使用した一元的なアクセスコントロールが可能に (プレビュー)](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-redshift-data-sharing-centralized-access-control-lake-formation-preview/) - 2022/11/30

- 組織全体で共有されるデータに対する権限を AWS Lake Formation で一元管理できるようになり、Redshift データ共有のガバナンスを簡単に行えるようになりました。AWS Lake Formation によって管理された新しい Redshift データ共有を使用すると、Redshift データ共有内のテーブルやビューに対する権限を Lake Formation API や AWS コンソールを使用して表示、変更、監査でき、他の Redshift データウェアハウスから Redshift データ共有を検出して使用することができます。

## [AWS 上のゼロ ETL の未来に向け、2 つの新機能を発表](https://aws.amazon.com/jp/about-aws/whats-new/2022/12/aws-announces-two-new-capabilities-to-move-toward-a-zero-etl-future-on-aws/) - 2022/12/19

- このリリースは、現地時間 2022 年 11 月 29 日に米国で発表されたプレスリリースの抄訳版（本記事でも既出の2つのリリースのまとめ）
- Amazon Aurora と Amazon Redshift のゼロ ETL 統合により、ほぼリアルタイムでペタバイト規模のトランザクションデータの分析が可能になり、カスタムデータパイプラインの構築が不要に
- Amazon Redshift とApache Spark の統合により、AWS のアナリティクスや機械学習サービスを利用することで、Amazon Redshift のデータに対して Apache Spark のアプリケーションを素早く簡単に実行可能に

# おわりに
最後の最新情報リリースにもあるように、「ゼロETL」というビジョンに向けて、Redshiftでもユーザーのデータエンジニアリング作業をどんどん簡素化していっているようです。
今後のアップデートも楽しみです。