見出し画像

AWS_ノードとは&Redshiftの基本構成 #332日目

よく理解できていなかった単語について調べました。
今回は「ノード」と「distkey」でした。

ノードはコンピュータ関連の基礎的なワードで、distkeyはAmazon Redshiftにおけるデータベースのオプションです。

それぞれ整理してみます。


ノードとは

ノードは「結び目・中心点」などの意味を持つ単語で、コンピュータネットワークにおいては「ネットワークに繋がっている1つ1つの機器」を指します。

コンピュータをはじめ私たちが使っているPCやスマホもノードですし、ネットワークの交通整理をするルーターやハブ、もちろんサーバーもノードです。

一方、ノードとノードをつなげているもの(ケーブルなど)のことは、「リンク」もしくは「エッジ」と呼ぶことがあります。


Redshiftの基本構成

Amazon Redshiftの基本構成ではこのノードという言葉が出てきます。

Redshiftは「PostgreSQL」がベースとなって開発されているデータウェアハウスで、クラスターという単位で管理されます。以下が基本構造の全体図です。

Amazon Redshiftのアーキテクチャ

クラスターには1つ以上のリーダーノード・コンピューティングノードが含まれています(シングルノードの場合はリーダーとコンピューティングの両機能を併せ持った1台構成になる)。

Leader Node (リーダーノード):
クライアントアプリケーションとのインターフェースです。SQL解析、コンピューティングノードへのタスク割り振り、テーブル情報や統計情報の保持を行います。

Compute Node (コンピューティングノード):
リーダーノードがSQLを解析して生成したタスクを受け取って実際の処理を行います。各コンピューティングノードは専用のメモリ、CPU、ストレージを持っており、コンピューティングノードの台数やスペックによってクラスターのスペックが決まります。台数としては最大100台並べられます。

Node Slice (ノードスライス):
これがRedshiftの肝です。1vCPU*につき1つのノードスライスが割り当てられます。実際のデータはこのノードスライスに分散して格納され、リーダーノードはスライスに対してデータの配置を管理し、SQLの実行などもスライスに対して行います。また、各スライスは独立しているため、並列に処理させることが可能です。

*物理コア(CPU)を仮想的に複数のコア(vCPU)に分割した単位

distkey (分散キー):
本日のきっかけとなったワードです。distkeyとはノードスライスにデータを振り分けるときの基準となるカラムのことを指します。分散キーはテーブルに対して1つしか設定できません。

Amazon S3:
Redshiftクラスタに保存されているデータのバックアップ先として用いられています。起動中のクラスタと同じ容量まで無料で利用でき、デフォルトで1日に1度自動でスナップショットが保存されるようにスケジュールされています。


以上、本日のまとめでした。
ここまでお読みいただきありがとうございました!


参考

https://www.cloud-koubou.jp/news-blog/1127/


この記事が気に入ったらサポートをしてみませんか?