IT人材をお探しの方は、まずはお電話ください。担当営業がすぐにご要望にマッチした人材をご提案いたします。
tel:03-6409-6766 お急ぎの方はお電話ください

ブログTOP > IT・技術関連 > 「Amazon Redshift」とは?「Amazon Redshift Spectrum」の利用方法を紹介!

「Amazon Redshift」とは?「Amazon Redshift Spectrum」の利用方法を紹介!

IT・技術関連 更新日:2024.09.05
エンジニア採用
「Amazon Redshift」とは?「Amazon Redshift Spectrum」の利用方法を紹介!

「Amazon Redshift」とは

「Amazon Redshift」とは、AWS上で利用できるマネージド型の「データウェアハウス(DWH)」サービスです。

なお「データウェアハウス」とは、企業活動を通じて蓄積したデータを分析しやすく整理したデータベースの一種です。ビジネス上での意思決定時の判断材料として利用することが想定されています。

「Amazon Redshift」の特徴

「Amazon Redshift」の特徴は、リソースの制限がないクラウドの特性を活かし、スケールアウトしながらペタバイト級の大規模データを扱える点です。

加えて大規模でありながらも高速なデータ分析処理が可能となっています。

「Amazon Redshift」を選択するケース

データ分析サービスとして「Amazon Redshift」を選択するケースについて解説します。

AWS上のデータ分析サービスとしては、「Amazon EMR」や「Amazon Athena」等があります。

「Amazon Redshift」をこれらのデータ分析サービスと比較すると、SQLでデータ分析したいという要件があり、「データレイク」との連携を要求される場合は、「Amazon Redshift」を選択するケースが一般的です。

AWSにおける「データレイク」とは

上述したAWSにおける「データレイク」とは、「Amazon S3」のストレージ利用方法の一つで、様々な形式のデータを一元管理するためのリポジトリ(データの貯蔵庫)です。

一般的なリポジトリとは異なり、「構造化データ」と「非構造化データ」の両方の形式をそのまま保存することが可能です。

「Amazon Redshift」が登場した理由

「Amazon Redshift」が登場した背景について解説していきます。

「Amazon Redshift」は、AWSにおけるデータウェアハウス(DWH)サービスですが、一般的なDWHとの違いについて明確にしていきます。

従来のデータウェアハウスの課題

従来のデータウェアハウス(DWH)の課題として、用途に応じてデータを加工し、保存しておく必要があります。

つまりDWHは、データを加工する「処理」の機能と、データを保存していく「蓄積」の機能の両方が含まれており、これらの機能が密接に結合しており片方だけを変更することが困難です。

例えば、新しい分析用の「処理」を導入しようとしても、「蓄積」してある加工済データをそのままでは利用することができません。

AWSの「データレイク」による解決

前述の課題解決方法として、AWSでは「データレイク」というデータ保存方法を最初にサービス提供しました。

このデータレイクにより、データを加工しない状態のままで保存することが可能になりました。また「Amazon S3」がストレージとして用いられているので、データの大規模化にも問題なく対応可能となっています。

新しい分析処理方法を導入する際に、その処理に合わせてデータを加工すればよくなり、ビジネスの展開に合わせてスピーディーに分析手法を変更することが可能です。

AWSの「Amazon Redshift」による解決

AWSの「データレイク」サービスの提供によって、データの「蓄積」の課題は解決しました。

しかし、「処理」と「蓄積」の機能を分離したことで、通常のデータウェアハウスでは対応できなくなりました。一般的なデータウェアハウスでは、「処理」と「蓄積」の機能を密接に連携することで、高速なデータ分析処理を可能としているからです。

そこで、分離した「処理」機能側を担うサービスとして、「Amazon Redshift」が登場しました。

「Amazon Redshift Spectrum」について

「Amazon Redshift」の登場によって、データウェアハウスサービスをAWS上で便利に利用できるようになりました。しかし、分析対象データの多様化と大規模化が進むにつれて、新たな問題が浮上してきました。

こちらの問題と、その解決方法として登場した「Amazon Redshift Spectrum」について解説していきます。

「Amazon Redshift」での課題

データウェアハウスによる分析対象のデータが大規模化・多様化にするに伴い、「Amazon S3」からデータをコピーするのに時間が掛かるという「Amazon Redshift」ならではの課題が発生しました。

この原因としては、「Amazon S3」内の分析対象データ自体をスケールアウトしづらいためです。「Amazon Redshift」側でデータコピー用インスタンス(ノード)を増やせますが、その分だけ大幅なコスト増が問題になります。

