TIL - 20260401

juni·2026년 4월 1일

TIL

목록 보기
309/468

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 Athena• S3에 저장된 데이터를 대상으로, 표준 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개의 댓글