본문 바로가기

Database/MongoDB

MongoDB #1 (소개)

반응형
JSON 기반문서(Document)형 NoSQL 데이터베이스

 

 

- 특징 : 스키마가 유연하고, 고성능 읽기/쓰기, 수평 확장 가능

  • 문서 지향: JSON 형태의 문서로 데이터 저장
  • 스키마 유연성: 고정된 스키마 없이 동적 구조 지원
  • 확장성: 수평적 확장(샤딩) 지원
  • 고성능: 인덱싱과 집계 파이프라인 제공
  • 고가용성: 복제 세트를 통한 자동 장애 복구

- 사용언어 : Node.js, Python, Java 등 다양한 언어 지원

- 데이터형태 : BSON(Binary JSON) 포맷 사용

 

 

 

 

구조

  • Database : 데이터베이스 하나 (RDB의 DB와 동일)
  • Collection : 테이블과 유사, 문서(Document)들의 집합
  • Document : 하나의 JSON 객체처럼 생긴 데이터 단위
  • Field : JSON의 키-값 쌍 형태의 속성
  • ObjectId : 각 문서의 고유 식별자 (_id)

 

 

 

언제 MongoDB를 사용할까?


✅ 적합한 경우:

  • 빠르게 변화하는 데이터 구조 (스타트업 MVP 등)
  • 로그, 센서 데이터, 채팅 등 대량의 비정형 데이터
  • 스키마가 유연한 프로젝트


🚫 부적합한 경우:

  • 복잡한 트랜잭션 처리
  • 정교한 JOIN이 필요한 비즈니스 로직

 

 

 

 

 

BSON 데이터 타입

{
  "_id": ObjectId("..."),           // 고유 식별자
  "string": "텍스트",               // 문자열
  "number": 42,                     // 숫자
  "boolean": true,                  // 불린
  "array": [1, 2, 3],              // 배열
  "object": { "key": "value" },     // 객체
  "date": new Date(),               // 날짜
  "null": null,                     // null
  "regex": /pattern/i               // 정규표현식
}

 

 

 

반응형

'Database > MongoDB' 카테고리의 다른 글

MongoDB #5 (집계)  (0) 2025.07.28
MongoDB #4 (인덱싱)  (0) 2025.07.28
MongoDB #3 (쿼리 및 필터링)  (4) 2025.07.28
MongoDB #2 (기본 명령어, CRUD)  (1) 2025.07.28
MongoDB #0 (설치 & 세팅)  (0) 2025.07.28