본문 바로가기

자격증/SAA

[SAA] 데이터 분석

Amazon Athena

  • S3에 있는 데이터를 분석하기 위한 서버리스 서비스
  • 파일을 가져오기 위해 표준 SQL 사용 (Presto 기반)
  • CSV, JSON, ORC, Avro, Parquet 파일 형식 지원
  • TB 데이터 스캔 당 5달러 청구
  • 일반적으로 Amazon Quicksight를 대시보드, 알림 용으로 사용
  • BI, 분석, 레포트 등을 위해 사용

성능 이슈 개선

  • 비용 절감을 위해 컬럼 기준 포맷 사용하는 것이 좋음
  • Apache Parquet나 ORC 형식 사용 시 성능 많이 개선
  • Data 변형을 위해 AWS Glue를 사용
  • 더 적은 조회를 위해 데이터를 압축
  • S3 데이터 셋에 대해 가상 컬럼을 두고 나누면 좋음 (prefix를 효율적이게 파티셔닝할 것.)
  • 개별 파일 저장 시, 작은 용량으로 저장하면 오히려 조회가 잦아짐. 128MB 이상 파일 사용할 것.

쿼리 연동

  • 여러 개의 관계형 DB, NoSQL, 오브젝트, 사용자 데이터 소스에 대해 SQL 쿼리 가능
  • 람다에서 운영되는 Data Source Connectors를 통해 쿼리 연동
  • 조회 결과를 다시 S3로 입력

Redshift

  • PostgreSQL 기반이지만, 트랜잭션 지원을 못해서 DB로는 적합하지 않음 (OLTP)
  • 온라인 상에서 분석, 데이터 웨어하우스 구축을 위해 사용 (OLAP)
  • 다른 데이터 웨어하우스보다 10배 더 빠름
  • PB 단위까지 확장 가능
  • 컬럼 기반 저장소
  • 병렬 쿼리 엔진 사용
  • 인스턴스 사용만큼 비용 청구
  • SQL 쿼리 실행을 위한 인터페이스 있음
  • Amzaon Quicksight, 타블루 등의 BI 툴 사용 가능
  • 인덱스가 가능하기 때문에 아테나에 비해 쿼리가 빠르고 조인과 병합이 가능

Redshift Cluster

  • Redshift는 클러스터 형태로 구성됨
  • 쿼리 플래닝과 결과 합계를 진행하는 리더 노드와
  • 쿼리를 실행하고 데이터를 리더에게 전달하는 Compute 노드가 있음
  • 노드 크기를 직접 프로비저닝함
  • 비용 절감을 위해 RI(Reserved Instance) 사용 가능

스냅샷과 재해 복구(DR)

  • 일부 클러스터에 멀티 AZ 모드 지원
  • 스냅샷은 클러스터의 시점 기반 백업 지원
  • 스냅샷은 S3에 저장
  • 증분 백업을 사용
  • 스냅샷을 기반으로 복원을 통해 신규 클러스터 생성 가능
  • 자동화된 백업은 8시간 혹은 5GB 추가될 때마다 진행됨
  • 백업은 [1,35]일 간 저장
  • 직접(온디맨드) 스냅샷도 가능
  • 다른 리전에 자동 혹은 수동으로 스냅샷 복사 가능

Spectrum

  • S3 데이터를 로딩 없이 쿼리할 수 있게 돕는 중간 단계
  • Cluster 가 시작된 상태여야 함
  • 쿼리는 수천개의 Spectrum 노드에 전달됨

Amazon OpenSearch Service

  • DynamoDB를 사용할 때 PK와 인덱스를 통해서만 질의 가능
  • OpenSearch는 모든 필드를 검색하거나 부분 매칭으로 검색 가능
  • 다른 DB의 보완으로 사용 가능
  • 관리형 클러스터와 서버리스 클러스터 모드 지원
  • SQL 자체적으로 지원 X (플러그인 사용은 가능)
  • Kinesis Data Firehose, AWS IoT, Cloudwatch logs 등으로 실시간 데이터를 가져와서 검색 가능.
  • Cognito, IAM, KMS, TLS를 통한 보안 진행 가능
  • OpenSearch dashboard 제공

