Amazon S3 の 3 種類のバケットタイプを比較してみた
Amazon S3 の 3 種類のバケットタイプ
Amazon S3 には現在、「汎用バケット」 「ディレクトリバケット」 「テーブルバケット」という 3 種類のバケットタイプがあります。それぞれの特徴と違いを簡潔に解説します。
1. 汎用バケット(General Purpose Bucket)
基本的な特徴
- S3 の標準的なバケットタイプ
- 少なくとも 3 つの AZ にデータを複製
- 無制限のストレージ容量とオブジェクト数
主なユースケース
- 一般的なファイル保存
- 静的ウェブサイトホスティング
- バックアップとアーカイブ
- データレイク
一言でいうと
「多機能で汎用性の高い標準的なストレージ」
2. ディレクトリバケット(Directory Bucket)
基本的な特徴
- S3 Express One ストレージクラス専用
- 単一の AZ 内にデータを保存
- 超低レイテンシー(最大 10 倍の読み取り性能向上)
- 高スループット(従来の約 10 倍)
主なユースケース
- 機械学習のトレーニングデータ
- 高性能コンピューティング
- レイテンシーに敏感なアプリケーション
- メディア処理
機能制限
- バージョニング非対応
- ライフサイクルポリシー非対応
- レプリケーション非対応
- 静的ウェブサイトホスティング非対応
一言でいうと
「超高速アクセスに特化した単一 AZ のストレージ」
3. テーブルバケット(S3 Tables)
基本的な特徴
- Apache Iceberg テーブル形式を使用
- 構造化データに最適化
- SQL クエリを直接実行可能
- スキーマ管理とインデックス機能
- データ分析向けに設計
主なユースケース
- 構造化データの分析
- ログデータのクエリ
- IoT データ処理
- アドホックな分析クエリ
一言でいうと
「SQL で直接クエリできる構造化データ向けストレージ」
3種類の簡易比較表
特性 | 汎用バケット | ディレクトリバケット | テーブルバケット |
---|---|---|---|
主な目的 | 汎用ストレージ | 超高速アクセス | データ分析 |
データ保存場所 | 複数 AZ(リージョン全体) | 単一 AZ | 不明(明記なし) |
レイテンシー | 標準 | 超低(最大10倍の性能向上) | 分析ワークロード向けに最適化 |
その他 | 全 S3 機能対応 | 超高速アクセス | SQL クエリ、Apache Iceberg 形式 |
制限 | ほぼなし | バージョニング、ライフサイクル等の機能制限あり | データ形式制限あり |
コスト | 標準 | 高め | クエリ量に依存 |
どれを選ぶべき?簡単な判断基準
-
汎用バケット を選ぶ場合
- 様々なタイプのデータを保存したい
- S3 の全機能を使いたい
- コスト効率を重視したい
-
ディレクトリバケット を選ぶ場合
- 超低レイテンシーが必要
- 高いスループットが必要
- 単一 AZ での保存で問題ない
-
テーブルバケット を選ぶ場合
- 構造化データを扱う
- SQL でデータを直接クエリしたい
- データ分析が主な目的
- Apache Iceberg テーブル形式を活用したい
まとめ
AWS S3 の 3 種類のバケットタイプは、それぞれ異なるユースケースに最適化されています。汎用バケットは多機能で柔軟性が高く、ディレクトリバケットは超高速アクセスに特化し、テーブルバケットは構造化データの分析に適しています。
ワークロードの特性に合わせて最適なバケットタイプを選択することで、パフォーマンス、コスト、機能性のバランスを取ることができます。
参考文献
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。