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
'빅데이터 관련 자료' 카테고리의 다른 글
In-memory DB, Redis를 사용한 이유 (0) | 2025.04.26 |
---|---|
Redis란 무엇인가? 인메모리 데이터 저장소의 대표주자 (0) | 2025.04.25 |
메타 AB 테스트, URL 변경해도 될까? (2) | 2025.04.23 |
NoSQL에서도 쿼리를 사용할까? 기초 문법과 예제 (2) | 2025.04.23 |
SLA 모니터링 정의와 중요성 (0) | 2025.04.22 |