EMR(Elastic MapReduce)

  • 하둡 클러스터(EMR 클러스터)를 생성하는 데 도움을 줌
  • EMR 클러스터는 수백개의 EC2 인스턴스로 구성
  • 하둡 외에도 Apache Spark, HBase, Presto, Flink 등과 같이 사용됨
  • EMR 자체가 모든 프로비저닝과 설정 관리
  • 오토 스케일링 및 Stop Instance 지원

노드

  • 마스터 노드: 클러스터 관리, 헬스 체크
  • 코어 노드: 태스크 수행, 데이터 저장
  • 태스크 노드: 태스크를 수행하는 용도. 일반적으로 Spot으로 사용

구매 옵션

  • 온디맨드: 안정적, 예측 가능, 종료 안됨
  • 예약: 1년 단위 계약. 비용 절감
  • 스팟 인스턴스: 종료 가능. 안정성은 떨어짐. 유동적이기 때문에 태스크 노드에 주로 사용

Amazon Quicksight

  • 서버리스 머신러닝 기반 BI 툴
  • 상호 작용 가능한 대시보드 구성에 사용
  • 빠른 오토 스케일링 (금액 셋팅 가능)
  • 사업 분석, 시각화, ad-hoc 분석 등 데이터를 분석한 비즈니스 인사이트를 위해 사용
  • RDS, Aurora, Athena, Redshift 등의 서비스와 연동 가능
  • SPICE 엔진 기반으로 데이터를 인메모리로 연산
  • 컬럼 단위 보안 설정 가능(엔터프라이즈 에디션 한정)

대시보드

  • 사용자와 그룹 정의 가능 (그룹은 엔터프라이즈 에디션 한정)
  • 대시보드는 읽기 전용 스냅샷을 구성
  • 대시보드 분석을 위한 설정 저장 가능
  • 대시보드 공유 가능
  • 사용자, 그룹 단위로 공유 가능
  • 대시보드가 배포된 상태에서만 공유 가능
  • 대시보드를 볼 수 있는 사용자는 구성하는 데이터도 볼 수 있다.

Amazon Glue

  • 관리형 ETL 서비스
  • 서버리스
  • 데이터 분석을 위해 데이터를 준비하고 전송할 때 사용
  • ex. S3 bucket로부터 CSV를 extract, Parquet 포맷으로 Transfer, Output bucket으로 load
  • 오래된 데이터를 재처리하는 것을 막는 Glue Job Bookmark 기능
  • Glue elastic view
    • 여러 데이터 소스 간의 데이터를 SQL을 이용해 복제하거나 합침
    • glue가 소스데이터의 변화를 모니터링하고 별도의 코드 변경 필요 없음
    • 서버리스
    • 가상 테이블 지원
  • 사전 정의된 변환을 통해 데이터를 일반화하거나 정리하는 Glue DataBrew 기능
  • GUI를 통해 Glue의 ETL 작업을 생성, 실행, 모니터링하는 Glue Studio 기능
  • Apache Spark Structured Streaming 기반으로 스트리밍을 지원하는 Glue Streaming ETL 기능 (Kinesis, kafka, msk 호환)

AWS Lake Formation

  • 하루 안에 data lake를 생성할 수 있도록 해주는 서비스
  • 완전 관리형
  • 데이터를 탐색, 변경, 분석, 추가 지원
  • 정형, 비정형 데이터를 모두 다룰 수 있다.
  • Glue 기반 서비스

  • OLTP: 온라인 트랜잭션 처리. 흔히 사용자가 DB에 접근해서 트랜잭션을 처리하는 것을 의미
  • OLAP: 온라인 분석 처리. 데이터 웨어하우스에서 데이터를 가져와서 분석하는 것을 의미
  • BI: Business Intelligence. 데이터 기반 의사 결정을 지원하는 모든 것들
  • 하둡: 대용량 데이터 분석 및 처리.
  • ETL: Extract, Transfer, Load. 데이터를 가져와서 변형하고 다른 곳에 로드시키는 일련의 과정을 의미
  • 데이터 레이크: 분석 목적의 모든 데이터를 모은 곳

'자격증 > SAA' 카테고리의 다른 글

[SAA] 모니터링, Audit  (0) 2024.12.22
[SAA] DB 총정리  (0) 2024.12.21
[SAA] 서버리스  (0) 2024.12.11
[SAA] Integration  (0) 2024.12.10
[SAA] Storage with On-premise  (0) 2024.12.08