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 |