【AWS】Amazon Redshift ~ 入門編 ~

■ はじめに

Amazon Redshift について、徐々にメモっていく

目次

【1】Amazon Redshift
【2】特徴
【3】メリット・デメリット
 1)メリット
 2)デメリット
【4】他DB・サービスとの違い
【5】Redshift の システム構成
 1)Redshiftクラスタ
 2)システム構成
【6】関連用語
 1)Redshift Spectrum

【1】Amazon Redshift

* フルマネージド型のデータウェアハウス
* 名前の由来は、「赤方偏移(せきほうへんい、英: redshift)」かららしい

※ データウェアハウス(DWH:Data WareHouse)

* 基幹系などの複数システムから、必要なデータを収集し、
   目的別に再構成した統合データベース

* データ分析や意思決定に役立てる目的で編成され作られるため、
   BI(ビジネスインテリジェンス)に位置づけられている

* 在庫、財務、小売販売システムなど、
  さまざまなソースからのデータを集めるように設計

【2】特徴

1)PostgreSQL 8.0.2 に基づいている 
2)列指向型(カラムナ)データベース (※ 補足1 を参照)
3)超並列処理(MPP:Massively Parallel Processing)
 => 複数ノードによる分散実行を行う
 (「【5】Redshift の システム構成」を参照)
  cf massively(マッシブリー) = 大規模に、とてつもなく
4)シェアード・ナッシング(Shared Nothing; SN)(※ 補足2 を参照)
5)ゾーンマップ

※ 補足1:列指向型(カラムナ)

* 類似したデータが集まるため、高い圧縮率
* 詳細は、以下の関連記事を参照のこと

https://dk521123.hatenablog.com/entry/2011/02/16/205224

※ 補足2:シェアード・ナッシング
https://www.atmarkit.co.jp/fdb/rensai/10_dwh/02/dwh02_1.html

* DB処理を複数のノードに分散することにより
 処理性能を向上させる仕組み
 => ディスクをノードで共有しない(非共有=シェアード・ナッシング)

補足3:ゾーンマップ

* Redshift では、ブロック単位(1ブロック=1MB)でデータを格納している
* ゾーンマップとは、このブロック内で格納されているデータの
 最小・最大地をメモリに保存する仕組み
 => この仕組みにより、検索条件に該当するかを効率的に判断し
  読み飛ばしたりして高速化を図っている

【3】メリット・デメリット

1)メリット

DBに対するアクセス競合が発生せず、ノードを増やせば増やすほど
リニアに性能が向上する

2)デメリット

あるノードで障害が発生したとき、ほかのノードは障害が
発生したノードのディスク領域にアクセスできないため、
共有ディスク方式(シェアードエヴリシング)と比べると
耐障害性に劣るとされている

【4】他DB・サービスとの違い

* 以下の関連記事を参照のこと。

Amazon Redshift ~ 他DB・サービスとの違い ~
https://dk521123.hatenablog.com/entry/2021/08/29/000000

【5】Redshift の システム構成

1)Redshiftクラスタ

* Redshiftを構成する複数ノードの集まり
* Redshiftクラスタには、
 「1)リーダーノード」と「2)コンピュートノード」とある

2)システム構成

* 構成は以下で成り立っている。
~~~~~~~~~~~~~~
1)リーダーノード(Leader Node)
2)コンピュートノード(Compute Node)
3)マネージドストレージ <= 新しくできた部分
~~~~~~~~~~~~~~

* システム構成図は、以下の公式サイトを参照。

https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c_high_level_system_architecture.html

1)リーダーノード(Leader Node)

* SQL処理コードの解析や実行プラン作成
 => その後、「2)コンピュートノード」に対して実行を促す
 => 司令塔的な存在
* 各クラスタに1台のみ存在

2)コンピュートノード(Compute Node)

* 「1)リーダーノード」から指示されたクエリを処理する
 => ワーカー的な存在
* 『ノードスライス』というRedshiftが分割処理をする最小単位で
 処理を行う

3)マネージドストレージ

* Redshift 管理 S3 バケット

【6】関連用語

1)Redshift Spectrum

* S3上のデータを外部テーブルとして定義し、
 Redshift内に実データを取り込むことなく
 クエリ実行可能にする拡張サービス

https://aws.amazon.com/jp/blogs/news/amazon-redshift-spectrum-exabyte-scale-in-place-queries-of-s3-data/

参考文献

https://www.slideshare.net/AmazonWebServicesJapan/amazon-redshift-20
https://codezine.jp/article/detail/7234
https://developer.medley.jp/entry/2019/07/01/193427
https://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-getting-started-again-aws-redshift/
Redshift の システム構成
https://gihyo.jp/dev/serial/01/redshift/0005

関連記事

Amazon Redshift ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/04/07/124519
Amazon Redshift ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/08/31/171754
Amazon Redshift ~ キャスト ~
https://dk521123.hatenablog.com/entry/2021/09/08/202004
Amazon Redshift ~ 文字列結合 ~
https://dk521123.hatenablog.com/entry/2021/09/09/093855
Amazon Redshift ~ 他DB・サービスとの違い ~
https://dk521123.hatenablog.com/entry/2021/08/29/000000
Amazon Redshift ~ DistStyle / DistKey / SortKey ~
https://dk521123.hatenablog.com/entry/2021/09/04/172021
Amazon Redshift ~ VACUUM ~
https://dk521123.hatenablog.com/entry/2021/09/05/214403
Amazon Redshift ~ 自動採番 / IDENTITY ~
https://dk521123.hatenablog.com/entry/2021/08/31/194134
Amazon Redshift ~ COPY コマンド ~
https://dk521123.hatenablog.com/entry/2021/07/21/214248
Amazon Redshift ~ SHOW TABLE コマンド ~
https://dk521123.hatenablog.com/entry/2023/03/07/152123
Amazon Redshift ~ システムビュー ~
https://dk521123.hatenablog.com/entry/2023/03/06/184928
Hiveテーブルデータ を Redshift に移行するには
https://dk521123.hatenablog.com/entry/2021/09/01/200818
Hiveテーブルデータ を Redshift に移行時のCOPYコマンドエラー
https://dk521123.hatenablog.com/entry/2021/09/03/134359
Glue/Python から Redshift に接続することを考える
https://dk521123.hatenablog.com/entry/2020/08/26/193237
Glue/Spark から Redshift にデータ追加することを考える
https://dk521123.hatenablog.com/entry/2020/09/23/111741
Amazon EMR ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/02/20/230519
NoSQL(Not Only SQL) ~概要~
https://dk521123.hatenablog.com/entry/2011/02/16/205224