MongoDB란 무엇인가? NoSQL의 대표 주자
잡학다식의 지식공방

빅데이터 관련 자료

MongoDB란 무엇인가? NoSQL의 대표 주자

carpe08 2025. 4. 24. 10:16
320x100

MongoDB는 문서(Document) 기반의 NoSQL 데이터베이스로, JSON과 유사한 형식(BSON)의 데이터를 저장합니다. 스키마가 유연하고 수평 확장이 용이해, 대용량의 데이터를 빠르게 처리할 수 있는 구조로 설계되어 있습니다.


1. MongoDB의 핵심 개념

MongoDB는 전통적인 관계형 데이터베이스(RDBMS)와 달리 테이블, 행, 열 구조가 아닌 컬렉션(Collection)문서(Document) 구조를 사용합니다.

  • Document: JSON과 유사한 구조로, 하나의 데이터 객체에 해당
  • Collection: 유사한 문서들이 모여 있는 집합체 (관계형 DB의 테이블과 유사)
  • BSON(Binary JSON): JSON의 확장 형식으로, MongoDB 내부에서 사용되는 데이터 형식

2. MongoDB의 특징

  • 스키마가 유연함: 필드 구조가 동일하지 않아도 한 컬렉션에 저장 가능
  • 수평 확장이 쉬움: Sharding(샤딩) 기능으로 여러 서버에 데이터 분산 저장
  • 고가용성: Replica Set 구조로 장애 발생 시 자동 장애 조치 가능
  • Index 지원: 다양한 필드에 인덱스를 설정하여 빠른 검색 가능
  • Aggregation 프레임워크: 복잡한 데이터 처리도 효율적으로 수행 가능

3. MongoDB는 어디에 쓰일까?

MongoDB는 다음과 같은 분야에서 많이 사용됩니다:

  • 콘텐츠 관리 시스템(CMS)
  • 사용자 프로필 저장
  • IoT 센서 데이터 저장
  • 모바일/웹 애플리케이션의 백엔드 데이터 저장소
  • 실시간 로그 수집 및 분석

4. 관계형 DB와의 비교

항목 관계형 DB MongoDB

데이터 구조 테이블(행/열) 문서 기반(JSON/BSON)
스키마 고정 유연함
JOIN 가능 제한적 또는 없음
확장성 수직 확장 중심 수평 확장 용이
트랜잭션 강력한 지원 4.0 이상 버전부터 지원 강화

5. 예시 문서

{
  "_id": "user_001",
  "name": "홍길동",
  "email": "hong@example.com",
  "age": 30,
  "interests": ["mongodb", "nosql", "backend"]
}

위와 같이, 하나의 사용자 데이터를 하나의 문서로 저장할 수 있으며, 배열 및 중첩 구조도 지원합니다.


6. 요약

MongoDB는 구조가 유연하고 확장성이 뛰어난 NoSQL 데이터베이스로, 다양한 비정형 데이터를 효율적으로 저장하고 빠르게 조회할 수 있는 장점이 있습니다. 빠른 개발과 다양한 데이터 구조가 필요한 현대 애플리케이션에 매우 적합한 DB입니다.

320x100
320x100