グローバル小売企業が、複数のデータソースを統合した分析基盤を構築しています。 【現在のデータ環境】 - 本番トランザクションデータ:Amazon Aurora PostgreSQL(各リージョン合計10TB) - アーカイブデータ:Amazon S3データレイク(5年分、Parquet形式、合計5PB) - 財務集計データ:東京リージョンのAmazon Redshift(500TB) - BIツール:複数事業部門がAmazon QuickSightとサードパーティBIツールを使用 【要件】 1. データエンジニアリングチームがS3データレイクと本番AuroraにSQLでアドホッククエリを実行したい 2. データサイエンスチームがRedshiftのデータとS3データを組み合わせて分析・ML用途で利用したい 3. 各事業部門のBIアナリストは自部門のデータのみ参照可能にしたい(データは1つのRedshiftクラスターで管理) 4. 本番AuroraデータベースへのBI分析クエリによる影響を最小化したい 5. 追加のETLパイプライン開発リソースがないため、ETL数を最小化したい 【制約】 - 追加ETL開発リソースなし - データエンジニアリングコストを最小化 この要件を最も効率的に満たすアーキテクチャはどれですか?
Redshift Spectrumを使用するとS3のParquetデータをETLなしで直接SQLクエリでき、Federated QueryでAurora PostgreSQLへの直接クエリが可能となりデータコピーが不要になります。Redshift Data SharingはRedshift内のデータを事業部門別の「コンシューマー名前空間」に論理的に分割して共有する機能で、各部門へのきめ細かいアクセス制御が可能です。これら全てがETLパイプライン追加なしで実現できます。 選択肢Aの「全データをAWS Glue ETL」はETL開発が必要でリソース制約に反します。 選択肢Cの「Amazon Athena」はRedshiftデータの毎夜UNLOADでリアルタイム性が損なわれ、データが重複保存されます。 選択肢Dの「Amazon EMR」はEMRクラスター管理コストが高く、要件に対してオーバーエンジニアリングです。