データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

Amazon Redshift:クエリパフォーマンスを最適化するためのベストプラクティス

元々は2020年6月17日にOnica.com/blogで公開されました

多数の業界にわたる組織は、成功に不可欠な運用やその他の機能にデータ分析を使用することを目指しています。ただし、データ量が増えると、管理と価値の抽出がますます複雑になる可能性があります。

Amazon Redshift

Amazon®Redshift®は、データ管理と分析を簡素化するAmazonWebServices®(AWS)の強力なデータウェアハウスサービスです。 Amazon Redshiftと、データクエリのパフォーマンスを最適化するために実装できるいくつかのベストプラクティスを見てみましょう。

データレイクとデータウェアハウス

Amazon Redshiftを掘り下げる前に、データレイクとウェアハウスの違いを理解することが重要です。 Amazon S3のようなデータレイクは、データを変更することなく、あらゆる規模で多くのソースからの構造化データと非構造化データを格納する集中型データリポジトリです。一方、データウェアハウスは、継続的な分析を実行するために最適化された調整済みの状態でデータを格納します。データレイクからの分析に必要なデータのみをロードします。

Amazon Redshiftは、データ分析用のストレージをさらに1レベル増やし、データレイクとウェアハウスの品質を「レイクハウス」アプローチに統合します。費用対効果を維持し、データの冗長性を最小限に抑え、メンテナンスのオーバーヘッドと運用コストを最小限に抑えながら、大規模なエクサバイト規模のデータレイクのクエリを可能にします。

AmazonRedshiftアーキテクチャ

ビッグデータセットで複雑なクエリを迅速に処理するために、Amazon Redshiftアーキテクチャは、同時処理のためにジョブを多くの計算ノードに分散する超並列処理(MPP)をサポートしています。

これらのノードはクラスターにグループ化され、各クラスターは3つのタイプのノードで構成されます。

  • リーダーノード :これらは接続を管理し、SQLエンドポイントとして機能し、並列SQL処理を調整します。

  • 計算ノードスライスで構成 、これらは、列形式および1MBの不変ブロックに格納されたデータに対して並列にクエリを実行します。 Amazon Redshiftクラスターには、1〜128の計算ノードを含めることができ、テーブルデータを含み、ローカル処理ゾーンとして機能するスライスに分割されます。

  • AmazonRedshiftスペクトラムノード :これらは、AmazonS3データレイクに対してクエリを実行します。

Amazon Redshift:クエリパフォーマンスを最適化するためのベストプラクティス クエリパフォーマンスの最適化

クラスタ内のデータの物理的なレイアウトをクエリパターンと一致させることで、最適なクエリパフォーマンスを引き出すことができます。 Amazon Redshiftが最適に機能していない場合は、ワークロード管理の再構成を検討してください。

ワークロード管理(WLM)を再構成します

多くの場合、デフォルト設定のままにしておくと、WLMを調整するとパフォーマンスが向上します。このタスクを自動化するか、手動で実行できます。自動化された場合、Amazon Redshiftは、クラスターリソースの使用量に基づいてメモリ使用量と同時実行性を管理します。これにより、8つの優先度指定キューを設定できます。手動で行うと、同時クエリの数、メモリ割り当て、およびターゲットを調整できます。

次のWLM構成パラメーターを使用して、クエリのパフォーマンスを最適化することもできます。

  • クエリの監視 ルールは、高額なクエリや暴走したクエリの管理に役立ちます。

  • 短いクエリ アクセラレーションは、機械学習アルゴリズムを使用してクエリの実行時間を予測することにより、実行時間の長いクエリよりも実行時間の短いクエリを優先するのに役立ちます。

  • 同時実行スケーリング 複数の一時クラスターを数秒で追加して、同時読み取りクエリを高速化するのに役立ちます。

WLMのベストプラクティス

WLMチューニングのベストプラクティスには次のものがあります。

  • さまざまなタイプのワークロードに対してさまざまなWLMクエリを作成します。
  • スループットを最大化するために、メインクラスターの最大同時実行数を15以下に制限します。
  • 同時実行スケーリングの有効化。
  • キュー内のリソースの数を最小限に抑えます。
データ配布の調整

