Amazon Redshift

Amazon Redshift概要 アーキテクチャ

投稿日:

やはりAWSの公式のドキュメンテーションは読みやすいので、
公式を上から順に舐めていくスタイルで理解していく。
今回は一番最初のアーキテクチャ概要。

アーキテクチャ

大きなデータを扱おうとする何かは分散アーキテクチャで解決しようとする。
と言っても、大抵は”代表するノード”と”ワーカーノード”のセットなのでデジャブ感がある。
ちなみにTableauServerが内部設計を細かく書いていて面白かった。

以下、Amazon Redshiftのアーキテクチャを表す図. (公式)

  • Amazon Redshiftは複数のクラスタから構成される。
  • クラスタはリーダーノードと複数のコンピューティングノードから構成される。
  • クライアントアプリケーションからは唯一リーダーノードと呼ぶノードを参照できる。
  • コンピューティングノードはクライアントアプリケーションから見えない場所に配置されリーダーノードが代表してコンピューティングノードを操作する。

リーダーノード

  • クライアントアプリケーションは PostgreSQL用の JDBC/ODBCドライバを使用してリーダーノード通信できる。
  • 実行計画に基づいてコードをコンパイルしコンパイル済みのコードをコンピューティングノードに配布してからデータの一部を各コンピューティングノードに割り当てる。

コンピューティングノード

  • コンパイル済みのコードを実行し中間結果をリーダーノードに返送する。
  • 中間結果はリーダーノードで最終的に集計される。
  • コンピューティングノードのCPU、メモリ、ストレージはノードのタイプによって異なる。ノードの数、種類を増強することでスケールアップできる。

ノードスライス

  • コンピューティングノードはスライスに分割されている。
  • 各スライスにはノードのメモリとディスク容量の一部を割り当てられている。
  • リーダーノードがスライスへのデータ分散を管理し、クエリ、データベース操作のワークロードをスライスに分配する。
  • スライスは並列処理を行って操作を完了する。

内部ネットワーク

  • リーダーノードとコンピューティングノードの間はプライベートで非常に高速なネットワーク。
  • コンピューティングノードは独立したプライベートネットワークに配置される。

RDBとの互換性

  • Amazon Redshift は PostgreSQLを大規模データ用に拡張したミドルウェアである。
  • 標準的なRDBMSと同様にデータの挿入、削除、トランザクション処理を実行できる。行指向から列指向に拡張されており、行指向を前提としたクエリは苦手。

-Amazon Redshift
-

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