◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇
Amazon Athena
AWS의 서버리스(fully managed)의 데이터 분석 서비스
S3에 저장된 데이터에서 쉽게 바로 쿼리를 실행 할 수 있다.
Amazon Athena 특징
- [Athena 사용 이유]: 데이터 분석 서비스로는 Amazon EMR이나 Amazon Redshift 등이 있지만, 이들 모두 귀찮고 힘든 인프라 관리를 필요로 한다. 반면, Athena는 이러한 고려 없이 빠르게 쿼리를 통한 분석을 하고자 할 때 적합한다.
- [주요 기능]: 데이터를 S3에 저장하고, Athena를 통해 직접 SQL 쿼리를 실행하기.
- 예시) S3에 csv를 저장되어 있다면 Athena의 Console에서 csv 파일을 지정하는 쿼리 실핼가능
- 쿼리를 실행하기 위해 복잡한 설정이 필요없다.
- [서버리스]: AWS 측에서 Athena를 위한 인프라 설정을 관리한다. 유저가 사용하기 편하다.
- [지원하는 데이터 타입]:
- CSV, JSON, XML,
- Avro, Apache ORC, Apache Parquet : CSV보다 빠르게 데이터 분석가능. (빅데이터 분석에 최적화)
- (대규모 데이터일 경우, CSV 파일을 Parquet 또는 ORC로 변환하여 Athena로 분석하는 것이 효율성이 좋다)
- [요금]: 사용자가 쿼리를 실행한 데이터 양에 따라 비용을 지불한다. (사용한 만큼만 지불)
- 스캔한 데이터의 1TB 당 5 USD
- [다른 AWS 서비스와 연동]:
- 예시) AWS Glue와 통합하여 데이터 카탈로그를 관리
Glue Data Catalog를 사용하면 테이블과 데이터베이스를 정의하고, 이를 Athena 쿼리에서 사용할 수 있다. - 예시) Amazon QuickSight (BI)를 사용하여 데이터 시각화
- 예시) AWS Glue와 통합하여 데이터 카탈로그를 관리
👨🏫 사용 예시: S3 데이터를 바로 SQL 쿼리하고 싶을 경우
로그 분석:
많은 기업은 로그 데이터를 S3에 저장한다. Athena를 사용하면 이 로그 데이터를 SQL 쿼리로 분석하여 사용자 행동을 이해하거나 웹사이트 성능을 모니터링할 수 있다.
예시) 하루 동안의 방문자 수, 방문 페이지, 평균 페이지 로드 시간, 오류 발생 횟수을 SQL 쿼리 분석
👨🏫 Amazon Athena 참고 기능
동적 스키마: (스키마를 미리 정의할 필요가 없다)
Athena는 스키마-온-리드(Schema-on-Read) 방식을 사용한다.
이는 데이터를 읽을 때 스키마를 적용하는 방식으로, 다양한 형식의 데이터를 유연하게 처리할 수 있다.
S3에 쿼리 결과 저장:
Athena는 쿼리 결과를 S3에 자동으로 저장한다.
기본적으로 Athena는 쿼리 결과를 S3 버킷의 /AWSLogs/Athena
디렉토리에 저장한다.
SAA 문제
A company needs the ability to analyze the log files of its proprietary application. The logs are stored in JSON format in an Amazon S3 bucket. Queries will be simple and will run on-demand. A solutions architect needs to perform the analysis with minimal changes to the existing architecture. What should the solutions architect do to meet these requirements with the LEAST amount of operational overhead?
A. Use Amazon Redshift to load all the content into one place and run the SQL queries as needed.
B. Use Amazon CloudWatch Logs to store the logs. Run SQL queries as needed from the Amazon CloudWatch console.
C. Use Amazon Athena directly with Amazon S3 to run the queries as needed.
D. Use AWS Glue to catalog the logs. Use a transient Apache Spark cluster on Amazon EMR to run the SQL queries as needed.
정답. C
Keyword:
- Queries will be simple and will run on-demand.
- Minimal changes to the existing architecture.