「Amazon Redshift Spectrum」とは

「Amazon Redshift Spectrum」とは、「Spectrum層」と呼ばれる処理層を設けることで、AWSのストレージサービスである「Amazon S3」側のスケールアウトを代理で行うサービスです。

上述した「Amazon Redshift」での課題を解決するためのサービスとして登場しました。

「Amazon Redshift Spectrum」の特徴

「Amazon Redshift Spectrum」の特徴は、「Amazon Redshift」と「Amazon S3」の間を連携する点です。

具体的には、「Amazon Redshift」側でのスケールアウトが不要になるため、データ大規模化に比例したコストを抑制することが可能です。

「Amazon Redshift Spectrum」のデータ定義

「Amazon Redshift Spectrum」のデータ定義方法としては、「Amazon S3」上のデータについて、データベースの「テーブル」の形式で事前に定義しておく必要があります。

これにより「Amazon S3」からのデータ読込み処理が不要となり、「Amazon S3」をデータベースのようにSQLで直接操作することが可能となります。

「Amazon Redshift Spectrum」の利用方法

「Amazon Redshift Spectrum」の利用方法について解説します。

「Amazon Redshift」自体も、AWSにおけるいわゆる「フルマネージドサービス(インフラに関する管理が不要)」のため、簡単な操作だけで利用することができます。

「Amazon S3」に分析対象のデータを配置する

最初に、「Amazon S3」のバケットに、分析対象のデータを配置します。

サポートしているフォーマット形式としては、テキスト形式 (CSV等)、PARQUETやRCFILE等があります。なお高速なアクセスを実現するためには、データをパーティショニングして保存することが推奨されています。

また「Amazon S3」にアクセスするための「IAMロール」を用意しておきます。

「Amazon Redshift Spectrum」用の外部スキーマを作成する

「CREATE EXTERNAL SCHEMA」というステートメントを使用して、「Amazon Redshift Spectrum」用の「外部スキーマ」を作成します。

なおここでの「スキーマ」とは、AWS上では「データベース」と同じ意味で使用されています。

「Amazon Redshift Spectrum」用の外部テーブルを作成する

外部スキーマと同様に、「CREATE EXTERNAL TABLE」ステートメントで「外部テーブル」を作成します。

つまり、「Amazon S3」に配置された分析対象データを「外部テーブル」として定義します。

クエリ(問い合わせ言語)を実行する

これまでの手順で、「Amazon S3」上のデータがデータベースのテーブルのように扱えるようになりました。

それでは、SELECT文等の通常のSQLを実行して、「Amazon S3」上のデータを参照してみます。

「Amazon Redshift Spectrum」を活用するためのポイント

最後に、「Amazon Redshift Spectrum」を活用するためのポイントについて解説します。

AWSの公式サイトで「ベストプラクティス」が提示されていますので、そちらも合わせてご紹介します。

「Amazon S3」上のデータの直接操作

「Amazon Redshift」のクエリをそのまま使用して、「Amazon S3」上のデータを直接操作することが可能な点がメリットです。

またローディング(データの読込み処理)に掛かる時間的なコストが不要になります。そのため分析処理が高速化しやすくなります。

複数の「Amazon Redshift」クラスターによる「Amazon S3」のデータ共有

複数の「Amazon Redshift」クラスターによる「Amazon S3」のデータ共有が可能です。

「Amazon S3」に対する負荷が分散されるので、システム全体での並列処理性能が向上します。また「Amazon Redshift」クラスターを異なるアベイラビリティゾーンに配置することで、「可用性」を向上させることも可能です。

「Amazon Redshift Spectrum」のベストプラクティス

「Amazon Redshift Spectrum」のベストプラクティスとしては、テーブルをパーティショニングすることでデータ検索時間を短縮する方法や、「Spectrum層」への処理の移動等があります。

AWS社の公式サイトを参考に、これらのベストプラクティスを活用していきましょう。

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニアAWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。

・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
ITエンジニアの派遣を利用したい企業様へ
ITエンジニアを派遣で採用したい企業様へ
  • 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
  • すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!

当社のITエンジニア派遣サービスは

  • 派遣スピードが速い!(最短即日)
  • 4,500名のエンジニアから貴社にマッチした人材を派遣
  • 正社員雇用も可能

こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。

無料相談のお申し込みはこちら
IT・技術関連の記事一覧へ

カテゴリから記事を探す

すべての記事一覧へ