MongDB 특징
- 데이터베이스 관리 시스템.
- 직관적인 데이터 모델
- 정보를 행 대신 도규먼트에 저장 여기서 도큐먼트는 일종의 필드, json 같은 형태
{
articleid : 1,
user : {
name : 홍길동,
age : 20
},
content : "내용"
}
- 도큐먼트 형태의 데이터 장점 :
기존 관계형 데이터 베이스에서는 user 같은 정보를 가지고 오기 위해서는 조인을 했어야 했는데
도큐먼트에서는 하나의 아이템의 value로 할당시킬 수 있다.
- 몽고DB에서는 데이터가 객체 형태로 들어가 있이 때문에 객체 매퍼의 번거로움 복잡성에서 벗어날 수 있다.
- 몽고DB는 도큐먼트 모음과 같이 데이터를 컬렉션 형태로 저장한다. 이는 RDBMS인 SQL이 컬럼(행)으로 데이터를 저장하는 것과 다르다는 점을 가장 잘 보여준다.
- 컬렉션 형태
{
id : "게시물 id"
commont : [
{id : "댓글 id", content : "댓글 내용" , ..},
{id : "댓글 id", content : "댓글 내용" , ..}
{id : "댓글 id", content : "댓글 내용" , ..}
]
}
- 관계형 데이터베이스의 경우 정규화 + 조인으로 여러 테이블을 사용해야 '게시물' 과 '댓글' 데이터 모두 불러올 수 있다.
- 몽고DB 에서는 도큐먼트들을 컬렉션으로 모아두기 때문에 스키마도 따로 분류하지 않아도 된다. (이론상)
- "복제 세트" 라는 db 복제 기능을 제공한다. 장애 대비에 매우 유용하다 -> 자세한 내용은 별도로 정리하자!