📚 AWS 기타 데이터베이스 서비스


1️. DynamoDB의 본질

DynamoDB는 Key 기반 접근을 전제로 설계된 완전관리형 NoSQL 데이터베이스이다.

  • 서버 관리 없음
  • 자동 확장
  • 단일 자릿수 ms 지연 시간
  • 대규모 트래픽 처리에 최적화

핵심 전제는 단 하나다.

“어떻게 조회할 것인가가 곧 테이블 설계다”


2️. 데이터 모델과 설계의 핵심

기본 구성

  • Table
  • Item
  • Attribute

가장 중요한 요소

  • Primary Key
    • Partition Key
    • (선택) Sort Key

Partition Key는:

  • 데이터 분산
  • 성능
  • 비용

을 동시에 결정한다.

👉 DynamoDB에서 잘못된 Primary Key 설계는

성능 저하 + 비용 폭증으로 직결된다.


3️. 읽기 / 쓰기 모델의 특징

쓰기

  • PutItem: 전체 Item 저장(덮어쓰기)
  • UpdateItem: 일부 Attribute 수정
  • DeleteItem: 단건 삭제
  • BatchWrite: 최대 25개, 원자성 없음

읽기

  • GetItem: 단건 조회 (가장 빠름)
  • Query: 권장 방식
  • Scan: 전체 탐색 (비권장)

DynamoDB는 Scan을 쓰지 않도록 설계하는 DB다.


4️. 처리량과 일관성 모델

처리량 단위

  • RCU: 읽기
  • WCU: 쓰기

Item 크기 기준으로 올림 계산되므로

Item 크기 관리 = 비용 관리다.

일관성

  • Eventually Consistent (기본, 저비용)
  • Strongly Consistent (정합성 우선, 비용 2배)

5️. 인덱스 = 접근 패턴 확장 수단

DynamoDB 인덱스는 조회 패턴을 위한 구조다.

LSI

  • Partition Key 동일
  • Sort Key만 변경
  • Strong Consistency 가능
  • 테이블 생성 시에만 생성 가능

GSI

  • Partition / Sort Key 모두 자유
  • 생성·삭제 자유
  • Eventually Consistent만 가능
  • 별도 RCU/WCU 사용

👉 인덱스는 강력하지만

쓰기가 늘어날수록 비용도 같이 증가한다.


6️. 운영을 위한 핵심 기능들

TTL

  • 자동 데이터 만료
  • 세션, 로그, 임시 데이터 관리

Backup & PITR

  • On-Demand Backup: 수동 전체 백업
  • PITR: 최대 35일, 초 단위 복구

Streams

  • INSERT / MODIFY / REMOVE 이벤트 캡처
  • Lambda, Kinesis 등과 연계
  • 이벤트 기반 아키텍처의 핵심

Global Tables

  • 멀티 리전 Active-Active
  • 글로벌 서비스 고가용성 구성

7️. DynamoDB Demo가 보여주는 메시지

Demo의 핵심은 기능이 아니라 사고방식이다.

  • 단순 Key 기반 조회는 매우 빠르다
  • Scan은 구조 이해용이지 실서비스용이 아니다
  • DynamoDB는 단독이 아니라:
    • Application Server와 함께 사용할 때 진가를 발휘한다

8️. MemoryDB와 DynamoDB의 관계

DynamoDB가 “확장성과 안정성”이라면

MemoryDB는 “속도와 실시간성”이다.

MemoryDB

  • Redis 기반
  • 인메모리
  • 마이크로초 단위 응답
  • 내구성 보장

👉 캐시가 아니라

실시간 핵심 데이터 저장소로 사용 가능


9️. Redshift의 위치

Redshift는 DynamoDB와 완전히 다른 영역이다.

  • 목적: 분석(OLAP)
  • 컬럼 기반 저장
  • MPP 구조
  • S3 연동 대량 데이터 적재

👉 운영 DB ❌

👉 로그·통계·집계 분석 ⭕


10. 기타 데이터베이스 서비스 선택 관점

AWS는 “하나의 DB로 모든 문제 해결”을 추구하지 않는다.

데이터 특성적합한 서비스
트랜잭션RDS / Aurora
Key 기반 고속 처리DynamoDB
실시간 초저지연MemoryDB
분석Redshift
캐시ElastiCache
그래프Neptune
시계열Timestream
문서형DocumentDB
불변 원장QLDB

🧠 전체 요약

DynamoDB를 중심으로 한 AWS 데이터베이스 전략의 핵심은 **“데이터 특성과 접근 패턴에 따라 역할을 분리하는 것”**이다. DynamoDB는 범용 DB가 아니라 명확한 제약 위에서 최고의 성능을 제공하는 DB이며, 인덱스·Streams·Backup·Global Tables를 통해 단순 저장소를 넘어 운영 가능한 플랫폼으로 확장된다. AWS 데이터베이스를 잘 쓴다는 것은 서비스를 많이 아는 것이 아니라 언제 무엇을 쓰지 않을지를 아는 것이다.