Amazonレッドシフトは、広く使用されているクラウド データ ウェアハウスであり、最も要求の厳しいワークロードのパフォーマンス要件を満たすために大幅に進化しました。この投稿では、そのような新機能の 1 つである多次元データ レイアウトのソート キーについて説明します。
Amazon Redshift は、多次元データ レイアウトのソート キーをサポートすることでクエリのパフォーマンスを向上させます。これは、テーブルの物理列ではなくフィルター述語によってテーブルのデータをソートする新しいタイプのソート キーです。 多次元データ レイアウトの並べ替えキーにより、特にクエリ ワークロードに反復スキャン フィルターが含まれる場合、テーブル スキャンのパフォーマンスが大幅に向上します。
Amazon Redshift はすでに次の機能を提供しています。 自動テーブル最適化 (ATO) は、管理者の介入を必要とせずに、ソートおよび分散キーを適用することでテーブルの設計を自動的に最適化します。 この投稿では、ATO によって提供され、Amazon Redshift のソートキーアドバイザーアルゴリズムによって強化された追加機能として、多次元データレイアウトのソートキーを紹介します。
多次元データレイアウトのソートキー
AUTO ソートキーを使用してテーブルを定義すると、Amazon Redshift ATO はクエリ履歴を分析し、ワークロードにどちらのオプションが適しているかに基づいて、テーブルの単一列ソートキーまたは多次元データレイアウトソートキーのいずれかを自動的に選択します。 多次元データレイアウトが選択されている場合、Amazon Redshift は、通常同じクエリによってアクセスされる行を同じ場所に配置する多次元ソート関数を構築します。その後、ソート関数はクエリ実行中に使用され、データブロックをスキップし、個々の述語のスキャンもスキップします。列。
次のユーザー クエリについて考えてみましょう。これは、ユーザーのワークロードにおける主要なクエリ パターンです。
Amazon Redshift は、各列のデータを 1 MB のディスク ブロックに保存し、最小値と最大値をテーブルのメタデータの一部として各ブロックに保存します。 クエリで 範囲制限された述語, Amazon Redshift は、最小値と最大値を使用して、テーブルスキャン中に多数のブロックを迅速にスキップできます。 ただし、サブリージョン列に対するこのクエリのフィルターは、最小値と最大値に基づいてスキップするブロックを決定するために使用することはできません。その結果、Amazon Redshift はタイトル テーブルのすべての行をスキャンします。
ユーザーのクエリが実行されたとき titles
単一列のソートキーを使用する subregion
、前述のクエリの結果は次のようになります。
これは、テーブル スキャンで 2,164,081,640 行が読み取られたことを示しています。
のスキャンを改善するには、 titles
テーブルでは、Amazon Redshift が多次元データ レイアウトのソート キーの使用を自動的に決定する場合があります。 を満たすすべての行 lower(subregion) like '%United States%'
述語はテーブルの専用領域に同じ場所に配置されるため、Amazon Redshift は述語を満たすデータ ブロックのみをスキャンします。
ユーザーのクエリが実行されると、 titles
以下を含む多次元データ レイアウト ソート キーを使用する lower(subregion) like '%United States%'
述語として、の結果 sys_query_detail
クエリは次のとおりです。
これは、テーブル スキャンで元のデータの 152,324,046% にすぎない 7 行を読み取り、多次元データ レイアウトのソート キーを使用したことを示しています。
この例では、多次元データ レイアウト機能を紹介するために単一のクエリを使用していますが、Amazon Redshift はテーブルに対して実行されているすべてのクエリを考慮し、最も一般的に実行される述語を満たすために複数のリージョンを作成できることに注意してください。
今度はより複雑な述語と複数のクエリを使用した別の例を見てみましょう。
テーブルがあることを想像してください items (cost int, available int, demand int)
次の例に示すように、XNUMX 行で構成されます。
#id | コスト | 利用できます | デマンド |
1 | 4 | 3 | 3 |
2 | 2 | 23 | 6 |
3 | 5 | 4 | 5 |
4 | 1 | 1 | 2 |
主なワークロードは XNUMX つのクエリで構成されます。
- 70% のクエリ パターン:
- 20% のクエリ パターン:
従来の並べ替え手法では、コスト列に基づいてテーブルを並べ替えることができます。 cost > 3
ソートの恩恵を受けるでしょう。 したがって、単一のアイテムを使用して並べ替えた後のアイテムテーブルは、 cost
列は次のようになります。
#id | コスト | 利用できます | デマンド |
リージョン #1、コスト <= 3 | |||
リージョン #2、コスト > 3 |
#id | コスト | 利用できます | デマンド |
4 | 1 | 1 | 2 |
2 | 2 | 23 | 6 |
1 | 4 | 3 | 3 |
3 | 5 | 4 | 5 |
この従来の並べ替えを使用すると、ID 4 と ID 2 の上位 XNUMX 行 (青色) をすぐに除外できます。これらの行は次の条件を満たしていないためです。 cost > 3
.
一方、多次元データ レイアウトのソート キーを使用すると、ユーザーのワークロードでよく発生する XNUMX つの述語の組み合わせに基づいてテーブルがソートされます。 cost > 3
および available < demand
。 その結果、テーブルの行は XNUMX つの領域にソートされます。
#id | コスト | 利用できます | デマンド |
リージョン #1、コスト <= 3、利用可能 < 需要 | |||
リージョン #2、コスト <= 3、利用可能>= 需要 | |||
リージョン #3、コスト > 3、利用可能 < 需要 | |||
リージョン #4、コスト > 3、利用可能 >= 需要 |
#id | コスト | 利用できます | デマンド |
4 | 1 | 1 | 2 |
2 | 2 | 23 | 6 |
3 | 5 | 4 | 5 |
1 | 4 | 3 | 3 |
この概念は、単一の行ではなくブロック全体に適用したり、従来の並べ替え手法 ( like
)、および XNUMX つ以上の述語に適用される場合。
システムテーブル
次の Amazon Redshift システム テーブルは、テーブルとクエリで多次元データ レイアウトが使用されているかどうかをユーザーに示します。
- 特定のテーブルが多次元データ レイアウト ソート キーを使用しているかどうかを判断するには、次のことを確認できます。
sortkey1
in svv_table_info 等しいAUTO(SORTKEY(padb_internal_mddl_key_col))
. - 特定のクエリがテーブル スキャンを高速化するために多次元データ レイアウトを使用しているかどうかを判断するには、次のことを確認できます。
step_attribute
セクションに sys_query_detail ビュー。 値は次と等しくなりますmulti-dimensional
テーブルの多次元データ レイアウトのソート キーがスキャン中に使用されたかどうか。
パフォーマンスベンチマーク
反復スキャン フィルターを使用して複数のワークロードに対して内部ベンチマーク テストを実行したところ、多次元データ レイアウトのソート キーを導入すると次の結果が得られることがわかりました。
- ソートキーがない場合と比較して、合計実行時間が 74% 削減されます。
- 各テーブルに最適な単一列のソート キーを使用する場合と比較して、合計実行時間が 40% 削減されます。
- ソートキーがない場合と比較して、テーブルから読み取られる合計行数が 80% 削減されます。
- 各テーブルに最適な単一列のソート キーを使用する場合と比較して、テーブルから読み取られる合計行数が 47% 削減されます。
機能比較
多次元データ レイアウトのソート キーの導入により、ワークロード内で一般的に発生するフィルター述語に基づいた式によってテーブルをソートできるようになりました。 次の表は、Amazon Redshift の機能を XNUMX つの競合他社と比較したものです。
特徴 | Amazonレッドシフト | 競合他社A | 競合他社B |
列でのソートのサポート | はい | はい | はい |
式による並べ替えのサポート | はい | はい | いいえ |
ソートのための自動列選択 | はい | いいえ | はい |
並べ替えのための式の自動選択 | はい | いいえ | いいえ |
列ソートまたは式ソート間の自動選択 | はい | いいえ | いいえ |
スキャン中の式の並べ替えプロパティの自動使用 | はい | いいえ | いいえ |
考慮事項
多次元データ レイアウトを使用する場合は、次の点に注意してください。
- テーブルを SORTKEY AUTO として設定すると、多次元データ レイアウトが有効になります。
- Amazon Redshift Advisor は、過去のワークロードを分析することにより、テーブルの単一列のソートキーまたは多次元データレイアウトのいずれかを自動的に選択します。
- Amazon Redshift ATO は、進行中のクエリがワークロードと対話する方法に基づいて、多次元データ レイアウトの並べ替え結果を調整します。
- Amazon Redshift ATO は、現在既存のソートキーと同じ方法で多次元データレイアウトのソートキーを維持します。 参照する 自動テーブル最適化の使用 ATO の詳細については、こちらをご覧ください。
- 多次元データ レイアウトのソート キーは、プロビジョニングされたクラスターとサーバーレス ワークグループの両方で機能します。
- 多次元データ レイアウトのソート キーは、テーブルで AUTO SORTKEY が有効になっており、反復スキャン フィルターを含むワークロードが検出されている限り、既存のデータで機能します。 多次元ソート機能の結果に基づいてテーブルが再編成されます。
- テーブルの多次元データ レイアウトのソート キーを無効にするには、alter table を使用します。
ALTER TABLE table_name ALTER SORTKEY NONE
。 これにより、テーブルの AUTO ソート キー機能が無効になります。 - 多次元データ レイアウトのソート キーは、プロビジョニングされたクラスターをサーバーレス クラスターに復元または移行するとき、またはその逆の場合に保持されます。
まとめ
この投稿では、多次元データ レイアウトの並べ替えキーによって、支配的なクエリに反復スキャン フィルターが含まれるワークロードのクエリ ランタイム パフォーマンスが大幅に向上することを示しました。
Amazon Redshift コンソールからプレビュークラスターを作成するには、 クラスター ページを選択して選択します プレビュー クラスターの作成。 米国東部 (オハイオ)、米国東部 (バージニア北部)、米国西部 (オレゴン)、アジアパシフィック (東京)、欧州 (アイルランド)、および欧州 (ストックホルム) リージョンでクラスターを作成し、ワークロードをテストできます。
この新機能に関するフィードバックをお待ちしております。また、この投稿へのコメントもお待ちしています。
著者について
ミリンドオーク ニューヨークを拠点とするデータウェアハウススペシャリストソリューションアーキテクトです。 彼は15年以上データウェアハウスソリューションを構築しており、AmazonRedshiftを専門としています。
ジャリン・ディン 彼は学習システム グループの応用科学者であり、Amazon Redshift などのデータ システムのパフォーマンスを向上させるための機械学習と最適化技術の適用を専門としています。
ヤンジュ・ジ Amazon Redshift チームのプロダクト マネージャーです。 彼女は、業界をリードするデータ製品とプラットフォームの製品ビジョンと戦略の経験があります。 彼女は、Web 開発、システム設計、データベース、および分散プログラミング技術を使用して実質的なソフトウェア製品を構築する優れたスキルを持っています。 私生活では、Yanzhu は絵を描くこと、写真を撮ること、テニスをすることが好きです。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/big-data/improve-performance-of-workloads-containing-repetitive-scan-filters-with-multidimensional-data-layout-sort-keys-in-amazon-redshift/
- :持っている
- :は
- :not
- :どこ
- 1
- 100
- 15年
- 視聴者の38%が
- 152
- 7
- 8
- 9
- a
- 加速する
- アクセス
- NEW
- 顧問
- 後
- に対して
- アルゴリズム
- すべて
- 既に
- Amazon
- Amazon Webサービス
- an
- 分析します
- 分析する
- および
- 別の
- 適用された
- 適用
- です
- AS
- アジア
- アジア太平洋地域
- オート
- オートマチック
- 自動的に
- 利用できます
- AWS
- ベース
- BE
- なぜなら
- き
- ベンチマーク
- 恩恵
- BEST
- より良いです
- の間に
- ブロック
- ブロック
- 青
- 両言語で
- 建物
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- 缶
- 機能
- チェック
- 選択する
- クラウド
- クラスタ
- コラム
- コラム
- 組み合わせ
- 注釈
- 一般に
- 比べ
- 比較
- 競合他社
- 複雑な
- コンセプト
- 検討
- からなる
- 領事
- 構築する
- 含まれています
- 費用
- カバー
- 作ります
- 現在
- データ
- データウェアハウス
- データベース
- 決めます
- 専用の
- 定義します
- 需要
- 厳しい
- 設計
- 細部
- 検出された
- 決定する
- 開発
- 配布
- ディストリビューション
- ありません
- 支配的
- ドント
- 間に
- 各
- 東
- どちら
- 使用可能
- 全体
- 等しい
- 特に
- エーテル(ETH)
- ヨーロッパ
- 評価
- さらに
- 進化
- 例
- 既存の
- 体験
- 表現
- 特徴
- フィードバック
- filter
- フィルター
- フォロー中
- 次
- フォワード
- 4
- から
- function
- グループ
- ハンド
- 持ってる
- 持って
- he
- 聞く
- 彼女の
- 歴史的
- history
- しかしながら
- HTML
- HTTPS
- ID
- if
- 直ちに
- 改善します
- 向上させる
- in
- 含ま
- 個人
- 業界をリードする
- を取得する必要がある者
- 対話
- 内部
- 介入
- に
- 紹介する
- 導入
- 概要
- アイルランド
- IT
- リーディングシート
- キー
- キー
- 大
- レイアウト
- 学んだ
- 学習
- 生活
- ような
- 好き
- 長い
- 見て
- のように見える
- 愛
- 機械
- 機械学習
- 維持
- マネージャー
- 方法
- 大会
- かもしれない
- 移行中
- マインド
- 最小
- 他には?
- 最も
- の試合に
- ナビゲート
- 必要
- 新作
- 新機能
- ニューヨーク
- いいえ
- 今
- 番号
- 発生する
- of
- オフ
- 提供
- オハイオ
- on
- ONE
- 継続
- の
- 演算子
- 最適化
- 最適化
- オプション
- or
- 注文
- オレゴン
- オリジナル
- その他
- でる
- 傑出した
- が
- 太平洋
- 絵画
- 部
- 特定の
- パターン
- パフォーマンス
- 実行
- 個人的な
- 写真撮影
- 物理的な
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 再生
- ポスト
- 強力な
- 保存された
- プレビュー
- 生産された
- プロダクト
- プロダクトマネージャー
- 製品
- プログラミング
- プロパティ
- は、大阪で
- クエリ
- 急速に
- 読む
- 削減
- 参照する
- 地域
- 地域
- 反復的な
- 要件
- 復元する
- 結果
- 結果
- ラン
- ランニング
- runs
- 同じ
- スキャン
- スキャニング
- スキャン
- 科学者
- シーズン
- select
- 選択
- 選択
- サーバレス
- サービス
- セッションに
- 彼女
- 表示する
- ショーケース
- 示されました
- 示す
- 作品
- 著しく
- 技能
- So
- ソフトウェア
- ソリューション
- 専門家
- 専門にする
- 特化
- 店舗
- 戦略
- 続いて
- かなりの
- そのような
- 適当
- 支援する
- システム
- テーブル
- 取る
- チーム
- テクニック
- テニス
- test
- テスト
- より
- それ
- アプリ環境に合わせて
- したがって、
- 彼ら
- この
- 時間
- タイトル
- 〜へ
- 東京
- top
- トータル
- 伝統的な
- 2
- type
- 一般的に
- us
- つかいます
- 中古
- ユーザー
- users
- 使用されます
- 値
- 価値観
- バイス
- 詳しく見る
- バージニア州
- ビジョン
- 倉庫
- ました
- 仕方..
- we
- ウェブ
- ウェブ開発
- Webサービス
- ウェスト
- いつ
- かどうか
- which
- 広く
- 意志
- 無し
- 仕事
- でしょう
- 年
- ヨーク
- 貴社
- あなたの
- ゼファーネット