Database/MongoDB
MongoDB - 데이터 모델링
pink_salt
2021. 12. 18. 09:20
728x90
MongoDB에서의 명령어들을 배우기 전에 MongoDB에서 데이터 모델링의 기본을 먼저 보고 가겠다.
- schema 디자인할 때 고려사항
- 사용자 요구(User Requirement)에 따라 schema를 디자인한다.
- 객체들을 함께 사용하게 된다면 한 Document에 합쳐서 사용한다.(ex. 게시물 - 댓글 관계)
- 그렇지 않으면 따로 사용해야 한다.(join은 사용하지 않는다.)
- 읽을 때 join하는게 아니라 데이터를 작성할 때 join한다.
- 예제
- 간단한 블로그를 위한 데이터베이스를 디자인한다고 가정한다.
- 요구사항
- 게시글에는 작성자 이름, 제목, 내용이 담겨 있다.
- 각 게시글은 0개 이상의 태그를 가지고 있을 수 있다.
- 게시글엔 댓글을 달 수 있다. 댓글은 작성자 이름, 내용, 작성 시간을 담고 있다.
- RDMS에서 데이터베이스 schema 디자인
- RDMS라면 테이블 3개를 만들어야 효율적이다.
- NoSQL에서는 모든 것을 하나의 Document에 넣는다.
-
{ _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 } ] }
-
- 요구사항
- 간단한 블로그를 위한 데이터베이스를 디자인한다고 가정한다.
참고한 사이트 :
728x90
반응형