DB/MongoDB

MongoDB 개념정리

SambaLim 2020. 4. 6. 21:20
MongoDB_개념정리

개념정리

MongoDB는 Document(문서지향적) 데이터베이스로 확장성이 좋고 유연합니다.

또한 당신이 필요로하는 Query, Indexing이 가능합나다.

기본개념

MongoDB는 NoSQL데이터베이스로 기존의 RDBMS(관계형 데이터베이스)와 차이가 있습니다.

NoSQL

NoSQL이란, Not Only SQL의 약자로 RDBMS의 한계를 극복하기 위한 새로운 형태를 가지고 있습니다.

Document

RDBMS의 record와 유사한 개념으로 JSON과 같은 key-value 쌍 형태로 구성됩니다.

  • 각 Document는 고유한 _id 값을 갖습니다.

    • 시간/머신ID/프로세스ID/순차번호로 구성되어 있으며, 값의 고유성을 보장합니다.

Collections

MongoDB는 Document들을 Collection안에 저장합니다.

RDBMS의 table과 유사한 개념입니다.

insertOne()myNewDB 와 Collection인 myNewCollection1 이 존재하지 않는 경우, 생성합니다.

특징

  • 같은 Collection(table과 유사)내에 있더라도 다른 Schema를 가질 수 있습니다.

  • RDMSdml JOIN 이 없어 다른 Collection간의 JOIN 이 힘듭니다.

    • ex. 댓글

      • RDBMS의 경우, 글과 그 글의 댓글에 대한 테이블을 각각 생성하고 JOIN 하여 사용하지만, MongoDB의 경우, 하나의 Document에 Sub document로 댓글을 포함시킵니다.
  • CRUD Query는 RDMS에 비해 빠르게 동작합니다.

  • 확장성이 우수하며, 클러스터 구축이 가능합니다.