TIL - 20260401

juni·2026년 4월 1일

TIL

목록 보기
309/318

0401 AWS SAA 자격증 대비 (5/N): NoSQL, 캐싱, 데이터 분석


✅ 1. Amazon DynamoDB: 완전 관리형 NoSQL 데이터베이스

  • DynamoDB는 어떤 규모에서든 빠르고 예측 가능한 성능을 제공하는 완전 관리형 키-값(Key-Value) 및 문서(Document) 데이터베이스입니다.

  • RDS(관계형) vs DynamoDB(NoSQL):

    • RDS: 정해진 스키마(테이블 구조)가 필요하며, 복잡한 JOIN 연산에 강점이 있습니다.
    • DynamoDB: 스키마가 유연(Schemaless)하며, 매우 단순한 Get/Put 연산을 통해 밀리초 미만의 매우 낮은 지연 시간(Latency)을 제공하는 데 최적화되어 있습니다. 복잡한 JOIN은 지원하지 않습니다.

➕ DynamoDB의 핵심 특징

  1. 서버리스 (Serverless): 프로비저닝하거나 관리할 서버가 없습니다.
  2. 자동 확장 (Auto-scaling): 트래픽에 따라 읽기/쓰기 용량(처리량)을 자동으로 확장하고 축소합니다.
  3. 높은 가용성 및 내구성: 데이터는 기본적으로 여러 가용 영역(AZ)에 걸쳐 자동으로 복제됩니다.
  4. 일관성 모델:
    • 강력한 일관된 읽기 (Strongly Consistent Reads): 가장 최신의 쓰기 결과를 즉시 반영하여 읽습니다. (더 많은 처리량 소모)
    • 최종적 일관된 읽기 (Eventually Consistent Reads): (기본값) 약간의 지연(보통 1초 미만) 후에 데이터가 복제되어 읽힐 수 있습니다. (처리량 2배 효율)
  • 시험 포인트:
    • "밀리초 단위의 매우 빠른 응답 시간이 요구되는 애플리케이션(온라인 게임, 광고 기술 등)에 적합한 데이터베이스는?" → DynamoDB
    • "유연한 스키마와 자동 확장이 필요한 서버리스 애플리케이션의 주 데이터베이스는?" → DynamoDB

✅ 2. Amazon ElastiCache: 인메모리 캐싱 서비스

  • ElastiCache는 클라우드에서 인메모리(In-Memory) 캐시를 손쉽게 배포, 운영, 확장할 수 있도록 지원하는 완전 관리형 서비스입니다.

  • 캐싱의 목적: 자주 액세스하지만 잘 변하지 않는 데이터를 DB 대신 메모리에 저장해둠으로써, DB의 부하를 줄이고 애플리케이션의 응답 속도를 획기적으로 향상시키는 것입니다.

➕ ElastiCache가 지원하는 엔진: Redis vs Memcached

구분RedisMemcached
데이터 타입다양함 (문자열, 리스트, 해시, 셋 등)단순함 (문자열만 지원)
영속성지원 (스냅샷을 통해 데이터 백업 및 복구 가능)미지원 (휘발성 메모리 전용)
고가용성지원 (복제, 클러스터링, Multi-AZ)제한적 (단순 스케일 아웃만 지원)
주요 용도• 복잡한 캐싱 로직
• 랭킹 보드, 세션 스토어, 메시지 큐 등 다목적
• 매우 단순하고 간단한 객체 캐싱
  • 시험 포인트:
    • "데이터베이스의 읽기 부하를 줄이고 애플리케이션의 응답 시간을 개선하기 위해 어떤 서비스를 사용해야 하는가?" → ElastiCache
    • "복잡한 데이터 구조를 캐싱해야 하거나, 캐시 데이터의 백업이 필요한 경우 어떤 엔진을 선택해야 하는가?" → Redis

✅ 3. 데이터 분석 및 시각화 서비스

  • AWS는 대규모 데이터를 수집, 처리, 분석, 시각화하기 위한 다양한 서비스를 제공합니다.
서비스이름역할 및 핵심 포인트
데이터 웨어하우스Amazon Redshift페타바이트(PB)급 대규모 데이터에 대한 복잡한 분석 쿼리를 빠르게 실행하기 위해 최적화된 데이터 웨어하우스(DW).
컬럼 기반(Columnar) 스토리지를 사용하여 분석 성능을 극대화.
대화형 쿼리Amazon AthenaS3에 저장된 데이터를 대상으로, 표준 SQL을 사용하여 직접 데이터를 쿼리하고 분석할 수 있는 서버리스 쿼리 서비스.
시험 포인트: "S3에 있는 로그 파일을 대상으로 별도의 DB 구축 없이 SQL로 데이터를 분석하고 싶다" → Athena
데이터 시각화Amazon QuickSight• 다양한 데이터 소스(S3, Redshift, RDS 등)에 연결하여, 비즈니스 인텔리전스(BI) 대시보드와 시각화 자료를 손쉽게 만들 수 있는 서버리스 BI 서비스.
데이터 처리 파이프라인AWS Glue• 데이터 원본에서 데이터를 추출(Extract), 변환(Transform), 로드(Load)하는 ETL 작업을 자동화하는 서버리스 데이터 통합 서비스.

📌 오늘의 핵심 요약 (Solutions Architect 관점)

  • 데이터베이스 선택은 워크로드의 특성에 따라 결정된다:
    • 복잡한 관계와 트랜잭션이 중요하면 → RDS (관계형).
    • 매우 빠른 속도와 유연한 스키마, 자동 확장이 필요하면 → DynamoDB (NoSQL).
  • 성능 병목의 대부분은 데이터베이스에서 발생한다:
    • ElastiCache를 도입하여 DB의 읽기 부하를 줄이는 것은 가장 일반적이고 효과적인 성능 개선 전략이다.
    • 복잡한 기능이 필요하면 Redis, 단순한 캐싱만 필요하면 Memcached를 선택한다.
  • S3는 데이터 레이크(Data Lake)의 중심이다:
    • 대규모 데이터를 일단 S3에 모아두고, Athena를 사용하여 즉시 SQL로 분석하거나, Glue를 통해 가공하여 Redshift로 옮겨 심층 분석하는 등, S3를 중심으로 다양한 데이터 분석 파이프라인을 설계할 수 있어야 한다.

0개의 댓글