본문 바로가기
AWS

[AWS] Data & Analytics

by hxxyeoniii 2025. 12. 19.

Amazon Athena

  • S3에 저장된 데이터를 SQL로 쿼리하는 서버리스 서비스
  • 스캔한 데이터양 기준으로 비용 청구
  • 보고서, 대시보드를 위해 주로 Amazon Quicksignt와 함께 사용

 

ex) 1월 1일 500번대 에러가 몇번 발생했지?

SELECT COUNT(*) 
FROM access_logs 
WHERE date = '2024-01-01' 
  AND status_code >= 500
```

-> Athena 사용

 

 

성능 최적화

  • 비용 절감을 위해 컬럼 기반 데이터 사용 -> Apache Parquet, ORC
  • 데이터 압축 -> qzip, snappy
  • 특정 컬럼을 자주 쿼리한다면, 파티셔닝

 

Federated Query

  • S3외의 데이터 소스도 쿼리 가능 -> RDS, DynamoDB 등
  • 연합 쿼리 실행을 위해 Lambda의 Data Source Connector 사용

Redshift

  • OLAP(분석)용 데이터 웨어하우스
  • PostgreSQL 기반이지만 트랜잭션 처리용은 아님
  • 데이터를 컬럼(열) 기반으로 저장
  • 병렬 쿼리 엔진 사용
  • 다른 데이터 웨어하우스에 비해 10배 빠른 성능 제공, PB 단위의 데이터까지 확장 가능
  • 단일 AZ
  • 스냅샷으로 DR
  • BI 도구(Amazon Quicksight, Tableau)와 통합해 사용
  • 대량 삽입이 훨씬 효율적
  • S3 데이터를 Redshift로 로드 없이 쿼리

 

 

 

Athena와의 가장 큰 차이점은 "데이터가 어디 있느냐"

 

  • Athena = 가벼운 쿼리, 가끔 사용, S3 그대로
  • Redshift = 무거운 쿼리, 자주 사용, 전용 스토리지

 

-> Redshift는 Athena와 같은 쿼리 실행대비 속도가 빠름 : 인덱싱 + 데이터 정렬/압축 최적화 + 메모리 캐싱

-> 가끔 쿼리할때는 Athena 사용

-> 적은 비용은 Athena


OpenSearch Service

  • 검색/분석 엔진
  • 다른 DB 보완 용도
  • DynamoDB는 기본 키나 인덱스로만 데이터를 쿼리할 수 있지만 OpenSearch는 부분적으로 일치하는 필드를 포함해 모든 필드 검색 가능
  • OpenSearch를 생성하고 사용하기 위해서는 인스턴스 클러스터 생성 필요 -> 서버리스 X
  • SQL 지원 X

EMR(Elastic MapReduce)

  • Hadoop 클러스터를 위한 서비스
  • 클러스터는 수백 개의 EC2 인스턴스로 구성될 수 있음
  • Apache Spark, HBase, Presto, Flink 등과 함께 사용
  • 데이터 처리, 머신러닝, 웹 인덱싱, 빅 데이터 등에 사용

Qucksight

  • 서버리스 머신 러닝 기반 BI(Business Intelligence) 도구
  • 대시보드, 시각화 생성
  • RDS, Aurora, Athena, Redshift, S3 등 다양한 데이터 소스에 연결 가능
  • SPICE 엔진을 사용해 인메모리 계산 가능

Glue

  • 서버리스 ETL(Extract, Transform, Load) 서비스
  • Glue Data Catalog : 메타데이터 저장소 -> Athena, Redshift, EMR이 참조
  • Glue Crawler : 자동 데이터 스키마 검색

Lake Formation

  • 데이터 레이크 구축, 관리를 쉽게 해주는 서비스
  • Glue 위에 구축되지만 더 많은 기능 제공
  • 데이터 검색, 정제, 변환, 주입을 위한 데이터 레이크 구성
  • 세밀한 액세스 제어 : Row, Column 레벨의 보안

Kinesis Data Analytics

  • 두가지 버전 존재 : SQL & Flink
  • SQL 버전 -> Kinesis Streams/Firehose에서 실시간 SQL 분석
  • Flink 버전 -> Java, Scala로 더 복잡한 스트림 처리, Firehose 데이터 못읽음

MSK(Managed Streaming for Apache Kafka)

  • 완전 관리형 Apache Kafka
  • Kinesis의 대안

최종 : Big Data Ingestion Pipeline

ex) IoT 장치 → IoT Core → Kinesis Data Streams → Kinesis Data Firehose (+ Lambda 변환) → S3 → Trigger

 

  • Athena : 서버리스 SQL 쿼리
  • Glue : ETL, 데이터 카탈로그
  • QuickSight : 시각화
  • Redshift : 복잡한 분석

'AWS' 카테고리의 다른 글

[AWS] 모니터링 : CloudWatch & CloudTrail & Config  (0) 2025.12.22
[AWS] Databases  (0) 2025.12.16
[AWS] Serverless Architectures  (0) 2025.12.15
[AWS] Serverless  (0) 2025.12.10
[AWS] Integration & Messaging  (0) 2025.12.02