テーブルの行は、次の分散スタイルに基づいて、AmazonRedshiftによってノードスライス全体に自動的に分散されます。

  • AUTO :ALLで始まり、テーブルが大きくなるにつれてEVENに切り替わります。
  • すべて :各計算ノードの最初のスライスに配置された、小さく、頻繁に結合され、頻繁に変更されないテーブルで構成されます。
  • EVEN :スライス全体のラウンドロビン分散で頻繁に結合または集約されない、大規模なスタンドアロンのファクトテーブルで構成されます。
  • キー :頻繁に結合されるファクトテーブルまたはラージディメンションテーブルで構成されます。このスタイルでは、列の値がハッシュされ、同じハッシュ値が同じスライスに配置されます。

適切な分散パターンを使用すると、 JOINのパフォーマンスを最大化できます 、 GROUP BY 、および INSERT INTO SELECT 操作。

データの並べ替えを調整する

ソートキーは、ディスク上のデータの物理的な順序を定義します。 WHEREで使用されるテーブル列 句の述語は並べ替えキーに適しています。通常、日付または時刻に関連する列を使用します。メモリに保存され、自動的に生成されるゾーンマップを使用して、データの各ブロックの極値を定義します。並べ替えキーとゾーンマップを効果的に併用すると、次のことが可能になります。スキャンを必要最小限のブロック数に制限します。

次の図は、テーブルの並べ替えが時間ベースのクエリのスキャンターゲットに焦点を合わせ、それによってクエリのパフォーマンスを向上させる方法を示しています。

Amazon Redshift:クエリパフォーマンスを最適化するためのベストプラクティス 最適なクエリパフォーマンスのベストプラクティス

前述のAmazonRedshiftの変更を使用すると、クエリのパフォーマンスが向上し、コストとリソース効率が向上します。パフォーマンスをさらに向上させるために実装できるその他のベストプラクティスは次のとおりです。

  • SORTを使用する WHEREでよく使用される列のキー 句フィルター。
  • DISTKEYを使用する JOINでよく使用される列 述語。
  • 最初のソートキー列を除くすべての列を圧縮します。
  • アクセスパターンなどのクエリフィルタに基づくデータレイク内のパーティションデータ 。

さらにいくつかのベストプラクティスを探るには、Amazon Redshiftの変更を詳しく調べ、詳細なクエリ分析の例を参照して、AWSパートナーネットワーク(APN)ブログを読んでください。

データジャーニーに着手していて、AWSサービスを活用してデータプラットフォームを迅速、確実、かつ費用効果の高い方法で開発したい場合は、今すぐデータエンジニアリング&アナリティクスチームにお問い合わせください。

Onicaサービスの詳細をご覧ください。

コメントや質問をするには、[フィードバック]タブを使用します。 セールスチャットをクリックすることもできます 今すぐチャットして会話を始めましょう。


  1. Windows 10、8、7 向けの 12 のベスト データ シュレッダー ソフトウェア

    データ/ファイル シュレッダー ソフトウェアが必要な理由 コンピュータに保存される情報の範囲は大幅に増加しています。 PC やラップトップで個人情報や機密情報にアクセスするのは簡単ですが、プライバシー侵害からそれらを守ることは困難です。 それらを完全に削除するだけで、PC からすべての情報が消去されると考えています。しかし実際には、ファイルを削除しても、Windows PC から完全に削除されたわけではありません。逆に、ファイルが占めるスペースが他のデータによって上書きされない限り、ファイルは PC に残ります。 では、ファイルを完全に削除するにはどうすればよいでしょうか。これはまさに

  2. Windows 10、8、7 PC 向けの最高の USB データ復元ソフトウェア

    人為的ミスやシステム障害など、データ損失の理由が何であれ、重要なデータを失うことは悲惨な状況になる可能性があります。コンピューターから誤ってファイルを削除してしまった場合、それがごみ箱にある可能性があることがわかっているため、Shift + Delete を実行するまでは元に戻すことができます。ただし、USBフラッシュドライブやHDDなどの外付けドライブからデータが失われた場合、データを取り戻すことは不可能のようです.そうではありません! USB データ回復ソフトウェアを使用して、USB から削除されたファイルを回復し、すべての手間を省くことができます。 この投稿では、USB から削除された