mongoDB Intro

Yooncastle·2021년 7월 29일
0

🚩 Intro

NoSQL

  • Not Only SQL
  • RDBMS처럼 고정된 스키마 및 JOIN이 존재 X

Document

  • RDBMS의 record와 비슷한 개념
  • key-value
  • 동적인 schema를 가지고 있음(RDBMS와의 큰 차이점)

Collection

  • RDBMS의 table과 비슷한 개념

Database

  • Collection의 container

RDBMS와 비교

장점

  • schema-less : 같은 Collection 안에 있을지라도 다른 schema를 가질 수 있음 즉, 자유로움
  • 복잡한 JOIN x
  • Deep Query ability
  • App에서 사용되는 객체를 DB에 추가할 때 Conversion/Mapping이 불필요

🚩 Data Modeling

  • 사용자 요구 (User Requirement) 에 따라 schema를 디자인
  • 객체들을 함께사용하게 된다면 한 Document에 합쳐서 사용(ex. 게시물-덧글 과의 관계)
  • 그렇지 않으면 따로 사용(그리고 join 을 사용하지 않는걸 확실히)
  • 읽을때 join 하는게아니라 데이터를 작성 할 때 join

RDBMS와 비교

  • RDBMS

  • MongoDB

{
 _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
 }
 ]
}

Reference

https://velopert.com/436

profile
기억보단 기록을

0개의 댓글