Cert Notes/ 출퇴근 학습 노트
로드맵
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
DOP-C02 · ProfessionalDevOps Engineer - Professional
SCS-C03 · SpecialtySecurity - Specialty
MLA-C01 · AssociateMachine Learning Engineer - Associate
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
  • Week 1
    • 1.데이터 엔지니어링이란
    • 2.배치 vs 스트리밍
    • 3.AWS 데이터 서비스 조감도
    • 4.데이터 포맷과 모델링
    • 5.Week 1 종합 복습
  • Week 2
    • 1.배치 수집: S3 업로드, DataSync, Transfer Family, Snow
    • 2.Kinesis Data Streams: 샤드, 파티션 키, 처리량
    • 3.Kinesis Data Firehose: 전달 스트림과 적재
    • 4.Amazon MSK(Kafka): 토픽, 파티션, 언제 무엇
    • 5.Week 2 종합: 데이터 수집 1 복습
  • Week 3
    • 1.스트리밍 처리: Managed Service for Apache Flink와 윈도우 집계
    • 2.수집 신뢰성: 멱등성, 순서 보장, 재시도, 중복 제거, DLQ
    • 3.CDC와 데이터 복제: Database Migration Service(DMS)
    • 4.수집 아키텍처 패턴: Lambda 아키텍처와 이벤트 기반 수집
    • 5.Week 3 종합: 데이터 수집 2 복습
  • Week 4
    • 1.Glue Data Catalog와 크롤러: 데이터에 메타데이터를 입히다
    • 2.Glue ETL Job: Spark 위에서 데이터를 변환하다
    • 3.Glue Studio와 DataBrew: 코드 없이 변환하기
    • 4.스키마 관리와 데이터 품질: 진화를 견디고 신뢰를 보장하다
    • 5.Week 4 종합: AWS Glue 변환의 큰 그림
  • Week 5
    • 1.Amazon EMR: Spark·Hive와 클러스터 운영, 그리고 EMR Serverless
    • 2.Lambda 변환과 경량 처리: 이벤트 기반 ETL의 한계와 적합성
    • 3.오케스트레이션: Step Functions·MWAA·Glue Workflows의 선택 기준
    • 4.성능·비용 최적화: 파일 포맷·압축·파티셔닝과 작은 파일 문제
    • 5.Week 5 종합: 데이터 변환 2 — 엔진·오케스트레이션·최적화 통합 복습
  • Week 6
    • 1.S3 데이터레이크 레이아웃과 파티셔닝 전략
    • 2.AWS Lake Formation 중앙 권한 관리
    • 3.오픈 테이블 포맷: Iceberg, Hudi, Delta Lake
    • 4.S3 스토리지 관리와 비용 최적화
    • 5.Week 6 종합: 데이터레이크 복습
  • Week 7
    • 1.Amazon Redshift: 분산/정렬 키와 워크로드 최적화
    • 2.Amazon Athena: 서버리스 쿼리와 비용 최적화
    • 3.DynamoDB (분석 관점): 키 설계와 스트림 기반 파이프라인
    • 4.RDS/Aurora & 스토어 선택: OLTP, 제로 ETL, 워크로드→스토어 결정
    • 5.Week 7 종합: 분석 스토어 복습
  • Week 8
    • 1.파이프라인 모니터링: CloudWatch 지표·로그·알람
    • 2.데이터 품질·검증: Glue Data Quality와 검증 게이트
    • 3.로깅·감사·트러블슈팅: CloudTrail과 실패 복구
    • 4.비용·성능 운영: 모니터링, 사이징, 자동 스케일링
    • 5.Week 8 종합: 데이터 운영 및 지원 복습
  • Week 9
    • 1.접근 제어: IAM과 Lake Formation 권한
    • 2.암호화: KMS와 서비스별 암호화
    • 3.민감 데이터 보호: Macie와 마스킹
    • 4.데이터 거버넌스: 카탈로그·계보·공유·감사
    • 5.Week 9 종합: 보안·거버넌스 복습
  • Week 10
    • 1.도메인 1·2 통합 복습: 수집·변환 + 스토어 관리
    • 2.도메인 3·4 통합 복습: 운영·지원 + 보안·거버넌스
    • 3.전체 모의고사 페이스: 4개 도메인 종합 시나리오
    • 4.자주 틀리는 함정과 키워드: "요구사항 → 서비스" 번역표
    • 5.D-Day 마무리: 시험 구성, 시간 배분, 시나리오 분해 전략
MLS-C01 · SpecialtyMachine Learning - Specialty
합격 후기
← DEA-C01/Week 2/Day 2
DEA-C01· AssociateWeek 2 · Day 2읽기 약 7분

Day 2 - Kinesis Data Streams: 샤드, 파티션 키, 처리량

어제 배운 배치 수집은 "모았다가 한꺼번에"였다. 오늘부터는 정반대 세계, 스트리밍이다. 클릭스트림, IoT 센서, 결제 트랜잭션, 게임 텔레메트리처럼 데이터가 끊임없이 흘러들어오고, 그것을 초 단위로 처리해야 하는 상황. 그 한가운데 있는 서비스가 Amazon Kinesis Data Streams(KDS) 다.

KDS는 한마디로 "확장 가능한 실시간 데이터 파이프"다. 수많은 프로듀서가 데이터를 밀어넣고, 수많은 컨슈머가 거의 동시에 읽어간다. 오늘은 이 파이프의 내부 구조(샤드), 데이터를 어느 칸에 넣을지 정하는 파티션 키, 그리고 처리량 계산을 본다.

스트림은 샤드의 모음이다

KDS 스트림은 하나의 거대한 통이 아니라 샤드(shard) 라는 여러 레인으로 나뉜다. 샤드는 처리량의 기본 단위이자 병렬성의 단위다. 각 샤드는 고정된 용량을 가진다.

샤드 1개의 용량:
- 쓰기(입력): 1 MB/s  또는  1,000 records/s
- 읽기(출력): 2 MB/s  (공유 처리량 기준)

즉 스트림의 총 처리량 = 샤드 수 × 샤드당 용량이다. 초당 5MB를 써야 한다면 최소 5개의 샤드가 필요하다. 샤드를 늘리면(resharding) 처리량이 비례해서 늘어난다.

import boto3
kinesis = boto3.client("kinesis")
 
kinesis.create_stream(StreamName="clickstream", ShardCount=5)

여기부터는 Pro 전용입니다

Week 1은 누구나 무료로 볼 수 있어요. Week 2부터의 전체 학습 자료와 모의고사·무제한 복습은 Pro 플랜에서 이용할 수 있습니다.

Pro 알아보기로그인
이전배치 수집: S3 업로드, DataSync, Transfer Family, SnowWeek 2 · Day 1다음 Kinesis Data Firehose: 전달 스트림과 적재Week 2 · Day 3