Documet DB의 대명사이자 많이 사용하는 DB이다.

NoSQL의 일종이며 Not Only SQL의 약자입니다.

기존 관계형 데이터베이스가 아닌 다양한 데이터 모델을 지원하는 데이터베이스입니다.

MongoDB는 문서 지향 데이터베이스로 JSON과 유사한 형태인 BSON(Binary JSON)을 사용해 데이터를 저장합니다.

MongoDB 101

이론

Documnet-Oriented NoSQL 이다. C++로 만들어졌다.

Document

Document는 RDMBS의 record와 유사한 개념으로 JSON objects 형태의 key-value의 쌍으로 이루어진 데이터 구조로 구성된다.

value에는 다른 document, array, document array가 포함될 수 있다.

  1. 확장성: MongoDB는 분산 데이터 처리를 위해 설계되어 대용량 데이터 저장 및 처리가 가능하며, 수평 확장이 용이합니다.
  2. 스키마리스: 고정된 스키마가 없어 유연한 데이터 모델링이 가능하고, 다양한 형태의 데이터를 저장할 수 있습니다.
  3. 성능: 인덱싱, 쿼리 최적화, 집계 파이프라인 등 다양한 기능을 제공하여 높은 성능을 보장합니다.
  4. 강력한 쿼리 언어: MongoDB는 강력한 쿼리 언어를 제공하여 다양한 쿼리 연산을 수행할 수 있습니다.

Schemaless

스키마리스(schemaless)는 데이터베이스에서 고정된 스키마를 사용하지 않는 데이터 모델링 방식을 의미합니다. 스키마는 데이터베이스의 구조를 정의하고, 데이터의 형태와 제약조건을 명시하는 방식입니다. 전통적인 관계형 데이터베이스에서는 테이블 스키마를 사전에 정의하고, 모든 데이터는 이 스키마에 따라 저장되어야 합니다.

스키마리스 데이터베이스의 장점은 다음과 같습니다:

  1. 유연성: 데이터 구조가 고정되지 않기 때문에 다양한 형태의 데이터를 저장할 수 있습니다. 애플리케이션의 요구 사항이 변경되더라도 데이터베이스 스키마를 수정하지 않아도 됩니다.