개발/Mysql
[MongoDB] Data Modelling
Selina Park
2019. 8. 26. 15:19
schema 디자인 할 때 고려사항
- 사용자 요구(User Requirement)에 따라 schema를 디자인한다.
- 객체들을 함께 사용한다면 한 Document에 합쳐서 사용한다. (예: 게시물-덧글과의 관계)
그렇지 않으면 따로 사용한다. (그리고 join을 사용하지 않는걸 확실히 해둔다.)
- 읽을 때 join하는게 아니라 데이터를 작성할 때 join한다.
RDMS에서 테이블로 구분되어져 사용되는 구조가 NoSQL에서는 모든걸 하나의 Document에 넣는다.
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
}
]
}