Amazon Redshift

Amazon Redshift概要 パフォーマンス総論

投稿日:

概要

各論に入る前に総論。 MPPでクエリ実行するために必要な制限事項を設計/実装するために、
とりあえず、何故その制限事項が必要なのかを理解しておく必要がありそう。

並列処理

  • MPP(Massively Prallel Processing). シンプルで安価なプロセッサを多数集積して一台のコンピュータとする手法.
  • 各ノードの各コアは、同じコンパイル済みクエリセグメントをデータ全体の一部分に対して実行する。
  • テーブルの行をコンピューティングノードに分配し分散処理する。

列指向

  • 通常のアプリケーションとデータウェアハウスではクエリで取得したいデータが異なる.
  • 通常のアプリケーションは行の大方の列が欲しい一方で、データウェアハウスは行の中の一部の列が欲しい。
  • データウェアハウスが1行の全ての列を取得する方式を使用すると、ほとんどの列は無駄になってしまう.
  • ある行の1列にだけ関心がある状況で15行分欲しい場合、行指向であれば100回、列指向であれば5回のディスクI/O。

データ圧縮

  • 列指向で同じ列のデータを取る場合、同じ列に入るデータの乱れ方には傾向があるはずなので、データ圧縮が効きやすい。
  • データ圧縮によりディスクI/Oがさらに減少する。

クエリオプティマイザ

  • MPP対応のクエリオプティマイザ。複数のコンピューティングノードで並列処理するための最適化が走る。

結果のキャッシュ

  • リーダーノートでキャッシュする必要性があるクエリと結果をキャッシュする。
  • サイズの大きなクエリ結果セットはキャッシュしない。
  • キャッシュするか否かは、キャッシュ内のエントリ数とAmazon Redshiftクラスターのインスタンスタイプが含まれる。

-Amazon Redshift
-

Copyright© ikuty.com , 2020 AllRights Reserved Powered by AFFINGER4.