MongoDB와 AWS DocumentDB

Jina Kim·2025년 7월 8일
post-thumbnail

MongoDB

대표적인 문서 지향(Document-Oriented) NoSQL 데이터베이스

  • 데이터를 JSON(BSON) 형태의 문서로 저장
  • 스키마가 유연하고 수평 확장성이 뛰어남
  • 웹/모바일 앱, 빅데이터 처리, 실시간 분석 등에 사용

개념

  • 컬렉션: RDB의 테이블
  • 도큐먼트: RDB의 행(Row). JSON 구조의 데이터
  • 필드: RDB의 컬럼(Column). key-value 형태

예시: 사용자 문서

{
  "_id": ObjectId("abcd1234..."),  // 자동 생성되는 고유 ID
  "name": "Alice",
  "age": 29,
  "email": "alice@example.com",
  "hobbies": ["reading", "gaming"],
  "address": {
    "city": "Seoul",
    "zip": "12345"
  }
}


Amazon DocumentDB

MongoDB 호환 API를 제공하는 AWS의 관리형 문서형 데이터베이스

  • MongoDB처럼 사용할 수 있지만, 백엔드는 AWS에서 자체 설계한 구조로 동작해야함
  • 완전 관리형(Managed), 고가용성, 보안, 확장성에 초점을 맞춘 서비스
  • MongoDB 3.6 / 4.0 / 5.0 API 호환

DocumentDB(D) vs MongoDB(M) 비교

운영 방식

  • M: 직접 설치/운영 (또는 Atlas)
  • D: AWS 완전 관리형

호환성

  • M: 공식MongoDB
  • D: MongoDB API 호환 (일부 제한 있음)

스토리지

  • M: 로컬 저장 or Atlas의 S3 기반
  • D: AWS Aurora 기반 분산 스토리지

확장성

  • M: 직접 샤딩 or 리플리카 셋 구성
  • D: 자동 스토리지 확장 (최대 64TB)

가용성

  • M: 직접 구성 필요
  • D: AZ간 고가용성 기본 제공

성능 최적화

  • M: 설정에 따라 달라짐
  • D: 읽기 성능 최적화 (Reader 인스턴스 지원)

트랜잭션

  • M: 다중 문서 트랜잭션 지원 (v4.0+)
  • D: 제한적 (DocumentDB는 단일 문서 트랜잭션 위주)

비용

  • M: 인프라 직접 관리 or Atlas 과금
  • D: EC2 인스턴스 + 스토리지 + I/O 단위 과금

DocumentDB의 장점

✅ MongoDB API 호환
→ 기존 MongoDB 코드 대부분 그대로 사용 가능 (단, 100%는 아님)

✅ AWS 통합 관리
→ IAM, VPC, CloudWatch, Backup, SNS 등과 바로 연동

✅ 고가용성 & 내구성
→ 다중 AZ 지원, 자동 백업 및 스냅샷

✅ 스케일링 유연성
→ Reader 인스턴스 추가로 읽기 트래픽 분산 가능

✅ 보안
→ VPC, KMS 암호화, TLS 연결, IAM 인증 등 AWS 표준 보안 제공

DocumentDB의 단점

❌ 완전한 MongoDB 호환 아님
→ 일부 연산자, 명령어, 기능(예: change stream, 일부 aggregation 단계)은 미지원

❌ 비용이 비쌈
→ EC2 기반이라 인스턴스당 비용 + I/O 요금 + 백업 스토리지 요금 발생

❌ 오픈소스 아님
→ MongoDB는 오픈소스지만 DocumentDB는 AWS 고유 서비스

❌ 샤딩 미지원
→ MongoDB처럼 수평 확장 샤딩 불가. 대신 스토리지 자동 확장만 제공



여담

그렇지만 MongoDB에선 AWS DocumentDB가 API 테스트의 66퍼센트 실패율을 보인다고 함
https://www.mongodb.com/resources/compare/documentdb-vs-mongodb

profile
Hello, World!

0개의 댓글