[ MongoDB ] Basic


MongoDB


MongoDB는 C++기반으로 작성된 문서지향적인 Cross-Platform 데이터베이스이다. 그렇기 때문에 MongoDB는 강력하고 유연하며 확장성이 높은 범용 데이터베이스라고 할 수 있다.
현재 NoSQL 데이터베이스 중에서도 가장 인지도가 높은 오픈소스 소프트웨어이다.




NoSQL이란?
Not Only SQL의 약자로, 기존의 RDBMS의 한계를 개선하여 RDBMS 보다 덜 제한적인 일관성 모델을 이용하는 데이터베이스이며, 데이터를 키(Key)값(Value) 형태로 저장하며, Key를 통해 데이터에 접근 및 관리를 한다.


Document
문서지향 데이터베이스에서는 '행'이라는 개념보다 유연한 '문서(Document)'라는 모델을 사용한다. MongoDB에서는 이러한 문서의 키와 값을 미리 정의하지 않기 때문에, 고정된 형태의 스키마가 없어(동적스키마) 더 다양한 자료의 표현이 가능하다.

{"Greet" : "Hello MongoDB""Year" : 2017}


주의할 점
  1. 문서의 키는 문자열이다. \0(null 문자) / . / $ 를 제외하고는 모든 UTF-8 문자를 써도 된다.
  2. MongoDB는 데이터형과 대소문자를 구별한다.
  3. 문서의 키는 중복될 수 없다.
  4. 대부분의 경우, 문서에서 키의 순서는 중요하지 않기 때문에, 키의 순서에 의존적인 스키마를 설계할 필요가 없다.

Collection
콜렉션은 문서의 모음이며, 동적스키마를 가진다.
(하나의 콜렉션 내 문서들이 서로 다른 구조를 가질 수 있음을 의미)


RDBMS와 MongoDB 개념 비교

RDBMS MongoDB
Table Collection
Row Document
Column Key/Field
Table Join 내장문서(Embedded Documents)
Primary Key Primary Key(_id)

댓글

이 블로그의 인기 게시물

[SPRING] log4j2.xml 설정

[ Javascript ] 프로토타입 이해하기

[JWT] 토큰(Token) 기반 인증에 대한 소개