A business has developed an application that analyzes millions of connected devices for security concerns and records the results to an Amazon S3 bucket. Each week, the organization generates around 70 GB of data, and the corporation must retain three years of data for historical reporting. The organization must analyze, aggregate, and enhance data from Amazon S3 in the shortest period of time possible by conducting complicated analytical queries and joins. On an Amazon QuickSight dashboard, the aggregated dataset is shown.
What recommendations should a solutions architect make to satisfy these requirements?
- A. Create and run an ETL job in AWS Glue to process the data from Amazon S3 and load it into Amazon Redshift. Perform the aggregation queries on Amazon Redshift.
- B. Use AWS Lambda functions based on S3 PutObject event triggers to copy the incremental changes to Amazon DynamoDB. Perform the aggregation queries on DynamoDB.
- C. Use AWS Lambda functions based on S3 PutObject event triggers to copy the incremental changes to Amazon Aurora MySQL. Perform the aggregation queries on Aurora MySQL.
- D. Use AWS Glue to catalog the data in Amazon S3. Perform the aggregation queries on the cataloged tables by using Amazon Athena. Query the data directly from Amazon S3.
한글 번역
한 비즈니스에서 보안 문제에 대해 연결된 수백만 개의 장치를 분석하고 결과를 Amazon S3 버킷에 기록하는 애플리케이션을 개발했습니다. 조직은 매주 약 70GB의 데이터를 생성하며 기업은 기록 보고를 위해 3년 동안의 데이터를 보관해야 합니다. 조직은 복잡한 분석 쿼리 및 조인을 수행하여 가능한 최단 시간에 Amazon S3의 데이터를 분석, 집계 및 향상해야 합니다. Amazon QuickSight 대시보드에 집계된 데이터 세트가 표시됩니다.
솔루션 설계자는 이러한 요구 사항을 충족하기 위해 어떤 권장 사항을 제시해야 합니까?
- A. AWS Glue에서 ETL 작업을 생성 및 실행하여 Amazon S3의 데이터를 처리하고 Amazon Redshift로 로드합니다. Amazon Redshift에서 집계 쿼리를 수행합니다.
- B. S3 PutObject 이벤트 트리거를 기반으로 하는 AWS Lambda 함수를 사용하여 증분 변경 사항을 Amazon DynamoDB에 복사합니다. DynamoDB에서 집계 쿼리를 수행합니다.
- C. S3 PutObject 이벤트 트리거를 기반으로 하는 AWS Lambda 함수를 사용하여 증분 변경 사항을 Amazon Aurora MySQL에 복사합니다. Aurora MySQL에서 집계 쿼리를 수행합니다.
- D. AWS Glue를 사용하여 Amazon S3의 데이터를 카탈로그화합니다. Amazon Athena를 사용하여 카탈로그된 테이블에서 집계 쿼리를 수행합니다. Amazon S3에서 직접 데이터를 쿼리합니다.
정답
- A. Create and run an ETL job in AWS Glue to process the data from Amazon S3 and load it into Amazon Redshift. Perform the aggregation queries on Amazon Redshift.
해설
AWS Glue
AWS Glue는 분석, 기계 학습 및 애플리케이션 개발을 위해 데이터를 쉽게 탐색, 준비, 그리고 조합할 수 있도록 지원하는 서버리스 데이터 통합 서비스입니다. AWS Glue에서는 데이터 통합에 필요한 모든 기능을 제공하므로, 몇 개월이 아니라 몇 분 안에 데이터 분석을 시작하고 해당 내용을 활용할 수 있습니다.
데이터 통합은 분석, 기계 학습 및 애플리케이션 개발을 위해 데이터를 준비하고 결합하는 프로세스입니다. 이 작업은 다양한 소스에서 데이터 검색 및 추출, 데이터 강화, 정리, 정규화 및 결합, 데이터베이스, 데이터 웨어하우스 및 데이터 호수에 데이터 로드 및 구성 등의 여러 작업을 포함합니다. 이러한 작업은 종종 각자 다른 제품을 사용하는 다른 유형의 사용자가 취급합니다.
AWS Glue는 데이터 통합을 쉽게 준비할 수 있도록 시각적 인터페이스와 코드 기반 인터페이스를 모두 제공합니다. 사용자는 AWS Glue 데이터 카탈로그를 사용하여 데이터를 쉽게 찾고 액세스할 수 있습니다. 데이터 엔지니어와 ETL (추출, 변형 및 로드) 개발자는 AWS Glue Studio에서 몇 번의 클릭으로 ETL 워크플로를 시각적으로 생성, 실행 및 모니터링할 수 있습니다. 데이터 분석가와 데이터 사이언티스트는 AWS Glue DataBrew를 사용하여 코드를 작성하지 않고도 데이터를 시각적으로 정리하고 정규화할 수 있습니다. AWS Glue Elastic Views를 통해 애플리케이션 개발자는 익숙한 Structured Query Language (SQL)를 사용하여 다른 데이터 저장소 간의 데이터를 조합 및 복제할 수 있습니다.
Athena와 Redshift Spectrum의 다른 차이점
SQL 구문: Athena는 Presto에서 파생된 반면 Redshift는 Postgres를 기반으로 사용합니다. Presto는 데이터가 있는 위치에서 쿼리할 수 있으며 다양한 크기의 데이터 소스에 대해 분석 쿼리를 실행할 수 있는 오픈 소스 분산 SQL 쿼리 엔진입니다.
Redshift Spectrum은 Postgres라고도 하는 PostgreSQL을 사용합니다. 이것은 확장성을 강조하고 SQL을 준수하는 무료 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 단일 시스템에서 데이터 웨어하우스 또는 동시 사용자가 많은 웹 서비스에 이르기까지 다양한 워크로드를 처리할 수 있습니다.
데이터 유형: AWS Athena는 STRUCT, ARRAY 및 MAP과 같은 복잡한 데이터 유형에 대한 지원을 제공하지만 Redshift Spectrum은 이를 지원하지 않습니다.
연결: 표준 API, JDBC 또는 ODBC 드라이버를 사용하여 Athena에 연결할 수 있지만 Redshift의 경우 많은 제품에서 즉시 사용 가능한 연결을 제공합니다.
확장성: Athena에서는 스토리지와 컴퓨팅이 분리됩니다. S3에 원하는 양의 데이터를 저장하고 고성능 Athena에서 원하는 것만 쿼리할 수 있습니다 . 이는 매우 경제적인 방법입니다. AWS는 쿼리의 복잡성에 따라 Athena가 자동으로 확장되도록 컴퓨팅 리소스를 할당합니다. Redshift Spectrum이 컴퓨팅 성능을 높이려면 더 많은 노드를 추가하거나 더 비싼 새 클러스터를 가동해야 합니다. Spectrum은 또한 Redshift 인스턴스가 없으면 사용할 수 없습니다.
사용자 정의 함수: Amazon Redshift를 사용하면 사용자 정의 함수(UDF)를 지원합니다. 매개변수를 정의하고, 작업을 수행하고, 결과를 값으로 반환하는 프로세스입니다. Athena는 UDF를 지원하지 않습니다.
설정 시간: AWS Athena를 사용하면 설정이 더 빠르고 간단하기 때문에 처음부터 더 빨리 시작할 수 있습니다. S3의 데이터를 가리키고 즉시 쿼리를 시작할 수 있습니다. Redshift Spectrum을 사용하면 컴퓨팅 리소스 클러스터를 준비하고 데이터를 로드할 테이블을 생성해야 하므로 프로세스가 더 오래 걸립니다.
추가 요구 사항: Redshift에서 제공하는 Redshift Spectrum을 실행하려면 SQL 클라이언트와 클러스터가 필요합니다. Athena는 인프라를 추가로 설정할 필요가 없습니다. Amazon S3 데이터 세트에 외부 테이블을 생성합니다.
관리: Athena를 사용하면 AWS에서 완전히 관리하기 때문에 프로세스를 적극적으로 관리할 필요가 없습니다. 리소스를 할당하고 요구 사항에 따라 자동으로 확장합니다. Redshift Spectrum은 이름에서 알 수 있듯이 Redshift 클러스터와 함께 작동하므로 이를 프로비저닝해야 합니다.
결과 저장: Athena는 읽기 전용이며 S3의 데이터를 변경하지 않지만 쿼리 결과는 S3에 쓸 수 있습니다. Redshift Spectrum은 또한 읽기 전용이며 외부 테이블에서 삽입, 삭제 또는 업데이트와 같은 작업을 수행할 수 없습니다. 사용자는 Redshift의 테이블과 Redshift Spectrum이 생성한 S3의 덜 자주 액세스하는 테이블을 볼 수 있어 데이터에 대한 통합 보기를 제공합니다.
위치: Athena를 사용하면 쿼리가 시작된 지역이 아닌 다른 지역의 데이터에 액세스할 수 있습니다. Redshift Spectrum이 데이터에 액세스하려면 Amazon Redshift 클러스터와 S3 버킷이 동일한 AWS 리전에 있어야 합니다.
그렇다면 AWS Athena와 Redshift Spectrum 중 어느 것을 선택해야 합니까?
결정에 영향을 줄 수 있는 큰 요소는 데이터가 저장되는 위치입니다. 이미 Redshift 를 사용하고 있는 경우 Spectrum을 사용하여 S3에서 데이터를 쿼리하는 것은 간단할 수 있습니다. 특히 복잡한 조인 및 더 큰 집계를 포함하는 매우 큰 데이터 세트에 대해 쿼리를 실행하는 경우에는 더욱 그렇습니다. Redshift Spectrum은 AWS에서 제공하는 풀링 리소스에 의존하지 않기 때문에 보다 일관된 쿼리 성능을 제공할 수도 있습니다. 물론 추가 노드가 필요하거나 컴퓨팅 성능을 높이기 위해 다른 클러스터를 가동해야 하는 경우에는 결국 더 많은 비용을 지출하게 될 수 있습니다. 반면에 데이터의 대부분이 Amazon S3에 있는 경우, 소수의 사용자에 대한 쿼리를 활성화하는 것이 목표이므로 Athena를 사용하는 것이 더 직관적이고 빠르며 비용 효율적입니다. BryteFlow가 S3에 동기화하는 실시간 데이터에 대한 실시간 대시보드용 시각화 소프트웨어와 함께 Athena를 사용하는 고객이 있습니다. 기본 테이블 스캔 및 소규모 집계를 포함하는 임시 쿼리를 실행하는 경우에는 더욱 그렇습니다.
참조 문서
https://bryteflow.com/face-off-aws-athena-vs-redshift-spectrum/
'[AWS] > AWS SAA EXAMTOPICS' 카테고리의 다른 글
[AWS][SAA][EXAMTOPICS] Question 296 (0) | 2022.07.08 |
---|---|
[AWS][SAA][EXAMTOPICS] Question 295 (0) | 2022.07.08 |
[AWS][SAA][EXAMTOPICS] Question 294 (0) | 2022.07.08 |
[AWS][SAA][EXAMTOPICS] Question 293 (0) | 2022.07.08 |
[AWS][SAA][EXAMTOPICS] Question 291 (0) | 2022.07.08 |
[AWS][SAA][EXAMTOPICS] Question 290 (0) | 2022.07.08 |
[AWS][SAA][EXAMTOPICS] Question 289 (0) | 2022.07.08 |
[AWS][SAA][EXAMTOPICS] Question 288 (0) | 2022.07.08 |
댓글