Amazon Redshift

ペタバイト規模のデータを列指向ストレージと大規模並列処理で高速に分析できるフルマネージドなクラウドデータウェアハウスサービス

概要

Amazon Redshift は、大規模なデータ分析に特化したフルマネージドなクラウドデータウェアハウスです。列指向ストレージ、大規模並列処理 (MPP)、自動圧縮、ゾーンマップなどの技術により、ペタバイト規模のデータに対する複雑な分析クエリを高速に実行できます。Redshift Serverless を使えば、データウェアハウスのプロビジョニングや管理なしに、クエリの実行時間に基づく従量課金でデータ分析を開始できます。Redshift Spectrum を使えば、S3 上のデータを Redshift にロードすることなく直接クエリでき、データレイクとデータウェアハウスを統合した分析基盤を構築できます。AQUA (Advanced Query Accelerator) はストレージレイヤーにコンピューティング能力を追加し、特定のクエリパターンを最大 10 倍高速化します。

Redshift のアーキテクチャと性能最適化

Redshift はリーダーノードとコンピュートノードで構成される MPP アーキテクチャを採用しています。リーダーノードがクエリの解析と実行計画の作成を担当し、コンピュートノードがデータの保存と並列処理を実行します。列指向ストレージにより、分析クエリで必要な列のみを読み取るため、行指向データベースと比較して I/O を大幅に削減できます。データは自動的に圧縮され、圧縮率はデータの特性に応じて最適なアルゴリズムが自動選択されます。ソートキーを適切に設定すれば、ゾーンマップによるブロックスキップが効果的に機能し、スキャン対象のデータ量をさらに削減できます。ディストリビューションキーの設計も重要で、結合頻度の高いテーブル間で同じキーを使用することで、ノード間のデータ転送 (シャッフル) を最小化できます。

Azure Synapse Analytics との比較

Azure で Redshift に対応するサービスは Azure Synapse Analytics (旧 SQL Data Warehouse) です。両者とも MPP アーキテクチャを採用したクラウドデータウェアハウスですが、いくつかの違いがあります。Redshift は独自の PostgreSQL 互換 SQL を使用するのに対し、Azure Synapse は T-SQL (SQL Server 互換) を使用します。Redshift Spectrum は S3 上のデータを直接クエリできますが、Azure Synapse の同等機能である Serverless SQL Pool は Azure Data Lake Storage 上のデータを対象とします。料金面では、Redshift の RA3 ノード (ra3.xlplus) は時間あたり約 1.235 ドル (東京リージョン) で、Azure Synapse の DW100c は時間あたり約 1.51 ドルです。Redshift Serverless は RPU (Redshift Processing Unit) ベースの課金で、クエリを実行していない時間は課金されないため、断続的な分析ワークロードではコスト効率が高くなります。