DynamoDB

기술노트
Admin (토론 | 기여)님의 2025년 8월 10일 (일) 14:44 판 (IT 용어 자동 업로드: DynamoDB)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

DynamoDB

비유로 쉽게 이해하기

DynamoDB는 **'엄청나게 큰 도서관의 열람 카드 시스템'**과 같습니다. 모든 책(데이터)은 고유한 카드 번호(파티션 키)를 가지고 있어, 어떤 책이든 카드 번호만 알면 눈 깜짝할 사이에 찾아낼 수 있습니다. 도서관이 아무리 커지고 책이 많아져도, 책을 찾는 속도는 항상 일정하게 유지되는 마법 같은 시스템입니다.

개요

Amazon DynamoDB는 AWS에서 제공하는 완전 관리형 NoSQL 데이터베이스 서비스입니다. 어떤 규모에서든 10밀리초 미만의 지연 시간(latency)을 제공하도록 설계되었으며, 뛰어난 성능과 확장성을 자랑합니다.

상세 설명

DynamoDB는 관계형 데이터베이스(RDS)와 달리, 정해진 스키마 없이 유연한 데이터 모델을 사용하는 NoSQL 데이터베이스입니다. 주로 키-값(Key-Value) 및 문서(Document) 데이터 모델을 지원합니다. 모든 데이터는 테이블에 저장되며, 각 항목은 기본 키(Primary Key)에 의해 고유하게 식별됩니다.

'완전 관리형' 서비스이므로, 사용자는 하드웨어 프로비저닝, 소프트웨어 패치, 클러스터 확장 등 복잡한 관리 작업에 대해 전혀 신경 쓸 필요가 없습니다. 트래픽이 증가하면 AWS가 자동으로 처리 용량을 확장하고, 트래픽이 줄면 다시 축소하여 비용을 최적화합니다.

왜 중요할까요?

  • 일관된 고성능: 데이터 양이나 요청 수에 상관없이 항상 빠르고 예측 가능한 성능을 제공합니다.
  • 무한한 확장성: 사실상 무제한의 처리량과 스토리지로 원활하게 확장되므로, 대규모 애플리케이션에 적합합니다.
  • 서버리스 아키텍처의 핵심: Lambda, API Gateway와 완벽하게 통합되어, 서버 없는 애플리케이션을 구축하는 데 핵심적인 역할을 합니다.

주요 특징

  • 완전 관리형 NoSQL 데이터베이스: 서버 관리가 전혀 필요 없습니다.
  • 빠르고 일관된 성능: 한 자릿수 밀리초의 응답 시간을 제공합니다.
  • 자동 확장 및 축소: 트래픽에 따라 읽기/쓰기 용량을 자동으로 조절합니다.
  • 글로벌 테이블(Global Tables): 여러 AWS 리전에 걸쳐 데이터를 자동으로 복제하여, 전 세계 사용자에게 빠른 접근을 제공하는 다중 리전, 다중 마스터 데이터베이스를 구축할 수 있습니다.
  • DynamoDB Streams: 테이블의 데이터 변경 사항(생성, 수정, 삭제)을 실시간으로 캡처하여 Lambda 함수를 트리거하는 등 다양한 이벤트 기반 아키텍처를 구현할 수 있습니다.

사용 사례

  • 수백만 사용자를 대상으로 하는 모바일 앱 또는 웹 애플리케이션의 사용자 데이터 저장
  • 빠른 응답 속도가 필수적인 온라인 게임의 순위표, 사용자 세션 관리
  • 사물 인터넷(IoT) 디바이스에서 수집되는 대규모 센서 데이터 저장
  • 실시간 광고 입찰(Real-Time Bidding) 플랫폼
  • 서버리스 애플리케이션의 주 데이터 저장소

관련 서비스/용어

참고 자료