일단 시작해보는 블로그

[MongoDB] Data Modelling 본문

개발/Mysql

[MongoDB] Data Modelling

Selina Park 2019. 8. 26. 15:19

schema 디자인 할 때 고려사항

 - 사용자 요구(User Requirement)에 따라 schema를 디자인한다.

 - 객체들을 함께 사용한다면 한 Document에 합쳐서 사용한다. (예: 게시물-덧글과의 관계)

   그렇지 않으면 따로 사용한다. (그리고 join을 사용하지 않는걸 확실히 해둔다.)

 -  읽을 때 join하는게 아니라 데이터를 작성할 때 join한다.

 

 

RDMS에서 테이블로 구분되어져 사용되는 구조가 NoSQL에서는 모든걸 하나의 Document에 넣는다.

 

RDMS는

 

https://velopert.com/436, RDMS 테이블 구조 예시

NoSQL는

{
   _id: POST_ID,
   title: POST_TITLE,
   content: POST_CONTENT,
   username: POST_WRITER,
   tags: [ TAG1, TAG2, TAG3 ],
   time: POST_TIME
   comments: [
     { 
     username: COMMENT_WRITER,
     mesage: COMMENT_MESSAGE,
     time: COMMENT_TIME
     },
     { 
     username: COMMENT_WRITER,
     mesage: COMMENT_MESSAGE,
     time: COMMENT_TIME
     }
   ]
}

 

 

Comments