はじめに
本記事では、Amazon Redshiftとは何かについて、初心者目線で分かりやすく解説いたします。
ぜひ最後までご覧ください。
Amazon Redshiftとは?
ざっくり解説すると…
・フルマネージド型のデータウェアハウス
・大量データの集計と分析に向いている
データウェアハウスとは
Redshiftについて説明する前に、データウェアハウスについて整理しておきましょう!
データウェアハウスとは、業務で発生した各種情報を時系列に保管したデータベースのことを指します。
ウェアハウスは「倉庫」という意味があることから、データウェアハウスとは、あらゆる情報をまとめた大容量のストレージのようなものです。
Amazon Redshiftの特徴
Redshiftは列指向データベースであり、大量のデータを高速に分析することが可能です。
列指向データベースとは、列単位でデータの保存を行うデータベースのことです。
縦方向にデータを抜き出して分析・集計の処理を行うことが可能です。
ちなみに、データベースの処理にはもう1種類あり、それが行指向データベースです。
行指向データベースは、行単位でデータを保持・取り出し、追加更新削除のようなトランザクション処理が得意です。
トランザクション処理とは
「商品を渡して、代金を受け取る」のように、ある流れがワンセットになっている処理のこと。
例としてわかりやすいのが「銀行口座からの引き出し」です。これは「預金残高から一定の金額を引き出す」という処理と「引き出した金額分を預金残高から減らす」という処理が連動して行われていますね。
行指向型データベースとしては、Amazon RDSがあります。
Amazon RDSやAmazon Auroraは、データ更新を得意とし、オンライントランザクション処理(OLTP)に使われます。
一方で「Amazon RedshiftとPostgreSQLの違い」でも記載したようにAmazon Redshiftは高度なデータ分析を得意とし、大量データを高速に分析できることが特徴です。
AWSでDWHやデータ分析基盤の構築を検討する際は、まずRedshiftが選択肢になることを覚えておきましょう。
Amazon Redshiftの基本概念
例えば、EC2インスタンスからデータ分析用の重いクエリ処理をAmazon RDSに依頼したとします。
この場合、Amazon RDSに負荷がかかってしまいますよね。
こういった場合にAmazon Redshiftが有用です。
RDSのデータをコピーしてRedshiftに集め、そこで分析処理を行う流れが可能になります。
分析には、QuickSightなどの別AWSIサービスを使用します。
Amazon Redshiftの構成要素
Amazon Redshiftはノードと呼ばれるコンピューティングリソースの集まりで構成されています。
Redshiftで処理をする場合、リーダーノードと呼ばれるノードが処理の受付をします。
このリーダーノードは、コンピュターノードというノードに対して処理を依頼します。
このノードの集まりのことをクラスターと言います。
Amazon Redshiftの機能
続いて、Amazon Redshiftの機能についてご紹介していきます!
クラスターの再配置機能について
Amazon Redshiftのクラスターは1つのAZ内で構成します。
そういった場合に備えて、Redshiftを冗長化できるCross-AZ cluster recoveryという機能があります。
Cross-AZ cluster recoveryは、Amazon Redshiftを再配置を使用して、データの損失やアプリケーションの変更なしに、クラスターを別のアベイラビリティーゾーン(AZ)に移動できる機能です。
この機能を用いることで、クラスターでサービスが中断された場合でも、影響を最小限に抑えて操作を続行できます。
追加料金は無しでこの機能を使用することが可能です。
スナップショット機能
クラスターのスナップショットを別のリージョンにコピーするように設定が可能です。
スナップショットのコピーを設定するには、各クラスターでコピー機能を有効にし、スナップショットをコピーする場所と、コピーされたスナップショットをコピー先 AWS リージョンに保持する期間を設定する必要があります。
スナップショットとは、ある時点でのファイル、ディレクトリ、データベースファイルなどの状態を抜き出したもののこと。
Amazon Redshiftのユースケース
Amazon Redshiftは、以下のようなユースケースがあります。
・経営ダッシュボード
・小売り・流通業のダッシュボード
・ETL/パッチ
・機械学習の前処理
主に、大容量データを高速に集計・分析する必要のあるワークロードに向いています。
最後に
本記事では、Amazon Redshiftについて解説しました。。
Amazon Redshiftは、フルマネージド型のデータウェアハウスであり、大量データの集計と分析に向いているサービスということが分かりました。
要件にあわせて、上手に活用していきましょう!