Blog
AWS re:Invent 2016で発表されたRedshiftの機能アップデート
Dynalystの黒崎です。
ラスベガスで開催されている、AWSのre:Inventに来ています。
今年は過去最多の3万2千人が参加しているということもあり、どこも人で溢れかえっています。
ここ2日間で9個くらいのセッションを見たのですが、Redshiftの機能アップデートに関するセッションについて情報がなさそうなので簡単にまとめました。
聴講したセッションはこちらです。
BDA304 – What’s New with Amazon Redshift
前半ではRedshiftの概要やRedshiftを使うべきケースなどの説明でした。
基礎的な内容だったため、この部分は省略させて頂きます。
(写真が歪んでいるのは斜めから撮影したのを台形補正を掛けたためです)
Redshiftの機能アップデート
今回は純粋なパフォーマンスよりも機能面でのアップデートが多かったです。
Available now
既に使えます。今年リリース済みの機能アップデートです。
Queue hopping
重いクエリ等の実行を中断して、優先度の低い別のキューに再度入れて実行されるようにする機能です。
重い / 悪いクエリのせいでQueueがブロックされないようにすることができます。
10X VACUUM performance improvement
VACUUMの動作が最大10倍高速化するようです。
Node fault tolerance
アップデート以前もRedshiftのノードに障害が起きた場合、障害検知、復旧は自動で行われるのですが、復旧が完了するまでサービスは利用不可(クエリを受け付けられない)でした。
このアップデートにより、ノードに障害が起きた場合でも実行中のクエリが自動的に別のノードで再実行され、サービスが継続できるようになります。
masterノードとcomputeノード間のデータパスのモニタリングと、クラスタ全体として正常に機能しているかのモニタリングの2種類によりこの機能が実現されているようです。
IAM support for Copy / Unload
S3からデータをLoadとUnloadする際の権限をIAMで制限できるようになりました。
これにより、特定のS3バケットだけしかアクセスできないようにするなどの制限が掛けられるようになり、よりセキュアになります。
Automatic data compression for CTAS
CTASというのはCREATE TABLE AS〜の略です。
SELECTした結果からテーブルを作成するときもカラム圧縮の設定が自動でされるようになります。
Timestamp TZ database
タイムスタンプの表現方法で、アップデート以前はタイムゾーン情報をタイムスタンプに保持する事ができませんでしたが、タイムゾーンも解釈し保持する事ができるようになりました。
Comming soon
今後リリースされる予定の機能です。
Query Monitoring rules
AWSコンソール画面より、条件を設定して重いクエリ / 悪いクエリをロギングしたり、中断したり、Queue Hoppingさせるなどの設定が行えるようになります。
こんな感じの画面で設定ができるようです。
Automatic and incremental background VACUUM
クラスタがidle状態のときにVACUUMを裏で自動で走らせられるようになります。
インクリメンタルになるので、クラスタのidole状態の時間が断続的でもVACUUMが行えます。
Short query bias
短いクエリはQueueの先頭に配置されすぐ実行されるようになります。
これにより、Queueにいくつか実行待ちのクエリが存在している状態でも短いクエリはすぐレスポンスが得られます。
BIツール等、短いクエリをインタラクティブに発行するツールでのレスポンス向上が期待できます。
Power start
プロジェクタの表示が切れてしまっていたのと、説明がちゃんと聞き取れなかったため、どんな機能なのかわかりませんでした…すいません。
IAM Authentication for DB users
DBに直接ユーザを作成する代わりにIAMで認証できるようになります。 (会場では少し拍手が起きていた)
JDBCから接続する場合はIAM認証することにより、接続のための一時的なパスワードを取得し、それを使う事で接続できるそうです。
Auto compression for new tables
新規作成されたテーブルでもデフォルトの圧縮設定がされるようになります。
Enhanced JSON & AVRO ingestion performance
* JSONとAVROの処理性能が向上します。
質疑応答にて
「フォーマットとしてParquetをサポートする予定は?」という質問がありましたが、 “perhaps?” と言っていたので、「できたらやるよ」くらいの温度感でしょうか。
簡単ではありますが、現場からは以上です!
Author