Amazon Web Services ブログ
Amazon Redshift のデータ圧縮の強化で圧縮率が最大 4 倍に
今回は、Amazon Redshift シニアプロダクトマネージャーの Maor Kleider からのゲスト投稿です。
-Ana
Amazon Redshift は、ペタバイト規模の高速なフルマネージド型データウェアハウスサービスであり、すべてのデータをシンプルにコスト効率よく分析できます。多くのお客様 (Scholastic、King.com、Electronic Arts、TripAdvisor、Yelp など) は、Amazon Redshift に移行して機敏性を実現し、洞察が得られるまでにかかる時間を短縮して、同時にコストも大幅に削減しています。
列指向の圧縮は、Amazon Redshift の重要なテクノロジーです。このテクノロジーにより、ノードの効果的なストレージ容量を増やしてコストを削減し、SQL リクエストの処理に必要な I/O を削減してパフォーマンスを向上させることができます。I/O の効率を高めることは、データウェアハウスに非常に重要です。昨年、I/O の向上に伴ってクエリスループットは倍増しました。この度、Amazon Redshift に新しい圧縮の強化機能が追加されました。以下に、いくつかをご紹介します。
まず、Zstandard 圧縮アルゴリズムのサポートが追加されました。このアルゴリズムは、ビルド 1.0.1172 での高い圧縮率とスピードを適切なバランスに維持します。標準の TPC-DS、3 TB ベンチマークで raw データに適用した場合、Zstandard はディスク容量の 65% を節減します。Zstandard は幅広く適用できます。SMALLINT、INTEGER、BIGINT、DECIMAL、REAL、DOUBLE PRECISION、BOOLEAN、CHAR、VARCHAR、DATE、TIMESTAMP、および TIMESTAMPTZ のいずれのデータ型にも使用できます。
2 番目として、CREATE TABLE AS、CREATE TABLE、ALTER TABLE ADD COLUMN の各コマンドで作成されたテーブルに対する圧縮の自動化が強化されました。Amazon Redshift のビルド 1.0.1161 以降では、これらのコマンドで作成された列のデフォルト圧縮が自動的に選択されます。パフォーマンスを低下させずにディスク容量を節減できるような場合は、自動圧縮が行われます。ディスク容量は、最大 40% 削減されます。
3 番目に、引き続き内部オンディスクデータ構造が最適化されています。プレビュー版をご利用のお客様は、この機能改善により、ディスク容量の使用量を平均して 7% 削減しました。この機能はビルド 1.0.1271 から提供されています。
最後に、ディスク容量の削減量を推定するための ANALYZE COMPRESSION コマンドが強化されました。これまで以上にデータを圧縮してパフォーマンスを向上させる機会が増えました。データは、バックグラウンドでサンプリングされて、最も効果的な圧縮が推奨されます。お客様の判断で、推奨された暗号化を使用するか、別の適切な暗号化を指定できます。
「最近追加されたすべての圧縮機能を利用するまでは、当社の最大のテーブルは 7 TB を超えていました。それが今は 4.85 TB までになり、ディスク容量は 30.7% も節減されました。これにより、ディスク容量は合計で 4 分の 1 に削減でき、非圧縮データに基づく有効原価は 250 USD/TB/年未満になります。Amazon Redshift で分析できるデータ量が増え、これまで以上にクエリのパフォーマンスが向上しました」Chuong Do (Coursera 社の Director of Analytics)
無論、実際にクラスターに適用した場合の効果は、ワークロードとデータに応じて異なります。以上の強化機能を組み合わせた場合、データの圧縮は、従来の通常の 3 分の 1 に対して、最大 4 分の 1 になると思われます。
Amazon Redshift データウェアハウスのコストはわずか 1,000 USD/テラバイト/年であるとお聞きになったことがあるかもしれません。これは圧縮後のデータに基づくコストである点にご注意ください。AWS では、データは圧縮されて保存されます。AWS 以外のベンダーではそうでない場合があります。多くのベンダーはデータを圧縮しますが、コストは非圧縮データのテラバイトに基づいています。嘆かわしいことです。データを圧縮しても非圧縮データとして課金するのは法外と言わざるを得ません。
-Maor Kleider