MongoDB

큰숲백과, 나무를 보지 말고 큰 숲을 보라.
Senouis (토론 | 기여)님의 2025년 10월 27일 (월) 18:23 판 (→‎특징)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)


MongoDB는 Mongo Inc에서 개발하는 NoSQL 데이터베이스다. 2009년 2월 처음 공개되었으며, 2010년대부터 시작된 NoSQL 데이터베이스 유행의 선두이자 중심 역할을 하는 DBMS다.

특징[편집 | 원본 편집]

  • SQL을 이용하지 않고, JSON 형태로 데이터를 받아 이진화 처리를 한 BSON으로 데이터를 적재한다. 이런 연유로 테이블이 아닌 도큐먼트라는 단위로 데이터를 저장한다.
    • 이로 인해 나타나는 특징으로 DBMS에서 데이터를 꺼낸 다음 별다른 변환 절차 없이 바로 직렬화해 네트워크 통신으로 보내기 쉽다.
    • 또한 스키마가 고정되어 있지 않아 신규로 수집한 데이터의 속성 추가/변경이 자유롭다. 대신 기존에 쌓인 데이터의 속성 추가/변경은 어려운 편이다. 이런 이유로 보통 크롤링한 데이터의 저장소로 많이 사용한다.
  • 가용성 및 데이터 손실 위험 방지를 위한 레플리케이션이 쉽고, 레플리카 DB 간의 로드 밸런싱을 테이블 단위로 분리하여 DB를 분산 저장하는 샤딩(Sharding)이라는 개념으로 쉽게 구현할 수 있다. 기존 RDBMS가 Master/Slave 구조니 클러스터니 하며 레플리케이션 후 DBMS 간 동기화에 골치를 썩는 것과는 대조적이다. 지금은 아예 개발사 측에서 MongoDB Atlas라고, MongoDB Inc에서 직접 세계 각지의 클라우드 서비스에 샤딩을 포함한 MongoDB 클러스터 구성을 자동으로 해주는 서비스까지 냈다.
  • RDBMS에서 GROUP BY 및 집계 함수(sum, max, min, count, avg)의 역할에 대응되는 고유의 집계(Aggregation) 기능을 3가지 방식으로 지원한다. 스키마의 무결성이 보장되지 않기 때문에 이런 식으로 상황에 따라 다르게 쓸 수 있도록 여러 방법을 둔 것이다.

에디션[편집 | 원본 편집]

  • 커뮤니티 에디션: 보통 공짜 MongoDB 서버라고 하면 이쪽을 가리킨다. 개인 또는 소규모 팀 프로젝트에서 쓰는 용도다.
  • 엔터프라이즈 에디션: 기업용 유료 버전. MongoDB Inc 측에서 기술지원을 하고 그 대가로 큰 돈을 걷어가는 제품이다.