Help us understand the problem. What is going on with this article?

AWS Redshift Update まとめ re:Invent 2018

More than 1 year has passed since last update.

re:Invent 2018 のKeynoteもしくはSessionで紹介された
Redshiftのアップデートまとめメモ

redshift6.png

※Session:What's New with Amazon Redshift ft. McDonald's

性能向上

・クエリスループット性能はこの6カ月で 3.5倍
・実世界のワークロードでその性能改善は体感できる
 - repetitive queries : 17倍
 - deletes : 10倍
 - single-row inserts : 3倍
 - commits : 2倍

redshift1.png

redshift2.png

個人的には、short query accelerationやresult cash機能で、ショートクエリや同一クエリの応答は飛躍的に早くなった体感はありますが、
全てのワークロードでの大幅な体感はそこまで感じない気が。。。
ちゃんとベンチマーク取ってみようかと。

Concurrency Scaling

バースト的なクエリキューを、一時的にスケールしたRedshiftクラスタでさばいてくれる機能。
Keynoteでも触れられたので、おそらく今回のRedshiftの目玉アップデート。

Werner氏曰く

性能改善によって87%のユーザは、重大なクエリキューの待ち時間の問題はなくなり、一方で残り13%にその問題が残る。

Redshiftの並列実行数は15以下が推奨となっているので、同じタイミングで大量のクエリが発行されると、キューにたまり、AWS Consoleのクエリ実行状況がレインボー状態になる経験をした方多いと思います。

データサイエンティストが増え、一方でデータ増加によるETL/ELTワークロードも増えると、クエリ同時実行数に関するRedshiftの弱点が顕在化してきますが、その問題にメスを入れた待望の機能だと思います。

RedshiftのSession内での説明では、バックエンドで生成されるクラスタはEndpointは同じとのことなので、クエリを実行するユーザ側は特にConcurrency Scalingを意識する必要はなさそうです(まだPreview前なので詳細は不明ですが)

気になるのはコスト。24時間利用毎に1時間分のConcurrency Scaling用クレジットを無償提供で、一般的なユースケースで97%以上は無料で利用できるとのこと。
よりクエリキュー発生頻度が高い場合や、RI購入の場合の扱いについてどうなるか気になるところ。

redshift3.png

Elastic Resize

クラスタリサイズの新機能。
Redshiftクラスタサイズを増減させたい場合、従来のClassic Resizeでは、AWS Documentによると「数時間で終わることもあれば、2~3 日かかる可能性もあります。」とあり、その期間Read Onlyのみという先の読めない悪夢があります。
この方式では、既存クラスタと別に新規クラスタをバックエンドで生成し、データ移行完了後にEndpointを切り替える(ユーザ側は変更なし)という処理でしたが、Elastic Resizeは、データのテンポラリストレージにS3を利用し、既存クラスタに対して直接ノード増減を実行するようです。
そしてその実行時間は数分(5分未満)!!!

redshift4.png

一時的なサイズアップや、ノード増減にはElastic Resizeがベストなようですが、インスタンスタイプ変更など、一部はClassic Resizeを採用する必要があるようです。

redshift8.png

Lake Formation

Redshiftの機能ではないのですが、関連する新サービス「Lake Formation」
AWS上でData Lakeを構築する際の統合管理ツール。
Andy氏曰く、数カ月かかるDate Lakeの構成を数日で完了できる とのこと。

Formationという名前から、Cloud FormationのData Lake特化版的なイメージを推察しましたが、説明を聞く限り、アクセス制御等のセキュリティ関連のポリシーを統合管理でき、様々なデータソースやDB、カタログアクセスを容易にするとか。Previewステータスなので詳細はわかりませんが、アナリティクス系では目玉サービスの一つかと思います。

redshift7.png

redshift5.png

Lake Formationについてはこちらにまとめました
https://qiita.com/suzukihi724/items/42dc8574bc046c705ce7

Unload to Parquet

Session内でComing Soonとして紹介された、ParquetフォーマットでUnloadできる機能。
カラムナ型フォーマットであるParquetは、Spectrumなどからのアクセスで高いパフォーマンスが期待でき、SparkやGlueを活用してParquet変換をするケースが多いかと思います。
この機能が実装されれば、RedshiftでELT後にParquetでS3に格納するなどのワークフローに応用でき、便利かと。

Intelligent Administration

日常のワークロードを元に適切な分散キーの指定を提案してくれる
パフォーマンス改善やディスク容量低減が期待できる
Coming Soon

Intelligent Maintenance

Analyze、Vacuum、WLM Concurrency Settingを自動最適化。
地味ながら非常にうれしい機能だと思います。
Coming Soon

Stored Procedures

PL/pgSQL形式のストアドプロシージャ対応。
スピーカー曰く、エンタープライズからマイグレーション条件で非常に要望が多かった機能とのこと。
Coming Soon

Spectrum Request Acceleration

Spectrumの高速化機能?(詳細は不明です)
Coming Soon

Query Editor

既にGA済機能で、AWS Consoleから直接クエリ実行できるGUI

Redshift Advisor

既にGA済機能で、パフォーマンス最適化・コスト削減の設定提案をしてくれる機能

参考

Werner Vogels Keynote(youtube)
https://www.youtube.com/watch?v=femopq3JWJg

Andy Jassy Keynote(youtube)
https://www.youtube.com/watch?v=ZOIkOnW640A

Amazon Redshift and the art of performance optimization in the cloud(blog)
https://www.allthingsdistributed.com/2018/11/amazon-redshift-performance-optimization.html

Performance Matters(blog)
https://aws.amazon.com/jp/blogs/big-data/performance-matters-amazon-redshift-is-now-up-to-3-5x-faster-for-real-world-workloads/

Session:Deep Dive and Best Practices for Amazon Redshift (youtube)
https://www.youtube.com/watch?v=TJDtQom7SAA

Session:What's New with Amazon Redshift ft. McDonald's(youtube)
https://www.youtube.com/watch?v=MS1zleTPmA0

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした