반응형
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 |