Amazon Redshift Spectrumとは?
Amazon Redshiftのデータウェアハウスサービスにおいて、分散型クエリエンジンを使用してAmazon S3内のデータを直接クエリできる機能を提供するサービスです。これにより、Amazon Redshiftのクラスタ内にデータをロードせずに、Amazon S3に格納されているデータをクエリおよび分析できます。
主な特徴と機能
外部テーブル:
Redshift Spectrumでは、外部テーブルを定義してAmazon S3に格納されているデータを仮想的にRedshiftに統合します。外部テーブルは、Amazon S3のデータのメタデータやスキーマ情報を保持します。
クエリ実行:
Redshift Spectrumを使用すると、Amazon Redshiftクラスタ内でSQLクエリを実行できます。このクエリは、Amazon S3内のデータに対して直接実行され、結果をRedshiftクラスタに返します。データはクエリ発行時に読み込まれ、Amazon S3に格納されたままです。
分散型処理:
Redshift Spectrumは、データを分散して処理し、大規模なデータセットに対して迅速にクエリを実行できるように設計されています。これにより、パフォーマンスの向上が期待できます。
異種データフォーマットのサポート:
Redshift Spectrumは、Amazon S3に格納されたデータが異なるデータフォーマット(Parquet、ORC、Avro、JSONなど)であってもサポートします。これにより、様々なデータソースを統合してクエリできます。
コスト効果:
Redshift Spectrumは、クエリ実行時にのみAmazon S3上のデータを読み込むため、データのロードやストレージコストを最小限に抑えつつ、必要なときにデータにアクセスできるメリットがあります。
主な使用目的
大規模なデータセットの分析:
Redshift Spectrumは、Amazon S3に格納された大規模なデータセットに対してクエリを実行できるため、データウェアハウスのデータを拡張し、過去のデータや外部データなどにもアクセスできます。これにより、ビジネスインテリジェンスや分析のニーズに柔軟に対応できます。
非構造化データ:
Redshift Spectrumは非構造化データをサポートしており、JSON、Parquet、Avroなどのフォーマットに対してクエリを実行できます。これにより、セミ構造化データや階層的なデータ構造を含むデータにも対応できます。
構造化データ:
同様に、Redshift Spectrumは構造化データもサポートしています。CSV、TSV、または他の通常のテーブル形式のデータもクエリ可能です。これにより、従来のデータウェアハウスの形式に従ったデータも利用できます。
複数のデータフォーマットの混在:
同じAmazon S3バケット内で複数のデータフォーマットを混在させて保存することも可能です。Redshift Spectrumは異なるデータフォーマットを理解し、それらをクエリできます。