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

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

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

  2. Amazon Web Services

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

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

  3. Amazon Web Services

    セキュリティグループ vs ネットワークACL

    セキュリティグループ と ネットワークACL の違いセキュリティグ…

  4. Amazon Web Services

    パブリックサブネット vs プライベートサブネット

    パブリックサブネット と プライベートサブネットの違いパブリックサ…

  5. Adobe Analytics

    Adobe Analytics: DWHレポートをAWSのS3バケットに配信する

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  6. Amazon Web Services

    Direct Connect vs Site to Site VPN

    AWS Direct Connect と Site to Site V…

最近の記事

  1. Mouseflowのセッションリプレイのしくみ
  2. LangChainって何?: 次世代AIアプリケーション構築…
  3. 1st Party Cookieと3rd Party Coo…
  4. Amplitudeで何が分かる?
  5. SnowflakeのHybrid Tableのマニュアルを読…
  1. IT用語集

    パス、絶対パス、相対パス、ルートパスって何?
  2. Google Analytics

    【UAとは違う!?】GA4で変更された”イベント”につい…
  3. Google Apps Script(GAS)

    GASを利用してWebスクレイピングをやってみよう②
  4. Tableau

    Tableauのヘックスタイルマップでヒートマップを地図上に粗く表現する
  5. IT用語集

    セッション(Session)って何?
PAGE TOP