본문 바로가기
CSP (Cloud Service Provider)/AWS

[AWS] Athena

by BTC_류지연 2023. 5. 28.

베하 이번 시간에도 

수 지 타 산 입니다~~~!!

빠르게 여름이 오고 있나봐요

더워지기 전에 다들 피크닉 어떠신가요?

저번 시간 DataSync를 다루어 보았구요,

이번 시간에는 새로운 서비스

AWS Athena에 대하여 알아보아요!

팔로팔로팔로미 ~~~~


AWS Athena 란?

Amazon Athena는 표준 SQL을 사용하여 Amazon S3(Amazon Simple Storage Service)에 있는 데이터를 직접 간편하게 분석할 수 있는 대화형 쿼리 서비스입니다.
AWS Management Console에서 몇 가지 작업을 수행하면 Athena에서 Amazon S3에 저장된 데이터를 지정하고 표준 SQL을 사용하여 임시 쿼리를 실행하여 몇 초 안에 결과를 얻을 수 있습니다.
Amazon Athena의 Athena SQL 및 Apache Spark는 서버리스 서비스이므로 설정하거나 관리할 인프라가 없으며 실행한 쿼리에 대해서만 비용을 지불하면 됩니다.
Athena는 자동으로 확장되어 쿼리를 병렬로 실행하여 대규모 데이터 세트과 복잡한 쿼리에서도 빠르게 결과를 얻을 수 있습니다.

 

 

Athena는 언제 사용하나요?

Athena는 Amazon S3에 저장된 비정형, 반정형 및 정형 데이터를 분석하는 데 도움을 줍니다.

예를 들면 CSV, JSON 또는 컬럼 방식 데이터 형식(예: Apache Parquet 및 Apache ORC)이 해당됩니다.

Athena를 사용하면 데이터를 집계하거나 Athena로 로드할 필요 없이

ANSI SQL을 사용한 임의 쿼리를 실행할 수 있습니다.

 

 

Athena 작동 방식

Amazon Athena는 오픈소스 프레임워크에 구축된 서버리스 대화형 분석 서비스로 개방형 테이블과 파일 형식을 지원합니다.

Athena는 페타바이트 규모의 데이터를 상주 위치에서 분석하는 간소화되고 유연한 방식을 제공합니다.

Amazon Simple Storage Service(S3) 데이터 레이크 및 온프레미스나 SQL 또는 Python을 사용하는 기타 클라우드 시스템을 포함하는 25개 이상의 데이터 소스로부터 데이터를 분석하거나 애플리케이션을 구축합니다.

Athena는 오픈 소스 Trino 및 Presto 엔진과 Apache Spark 프레임워크로 구축되었으며 프로비저닝이나 구성 작업이 필요 없습니다.

 

 

데이터 쿼리

아래 나열된 AWS 서비스에서 데이터를 쿼리할 수 있습니다.

  • AWS CloudFormation
  • 아마존 CloudFront
  • AWS CloudTrail
  • Elastic Load Balancing
  • AWS Glue Data Catalog
  • AWS Identity and Access Management(IAM)
  • 아마존 QuickSight
  • Amazon S3 인벤토리
  • AWS Step Functions
  • AWS Systems Manager 인벤토리
  • Amazon Virtual Private Cloud

 


FAQ

Q: Athena for SQL은 테이블 정의와 스키마를 어떻게 저장하나요?

Athena for SQL은 S3에 저장된 데이터에 대해 사용자가 생성한 데이터베이스 및 테이블에 관한 정보와 스키마를 저장하기 위해 관리형 AWS Glue 데이터 카탈로그를 사용합니다. AWS Glue가 제공되는 리전에서는 Athena에 데이터 카탈로그를 사용하도록 업그레이드할 수 있습니다. AWS Glue가 제공되지 않는 리전에서는 Athena에 내부 카탈로그가 사용됩니다.
 
Q: Athena는 어떤 데이터 형식을 지원하나요?
Athena는 CSV, TSV, JSON 또는 Textfiles 등 매우 다양한 데이터 형식들을 지원하며 ORC 및 Parquet 같은 오픈 소스 열 형식도 지원합니다. Athena는 Snappy, Zlib, LZO 및 GZIP 형식으로 압축된 데이터도 지원합니다. 열 형식을 압축, 파티셔닝 및 활용하여 성능을 개선하고 비용을 절감할 수 있습니다. 
 
Q: Athena의 기존 테이블에 새 데이터를 추가하려면 어떻게 해야 하나요?
데이터를 파티셔닝한 경우 S3에서 새 데이터를 사용할 수 있을 때 파티션을 Athena에 추가하려면 메타데이터 쿼리(ALTER TABLE ADD PARTITION)를 실행해야 합니다. 데이터를 파티셔닝하지 않은 경우 기존 접두사에 새 데이터(또는 파일)를 추가하면 이 데이터가 Athena에 자동으로 추가됩니다.

 

Q: Athena의 요금은 어떻게 부과되나요?

Athena를 사용할 때는 스캔한 데이터를 기반으로 하거나 쿼리에 필요한 컴퓨팅을 기반으로 쿼리당 비용을 지불하도록 선택할 수 있습니다. 쿼리당 요금은 쿼리에서 스캔된 데이터의 양을 기준으로 하며 쿼리당 테라바이트(TB)로 부과됩니다. 다양한 형식으로 S3에 데이터를 저장할 수 있습니다. 데이터를 압축 및 파티셔닝하거나 열 기반 저장 형식으로 변환하면 쿼리에서 스캔되는 데이터의 양이 줄어들어 비용이 절감됩니다.

 


이렇게 AWS Athena에 대하여 알아보았어요

개념부터 사용 범위, FAQ까지 다루어 보았는데

많은 도움이 되셨을까요?

다음 시간에도 유용한 자료로 돌아올게요

그럼 다음시간도 함께해요

제에에에에에바아아알 ~~~~

댓글