MongoDB 기본 개념 정리

woody kim·2021년 6월 20일
0

MongoDB

목록 보기
1/6
post-thumbnail

MongoDB?

MongoDB는 대표적인 NoSQL 데이터베이스이다. NoSQL 데이터베이스는 전통적인 관계형 데이터베이스보다 덜 제한적인 일관성 모델을 이용하는 데이터의 저장 및 검색을 제공한다. NoSQL 데이터베이스는 데이터를 분류하고 접근하는 방식에 따라 종류가 다양한데, MongoDB는 데이터를 도큐먼트 형식으로 데이터를 다루는 대표적인 NoSQL 데이터베이스이다.

문서(Document)

  • '문서(document)'는 관계형 데이터베이스의 레코드(record)와 개념이 비슷함
  • 문서의 데이터 구조는 한 개 이상의 key-value 쌍으루 이루어짐
  • 문서는 BSON(바이너리 형태의 JSON) 형태로 저장됨
  • 새로운 문서를 만들면 _id 라는 고유값을 자동으로 생성하며, 고유값을 보장함
  • 여러 문서가 들어 있는 곳을 컬렉션이라 함.
  • MongoDB는 다른 스키마를 가지고 있는 문서들이 한 컬렉션에 공존 할 수 있음

MongoDB 구조

  • 서버 하나에 여러개의 데이터베이스를 가질 수 있음
  • 각 데이터베이스에는 여러 개의 컬렉션이 있음
  • 컬렉션 내부에는 문서들이 들어 있음
    리액트를 다루는 기술  639p

스키마 디자인

  • 문서 내부에 또 다른 문서가 위치 할 수 있음. 이를 서브도큐먼트라고 함.
  • 서브도큐먼트 또한 일반 문서를 다루는 것처럼 쿼리할 수 있음
  • 문서 하나에 최대 16MB만큼 데이터를 넣을 수 있음
  • 서브도큐먼트에서 용량을 초과할 가능성이 있다면 컬렉션을 분리시키는 것이 좋음.
{
  _id: ObjectId,
  title: String,
  body: String,
  username: String,
  createdDate: Date,
  commnets: [
    {
      _id: ObjectId,
      text: String,
      createdDate: Date	
    }
  ]
}

참고

리액트를 다루는 기술
wikipedia-NoSQL

profile
안녕하세요

0개의 댓글