Amazon Web Services

Amazon Redshift ビルド168まとめ

この記事はAmazon Redshiftのアップデート情報からどのようなアップデートがあったのかを紹介するものです。
今後も定期的に行いたいと思っております。
今回紹介するものは、2022-04-20にリリースされたものです。

https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/cluster-versions.html#cluster-version-168

アップデート一覧

    • Amazon Redshift ML の線形学習モデルタイプのサポートを追加しました。
    • SQL トランザクション分離レベルの SNAPSHOT オプションを追加しました。
    • VARBYTE および VARCHAR データの新しいハッシュアルゴリズムとして farmhashFingerprint64 を追加しました。
    • マテリアライズドビューの増分更新で AVG 関数をサポートします。
    • Redshift Spectrum の外部テーブルの相関サブクエリをサポートします。
    • 初期状態のクエリパフォーマンスを向上させるために、Amazon Redshift は、特定のテーブルにおける単一列のプライマリキーを分散キーとして自動的に選択します。

Amazon Redshift ML の線形学習モデルタイプのサポートを追加しました。

https://docs.aws.amazon.com/sagemaker/latest/dg/linear-learner.html

上記をRedshift MLがサポートしたというものです。
Redshift内のデータをSQLで直接利用できることから、容易に機械学習への応用ができるといったものです。
Redshift MLの詳細については今後解説できればと思います。

こちらも参照:https://aws.amazon.com/jp/about-aws/whats-new/2022/05/amazon-redshift-supports-linear-learner-algorithm-redshift-ml/

 

SQL トランザクション分離レベルの SNAPSHOT オプションを追加しました。

これまではトランザクション分離レベルは「SERIALIZABLE」のみが利用できました。
これまでは、同時書き込みを行う際にトランザクションが分離できず、エラーが発生することがあり困ったかたも多かったのではないでしょうか。
新たな「SNAPSHOT ISOLATION」を利用することでそういったリスクを低減できるようになるようです。

近年では、日次取り込みよりさらに頻度高く同時書き込みを行うワークロードも多くなっており大変うれしいアップデートです。

一方で、利用するにはDBレベルでの変更を行う必要ががあるようで、検証を引き続き行いたいです。
(CREATE DB, ALTER DBより変更可能)
https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_DATABASE.html

 

VARBYTE および VARCHAR データの新しいハッシュアルゴリズムとして farmhashFingerprint64 を追加しました。

md5関数などのような文字列から別の値を生成するハッシュ関数に新たなアルゴリズムが増えました。
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_FARMFINGERPRINT64.html

こちらは聞いたことはなかったのですが、Googleより2004年に発表された、非暗号化アルゴリズムで、高速なハッシュアルゴリズムであるようです。

 

マテリアライズドビューの増分更新で AVG 関数をサポートします。

これは素直にうれしいですね。
増分更新にはまだ制約が多く、利用できるケースは限られますが、魅力的なものではあるので今後もウォッチしていきたいです。
増分更新の制約に関してはこちらをご覧ください。
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/materialized-view-refresh-sql-command.html#mv_REFRESH_MARTERIALIZED_VIEW_limitations

 

Redshift Spectrum の外部テーブルの相関サブクエリをサポートします。

していなかったのか、という驚きがありました。
(現在我々はRedshift Spectrumは塩漬けデータに対して利用することが多かった)
一方でRedshiftとしての相関サブクエリの制限はあると思われます。
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_correlated_subqueries.html

 

初期状態のクエリパフォーマンスを向上させるために、Amazon Redshift は、特定のテーブルにおける単一列のプライマリキーを分散キーとして自動的に選択します。

Redshiftにprimary keyあったのか?と思われるかもしれません。
Redshiftではprimary key制約(一意制約など)は多くは、テーブル作成時に定義自体はできるものの制約としては機能しないものでした。
定義することで、クエリプランナーが利用するというものでした。
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/t_Defining_constraints.html

このアップデートでは、そのprimary key制約をつけることで、自動的に分散キーに指定してくれるというものです。
多くの場合で主キーをもとにjoinなどを行うため、パフォーマンスが上がる可能性がある、ということでしょう。

こういった自動でパフォーマンスの調整をしてくれるような機能がここ数年で増えており、確実に便利になっていることを感じます。

 

まとめ

簡単な紹介でしたが以上となります。
気になるアップデートに関しては深ぼって紹介できればと思います。

今後もAmazon Redshiftのみならずデータにかかわるサービス・技術的なトピックを配信していこうと思うのでご興味あれば見ていただければ幸いです。

弊社ではTableauやGCP/AWSなどのパブリッククラウドを使ったデータ分析基盤構築コンサルティングサービスやGoogleAnalytics/AdobeAnalyticsなどの各Martechツールの導入実装コンサルティングサービスを提供しております。
お問い合わせはこちらからどうぞ。

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Amazon Web Services

    System Managerを利用したVPC内Redshiftへの接続

    Redshiftを構築するにあたって、private subnet内で…

  2. Amazon Web Services

    IAM (Identity and Access Management) を理解する

    IAMとは「ユーザーに対してAWSのアクセスを制御する仕組み」のこ…

  3. Amazon Web Services

    Pythonを用いたAmazon S3の署名付きURLの発行と、発行時の注意点

    こんにちは、エクスチュアの黒岩と申します。つい最近、AWSア…

  4. Amazon Web Services

    ELB (ALB・NLB・CLB) をサクッと学ぶ

    ELB(Elastic Load Balancing)とは3種類の…

  5. Amazon Web Services

    Direct Connect vs Site to Site VPN

    AWS Direct Connect と Site to Site V…

  6. Amazon Web Services

    【初心者向け】AWSを学ぶ前に確認したい用語

    【初心者向け】AWSを学ぶ前に確認したい用語クラウド「インター…

最近の記事

  1. 回帰分析はかく語りき Part3 ロジスティック回帰
  2. GCSへのSnowflake Open Catalogによる…
  3. VPC Service Controlsで「NO_MATCH…
  4. モダンデータスタックなワークフローオーケストレーションツール…
  5. Streamlit in Snowflakeによるダッシュボ…
  1. Tableau

    Tableau Serverの基礎をまとめてみた
  2. Adobe Analytics

    Adobe AEP SDK: リバースプロキシを使ったアプリ計測検証方法
  3. Python

    回帰分析はかく語りき Part1 単回帰分析
  4. ブログ

    ダッシュボードに使うべき10のグラフ①
  5. GA 360 Suite

    BigQuery: Google Analytics 360のネストされたデータ…
PAGE TOP