[Database] MongoDB 개요

우유·2026년 2월 5일

[Cloud] Database

목록 보기
20/28

MongoDB 개념 정리 – 문서 기반 NoSQL 데이터베이스 이해하기


1. MongoDB란 무엇인가?

MongoDB
👉 문서(Document) 기반 NoSQL 데이터베이스이다.

관계형 데이터베이스처럼 테이블과 행(row)을 사용하는 대신,
JSON 형태의 문서(Document) 를 저장 단위로 사용한다.

MongoDB의 핵심 한 줄 정의

JSON 형태의 데이터를 스키마 없이 저장하고,
수평 확장(Scale-out)에 최적화된 NoSQL 데이터베이스


2. MongoDB가 등장한 이유 (RDB의 한계)

기존 RDBMS의 구조적 한계

항목RDBMS
스키마사전 정의 필수
구조 변경ALTER TABLE 비용 큼
확장 방식수직 확장(Scale-up) 중심
데이터 형태정형 데이터 위주

현대 서비스의 데이터 특성

  • 사용자 행동 로그
  • 이벤트 기반 데이터
  • AI / 머신러닝 학습 데이터
  • JSON 기반 API 응답

👉 이러한 데이터는 테이블 구조로 미리 고정하기 어렵다


3. MongoDB 데이터 모델

3-1. 기본 구성 단위

Database
 └── Collection
      └── Document (JSON/BSON)

MongoDB는 Collection 안에 Document를 저장하는 구조를 가진다.

RDBMS와 비교

RDBMSMongoDB
DatabaseDatabase
TableCollection
RowDocument
ColumnField

4. Document 구조 (BSON)

MongoDB는 내부적으로 BSON(Binary JSON) 포맷을 사용한다.
이는 JSON을 확장한 이진(Binary) 형태로, 성능과 타입 표현이 강화된 구조다.

예시 Document

{
  "_id": ObjectId("65b1f9a1a9c8e0a1a1111111"),
  "name": "Kim",
  "age": 30,
  "skills": ["linux", "docker", "kubernetes"],
  "created_at": ISODate("2026-01-01T10:00:00Z")
}

Document의 특징

  • 중첩(Embedded Document) 가능
  • 배열(Array) 타입 기본 지원
  • 각 Document마다 구조가 달라도 저장 가능

5. MongoDB가 “스키마가 없다”는 의미

아무 규칙도 없다 → 오해
DB가 스키마를 강제하지 않는다

예를 들어 같은 Collection 안에서도 다음과 같이 저장 가능하다.

{ "name": "Lee", "age": 25 }
{ "name": "Park", "email": "park@test.com" }

즉,

  • 스키마 검증은 애플리케이션 또는 설계자의 책임
  • 필요하다면 Schema Validation 기능으로 제한 가능

6. MongoDB 사용 시나리오

MongoDB가 적합한 경우

  • 대규모 로그 저장
  • 이벤트 수집 시스템
  • 사용자 프로필 데이터
  • AI / ML 학습용 데이터 저장
  • 마이크로서비스 간 JSON 데이터 교환

MongoDB가 부적합한 경우

  • 복잡한 JOIN이 필수적인 경우
  • 금융/회계 시스템
  • 강한 트랜잭션 정합성(ACID)이 중요한 경우

7. 한 줄 요약

MongoDB는
정형 데이터보다 유연한 데이터,
단일 서버보다 분산 환경에 최적화된 데이터베이스다.

profile
Front-end Developer, Cloud Engineer

0개의 댓글