Skip to content

Athenaとは?

Athenaは、S3上のデータを標準SQLで直接分析できる、サーバーレスなクエリサービスです。

概要:
- インフラ管理不要
- 自動スケーリング
- 従量課金(スキャンデータ量)
- SQLクエリ対応
特徴:
- サーバープロビジョニング不要
- 即座にクエリ実行可能
- 同時クエリ実行
- JDBC/ODBC接続サポート
構造化データ:
- CSV
- TSV
- JSON
- Parquet(推奨)
- ORC
- Avro
圧縮形式:
- GZIP
- SNAPPY
- LZO
- BZIP2
メリット:
Parquet/ORC:
- 列指向フォーマット
- 高圧縮率
- クエリ高速化
- コスト削減
主要:
- Amazon S3
フェデレーテッドクエリ:
- RDS(MySQL、PostgreSQL)
- Aurora
- DynamoDB
- Redshift
- OpenSearch
- オンプレミスデータベース(Lambda経由)
構成要素:
データソース:
- S3バケット
- パーティション構造
Glue Data Catalog:
- テーブル定義
- メタデータ管理
- スキーマ情報
Athena:
- クエリエンジン(Presto/Trino)
- クエリ実行
結果保存:
- S3バケット(クエリ結果)
- 最大保持期間設定可能
概念:
- データの論理的な分割
- クエリスキャン量削減
- コスト削減・高速化
構造例:
s3://bucket/data/
year=2024/
month=01/
day=01/
data.parquet
day=02/
data.parquet
month=02/
...
クエリ例:
SELECT * FROM logs
WHERE year='2024' AND month='01'
→ 該当パーティションのみスキャン
役割:
- テーブル・スキーマ定義
- パーティション管理
- データ型管理
作成方法:
手動:
- AthenaコンソールでCREATE TABLE
Glue Crawler:
- 自動スキーマ推測
- パーティション自動検出
- 定期実行可能
概念:
- クエリの論理的なグループ化
- リソース管理
- アクセス制御
機能:
コスト管理:
- クエリ毎のデータスキャン上限
- ワークグループ毎の予算
結果保存:
- ワークグループ毎のS3ロケーション
- 暗号化設定
IAM制御:
- ワークグループ単位のアクセス制御
パーティション:
- 適切なパーティション設計
- WHERE句でパーティション指定
- パーティション数最適化
ファイル形式:
- Parquet / ORC推奨
- 列指向フォーマット
- 圧縮有効化
ファイルサイズ:
- 128MB以上推奨
- 小ファイル統合
- S3 Inventory活用
クエリ設計:
- SELECT * 避ける
- 必要な列のみ指定
- LIMIT活用
- JOINの最適化
暗号化:
保管時:
- S3バケット暗号化(SSE-S3/KMS/CSE)
- クエリ結果暗号化
転送中:
- TLS/SSL
アクセス制御:
- IAMポリシー
- リソースベースポリシー
- Lake Formation統合
- 列レベル・行レベル制御(Lake Formation)
監査:
- CloudTrail
- クエリ履歴
- アクセスログ
データ準備:
- AWS Glue(ETL)
- Glue Crawler(カタログ作成)
- EMR(大規模処理)
可視化:
- Amazon QuickSight
- Tableau
- Grafana
機械学習:
- SageMaker
- Athena ML(UDF)
項目価格備考
クエリ料金$5.00 / スキャンデータ 1TBデータスキャン量に応じた課金
最小課金単位10MB10MB未満は10MB扱い
四捨五入1MB単位クエリごとに1MB単位で計算
項目価格備考
S3ストレージ(ソースデータ)S3標準料金データ保存コスト
S3ストレージ(クエリ結果)S3標準料金結果保存コスト
Glue Data Catalog最初の100万オブジェクト無料
以降: $1.00 / 100万 / 月
メタデータストア

料金計算例(月間10TBスキャン):

項目計算料金
クエリ(10TB / 1TB) × $5.00$50.00
S3保存(100TB)100TB × $0.023$2,300.00
合計-$2,350.00/月

コスト削減策の効果例(Parquet形式使用):

データ形式スキャン量クエリ料金削減効果
JSON10TB$50.00-
Parquet2TB(80%削減)$10.00$40.00削減(80%減)

コスト最適化のベストプラクティス:

手法効果削減率
Parquet/ORC形式使用ファイルサイズ削減50-80%
パーティション活用スキャン範囲限定70-90%
圧縮有効化データ量削減30-50%
必要な列のみSELECTカラムナー形式で効果50-90%

実例(10TBデータ、最適化前後):

項目最適化前最適化後削減額
スキャン量10TB0.5TB-
月額料金$50.00$2.50$47.50削減(95%減)
### CTAS(Create Table As Select)
```yaml
概念:
- クエリ結果から新テーブル作成
- データ変換・最適化
用途:
- CSV → Parquet変換
- データフィルタリング
- 集計結果保存
メリット:
- 1回のクエリで変換
- 最適化されたフォーマット
- パーティション作成

Athenaの重要ポイント:

  • サーバーレスでインフラ管理不要
  • S3データを直接SQLクエリ
  • Parquet/ORC でコスト削減
  • パーティションで高速化
  • Glue Data Catalog でメタデータ管理
  • スキャンデータ量で課金
  • QuickSight統合で可視化