ある企業が、Amazon Aurora MySQL でオンライントランザクション処理(OLTP)と分析クエリ(OLAP)を同じデータベースで実行しており、長時間実行される分析クエリが OLTP のパフォーマンスに悪影響を与えている。分析クエリを OLTP から分離し、できるだけリアルタイムに近いデータで分析したい。最も適切なソリューションはどれか。
- A. Amazon Athena で S3 に保存した Aurora の日次バックアップを直接クエリする。
- B. Aurora の読み取りレプリカを追加し、OLAP クエリをレプリカエンドポイントに向ける。
- C. Amazon Redshift クラスターを構築して Aurora のデータを定期的(毎時)に ETL でロードし、分析クエリを Redshift で実行する。
- D. Amazon Aurora に Aurora Zero-ETL 統合を使って Amazon Redshift にリアルタイムでデータを連携し、分析は Redshift で実行する。
解答と解説を見る
正解: D
Amazon Aurora と Amazon Redshift の Zero-ETL 統合は、Aurora のデータ変更をほぼリアルタイム(数秒〜数分以内)で Redshift に自動的にレプリケーションする機能である。ETL パイプラインの構築・管理が不要で、OLTP ワークロードへの影響なしにリアルタイムに近い分析が可能になる。選択肢CのRedshift への定期 ETL は毎時のバッチ処理であり、「できるだけリアルタイムに近い」という要件を満たさない。また ETL パイプラインの構築・管理コストも発生する。選択肢BのAurora 読み取りレプリカへの OLAP クエリ分離は一般的な方法だが、長時間の複雑な分析クエリはレプリカのリソースを圧迫し、レプリケーションラグを引き起こす可能性がある。また Redshift と比較すると列指向ストレージ等の分析最適化がない。選択肢Aは日次バックアップを使うため最大 24 時間のデータ遅延が発生し、「リアルタイムに近い」要件を満たさない。
📚 関連サービスの解説: Amazon Aurora ・ Amazon Redshift