MongoDB

MongoDB - #1 간단한 특징 기록

letsDoDev 2024. 10. 23. 12:57

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 복제 기능을 제공한다. 장애 대비에 매우 유용하다 -> 자세한 내용은 별도로 정리하자!