Athena

→ Athena는 S3에 저장된 데이터를, 서버 프로비저닝 없이 표준 SQL로 바로 조회/분석할 수 있게 해주는 서버리스 쿼리 서비스

동작원리

[S3에 저장된 데이터] (CSV, JSON, Parquet, ORC 등)
   ↓
[Athena] → 표준 SQL(Presto/Trino 기반 엔진)로 쿼리 실행
   ↓
쿼리 결과도 다시 S3에 저장됨

Glue Data Catalog와의 연동 — 필수 파트너

[Glue Crawler] → S3 데이터를 자동으로 스캔해서 스키마를 추론
   ↓
[Glue Data Catalog] → "이 S3 경로는 이런 컬럼 구조를 가진 테이블이다"라는 메타데이터 저장
   ↓
[Athena] → 이 카탈로그를 참조해서 SQL 쿼리 실행

**Glue Data Catalog가 "S3 파일 ↔ 테이블 스키마"를 연결해주는 사전 역할

성능/비용 최적화 — 데이터 포맷과 파티셔닝

1. 컬럼형 포맷 사용 (Parquet, ORC)

CSV/JSON (행 기반) vs Parquet/ORC (컬럼 기반)

컬럼형 포맷을 쓰면:
   "특정 컬럼만" 필요한 쿼리일 때, 그 컬럼만 읽으면 됨
   → 스캔하는 데이터량이 훨씬 줄어듦 → 비용/속도 모두 개선
   (최대 몇 배까지 비용 절감 가능)

2. 압축(Compression)

→ 데이터를 압축해서 저장하면 → 스캔량 자체가 줄어듦 → 비용 절감

3. 파티셔닝(Partitioning)

S3 경로를 날짜/지역 등으로 미리 나눠서 저장
   예: s3://bucket/logs/year=2026/month=07/day=01/

쿼리에서 "WHERE year=2026 AND month=07"이라고 조건을 걸면
   → 해당 파티션(폴더)만 스캔, 나머지는 아예 안 읽음
   → 스캔량 대폭 감소

RedShift

→ DB이면서 분석 엔진

→ OLAP (online analytical processing)

→ Athena에 비해 더 복잡한 쿼리 작업 시 적합

**참고