MongoDB


1 개요

DBMS의 한 종류.

MongoDB는 NoSQL로 분류되는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다. MySQL 처럼 전통적인 테이블-관계 기반의 RDBMS가 아니며 SQL을 사용하지 않는다.

2 라이선스

아페로 GPL과 아파치 라이선스를 결합하여 공개되었다.

3 특징

MongoDB는 MySQL의 테이블과 같은 스키마가 고정된 구조 대신, JSON형태의 동적 스키마형 문서를 사용하는데, 이를 MongoDB 에서는 BSON이라고 부른다.

MongoDB는 가장 기본적인 데이터를 Document 라고 부른다. 이는 MySQL같은 RDBMS에서는 row에 해당된다. 이 Document 의 집합을 Collection 이라고 하는데, RDBMS에서는 Table에 해당된다. Collection의 집합은 DB이고, 이는 RDBMS에서도 동일하다.

똑같은 조건으로 설계되었을 시 기존 RDBMS 속도보다 굉장히 빠르다는 장점이 있다. 이런 속도는 ACID를 포기한 댓가로 얻은 것이다. 따라서 데이터 consistency가 거의 필요 없고 조인 연산을 embed로 대체할 수 있는 경우에는 Mongodb가 확실한 대안이 될 수 있다. 반대로 저장하는 데이터가 은행 데이터같이 consistency가 매우 중요한 작업에는 MongoDB를 쓰기 매우 힘들다.

MongoDB 측에서 MongoDB와 MySQL을 비교한 것을 문서로 만든 것이 있는데, MySQL에서 MongoDB로 갈아타려는 유저들은 참고하도록 하자. [1]