MongoDB

mangez_js·2025년 1월 16일

Study

목록 보기
39/47

MongoDB란?

NoSQL 데이터베이스의 대표적인 예로, 전통적인 관계형 데이터베이스와는 다른 방식으로 데이터를 저장하고 관리합니다.
JSON과 유사한 문서(Document) 형태로 데이터를 저장하며, 높은 확장성과 유연성을 제공합니다.

주요 개념

  • 문서 지향(Document-Oriented)
    ∘ 데이터를 JSON과 유사한 BSON(Binary JSON)형식으로 저장합니다.
    ∘ 각 문서는 다양한 속성을 가질 수 있으며, 구조가 유연하여 스키마리스(Schema-less)데이터베이스로도 불립니다.
  • 컬렉션(Collection)
    ∘ 문서는 컬렉션이라는 컨테이너에 저장됩니다.
    ∘ 컬렉션은 RDBMS의 테이블과 유사하지만, 컬렉션 안의 문서들은 서로 다른 구조를 가질 수 있습니다.
  • 스키마 유연성(Schema Flexibility)
    ∘ 고정된 스키마를 요구하지 않으므로, 데이터를 저장할 때 각 문서의 필드와 구조를 자유롭게 정의할 수 있습니다.
  • 수평적 확장성 (Horizontal Scalability)
    ∘ 샤딩(Sharding)을 통해 데이터를 여러 서버에 분산 저장하여 대규모 데이터를 처리할 수 있습니다.

장점

  • 유연한 데이터 모델
    ∘ 다양한 형식의 데이터를 손쉽게 저장하고 관리할 수 있습니다.
    ∘ 이를 통해 비정형 데이터와 반정형 데이터를 효율적으로 처리할 수 있습니다.
  • 높은 확장성
    ∘ 데이터 증가에 따라 서버를 추가하는 방식으로 성능을 확장할 수 있습니다.
  • 빠른 데이터 처리 속도
    ∘ 인덱싱 및 샤딩 기능 덕분에 대용량 데이터에 대한 읽기 및 쓰기 작업을 빠르게 수행할 수 있습니다.
  • 개발 생산성 향상
    ∘ 직관적인 쿼리 언어와 JSON 기반 데이터 저장 방식은 개발자들이 데이터를 더 쉽게 다를 수 있습니다.

핵심 기능

  • CRUD Operations
    ∘ 데이터를 생성, 읽기, 업데이트, 삭제 할 수 있는 기본적인 데이터 조작 기능을 제공합니다.
  • 인덱싱
    ∘ 필드에 인덱스를 생성하여 쿼리 성능을 향상시킬 수 없습니다.
  • 샤딩
    ∘ 데이터를 여러 샤드로 분할하여 데이터베이스 성능을 확장합니다.
  • 복제
    ∘ 데이터를 여러 노드에 복제하여 고가용성과 내결함성을 제공합니다.
  • 집계 프레임워크
    ∘ 데이터 분석 및 자리를 위한 강력한 집계 기능을 제공합니다. 복잡한 데이터 처리를 파이프라인 방식으로 구현할 수 있습니다.
  • 트랜잭션 지원
    ∘ 다중 문서 연산에서도 일관성을 유지할 수 있습니다.

0개의 댓글