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

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

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

  2. Amazon Web Services

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

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

  3. Adobe Analytics

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

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

  4. Amazon Web Services

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

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

  5. Amazon Web Services

    Direct Connect vs Site to Site VPN

    AWS Direct Connect と Site to Site V…

  6. Amazon Web Services

    Databricks Community Editionを使ってApache Sparkを無料で学ぶ…

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

最近の記事

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

    Node.js+GAE: 日本語自然文を形態素解析してネガポジ判定をする
  2. Adobe Analytics

    Metabase: カスタムマップで日本地図を追加する
  3. Python

    モダンデータスタックなワークフローオーケストレーションツール「Prefect」 …
  4. Google Cloud Platform

    Google Compute Engine: 一定時間経過したらタスクを強制終了…
  5. Adobe Analytics

    Ad Hoc Analysisを用いてセグメント作成を効率化する
PAGE TOP