1️. Amazon Athena
Amazon Athena Amazon S3에 저장된 데이터를 서버리스 SQL로 분석하는 쿼리 서비스 (Presto 기반)
핵심 특징
- 서버리스: 인프라 관리 ❌
- 표준 SQL 사용
- 지원 포맷: CSV, JSON, ORC, Avro, Parquet
- 과금: 스캔한 데이터 TB당 $5
- Amazon QuickSight와 자주 함께 사용 (리포팅/대시보드)
대표 사용 사례
- BI / 분석 / 리포팅
- VPC Flow Logs 분석
- ELB Logs 분석
- CloudTrail 로그 분석
기본 아키텍처
S3Bucket(데이터 적재)
└─ AmazonAthena(Query & Analyze)
└─ AmazonQuickSight(Reporting & Dashboards)
2️. Athena 성능 최적화 전략
데이터 포맷 최적화
- 컬럼 지향 포맷 사용 → 스캔 비용 감소
- 권장: Apache Parquet / ORC
- AWS Glue로 포맷 변환 가능
압축
- bzip2, gzip, lz4, snappy, zlib, zstd
- 데이터 크기 감소 → 비용 절감
파티셔닝
- S3 경로 기반 가상 컬럼
s3://bucket/table/year=1991/month=1/day=1/
- WHERE 조건으로 특정 파티션만 스캔
파일 크기
- 128MB 이상 파일 권장
- 작은 파일 다수 ❌ → 오버헤드 증가
3️. Amazon Athena – Federated Query
Federated Query S3 외부 데이터 소스를 SQL 하나로 조회
특징
- 온프레미스 + AWS 데이터 소스 통합
- Lambda 기반 Data Source Connector 사용
- 결과는 S3에 저장
지원 예시 데이터 소스
- CloudWatch Logs
- DynamoDB
- RDS / Aurora
- Redshift
- DocumentDB
- ElastiCache
- EMR (HBase)
구조
Amazon Athena
├─ Lambda (DataSource Connector)
├─ S3
├─ DynamoDB
├─ RDS / Aurora
└─ On-Prem DB
4️. Amazon Redshift
Amazon Redshift 대규모 OLAP(분석용) 데이터 웨어하우스
핵심 특징
- PostgreSQL 기반 (OLTP ❌)
- 컬럼 기반 스토리지
- 병렬 쿼리 엔진
- PB 단위 확장
- Provisioned / Serverless 모드
- BI 도구와 통합 (QuickSight, Tableau 등)
Athena와 비교
- Redshift: 복잡한 JOIN / Aggregation에 빠름
- Athena: 서버리스, 간편한 분석
5️. Redshift 클러스터 구조
구성 요소
- Leader Node
- 쿼리 플래닝
- 결과 집계
- Compute Node
- 실제 쿼리 실행
구조
Client (JDBC/ODBC)
└─ Leader Node
└─ Compute Nodes (병렬 처리)
6️. Redshift 백업 & DR
Snapshot
- Point-in-time 백업
- S3 내부 저장
- Incremental 방식
유형
- Automated
- 8시간 / 5GB 단위
- 보관 1~35일
- Manual
- 직접 삭제 전까지 보관
Cross-Region DR
Region A
└─ RedshiftCluster
└─Snapshot
└─Copyto Region B
└─ RestoreNewCluster
7️. Redshift 데이터 적재 전략
권장 방식
- 대량 배치 INSERT
- COPY 명령어 + S3
- Kinesis Data Firehose 활용 가능
아키텍처
Data Source
└─ KinesisData Firehose
└─ S3
└─ RedshiftCOPY
네트워크
- Enhanced VPC Routing 사용 시
- 모든 트래픽 VPC 경유
- 보안·제어 강화
8️. Redshift Spectrum
S3에 있는 데이터를 적재 없이 쿼리
특징
- Redshift 클러스터 필수
- S3 External Table 사용
- 수천 개 Spectrum 노드로 병렬 처리
구조
Redshift Cluster
├─ Leader / Compute Nodes
└─ Redshift Spectrum Nodes
└─ Amazon S3
9️. Amazon OpenSearch Service
전문 검색 & 로그 분석 엔진
특징
- ElasticSearch 후속
- 모든 필드 검색 가능 (부분 일치 포함)
- SQL 기본 미지원 (플러그인 가능)
- Managed / Serverless 모드
- OpenSearch Dashboards 포함
데이터 수집
- Kinesis Data Firehose
- AWS IoT
- CloudWatch Logs
보안
- Cognito / IAM
- KMS 암호화
- TLS
10. OpenSearch 패턴
DynamoDB 연계
DynamoDB
└─ Streams
└─ Lambda
└─ OpenSearch
- CRUD는 DynamoDB
- 검색은 OpenSearch
로그 분석
CloudWatch Logs
├─SubscriptionFilter → Lambda → OpenSearch (Real-time)
└─ Firehose → OpenSearch (NearReal-time)
스트리밍 데이터
KinesisDataStreams/Firehose
└─(Optional)LambdaTransform
└─OpenSearch
1️1. Amazon EMR
Elastic MapReduce Hadoop / Spark 기반 빅데이터 처리
특징
- 수백 대 EC2 클러스터
- Spark, HBase, Presto, Flink 포함
- Auto Scaling
- Spot 인스턴스 활용 가능
사용 사례
- 대규모 데이터 처리
- 머신러닝
- 로그 분석
- 웹 인덱싱
1️2. EMR 노드 타입 & 구매 옵션
노드 타입
- Master: 클러스터 관리 (장기 실행)
- Core: 데이터 저장 + 작업 실행
- Task: 작업 전용 (주로 Spot)
구매 옵션
- On-Demand
- Reserved (1년 이상)
- Spot
클러스터 유형
- Long-running
- Transient (임시)
1️3. Amazon QuickSight
서버리스 BI & 대시보드 서비스
특징
- 자동 확장
- 세션 기반 과금
- 임베디드 가능
- SPICE 인메모리 엔진
- Enterprise Edition
- Column-Level Security (CLS)
통합 데이터 소스
- RDS / Aurora
- Athena
- Redshift
- S3
- OpenSearch
- Timestream
- SaaS (Salesforce, Jira)
- On-Prem (JDBC)
- 파일 Import (CSV, JSON 등)
1️4. QuickSight 분석 & 대시보드
개념 구분
- Analysis
- 편집 가능
- Dashboard
- Read-only 스냅샷
- 공유 가능
사용자 관리
- QuickSight 내부 User / Group
- IAM과 별도
1️5. AWS Glue
Serverless ETL 서비스
역할
- Extract
- Transform
- Load
기본 흐름
S3 / RDS
└─ Glue ETL
└─ Redshift / S3
1️6. Glue – Parquet 변환 파이프라인
S3 (CSV)
└─ Event (PUT)
└─ Lambda / EventBridge
└─ Glue ETL
└─ S3 (Parquet)
└─ Athena 분석
1️7. Glue Data Catalog
메타데이터 중앙 저장소
기능
- 데이터베이스 / 테이블 메타데이터
- Athena / Redshift Spectrum / EMR 연동
구성
Glue Crawler
└─ Data Catalog
├─ Databases
└─ Tables
1️8. Glue 고급 기능
- Job Bookmarks: 중복 처리 방지
- Glue Elastic Views
- SQL 기반 데이터 통합
- 서버리스
- Glue DataBrew
- GUI 기반 데이터 정제
- Glue Studio
- ETL 시각적 구성
- Glue Streaming ETL
- Kinesis / Kafka / MSK 연동
1️9. AWS Lake Formation
데이터 레이크 구축 자동화 서비스
특징
- S3 기반 Data Lake
- Glue 위에서 동작
- 데이터 수집·정제·카탈로그 자동화
- ML 기반 중복 제거
- Row / Column Level 보안
아키텍처
Data Sources
├─ S3
├─ RDS
├─ On-Prem
└─ NoSQL
↓
Lake Formation
├─ Crawlers
├─ ETL
├─Data Catalog
└─ Access Control
↓
Data Lake (S3)
↓
Athena / Redshift / EMR / QuickSight
2️0. Amazon Managed Service for Apache Flink
실시간 스트림 처리
특징
- Java / Scala / SQL
- 자동 확장
- 체크포인트 / 스냅샷
- Firehose 직접 읽기 ❌
연계
- Kinesis Data Streams
- Amazon MSK
2️1. Amazon MSK (Managed Kafka)
특징
- 관리형 Apache Kafka
- VPC 내 배포
- Multi-AZ (최대 3)
- EBS 기반 스토리지
- 자동 장애 복구
MSK Serverless
- 용량 관리 ❌
- 자동 확장
2️2. Kinesis vs MSK
| 항목 | Kinesis Data Streams | Amazon MSK |
|---|---|---|
| 메시지 크기 | 1MB (확장 가능) | Kafka 설정 |
| 확장 방식 | Shard | Partition |
| 암호화 | TLS + KMS | TLS + KMS |
| 운영 | AWS 전담 | Kafka 호환 |
2️3. Big Data Ingestion Pipeline 목표
- 완전 서버리스
- 실시간 수집
- 데이터 변환
- SQL 분석
- 결과 S3 저장
- DW & 대시보드 연계
2️4. Big Data Ingestion Pipeline 아키텍처
IoTDevices
└─KinesisDataStreams
└─KinesisDataFirehose
└─(Optional)LambdaTransform
└─S3(IngestionBucket)
└─S3Event
└─SQS
└─Lambda
└─Athena
└─S3(ReportingBucket)
└─QuickSight/Redshift
핵심 포인트
- Kinesis: 실시간 수집
- Firehose: Near Real-time 적재 (1분)
- Lambda: 데이터 변환
- Athena: 서버리스 SQL
- S3: 분석 결과 저장
- QuickSight / Redshift: 시각화