개발하는 두부

MongoDB 특징

by 뚜부니

"MongoDB는 NoSQL 데이터베이스 중 하나이다" 말고는 잘 모르는 것 같아서 MongoDB에 대해 정리해보았어요.

 

MongoDB란

MongoDB는 문서 지향(Document-Oriented) 데이터베이스로, JSON과 유사한 BSON(Binary JSON) 형식의 문서를 저장하고 관리해요. MongoDB는 테이블과 스키마에 기반한 전통적인 관계형 데이터베이스와 다르게 유연한 데이터 모델을 제공하여 다양한 형태의 데이터를 효율적으로 처리할 수 있게 해줘요.

 

주요 특징

  1. 유연한 스키마
    • 스키마리스(Schema-less) 구조 지원
    • 각 문서(레코드)가 서로 다른 필드와 구조를 가질 수 있음
    • 데이터 모델의 유연한 변경 및 확장 가능
  2. 고성능과 확장성
    • 수평적 스케일링 지원
    • 샤딩(Sharding)을 통해 대용량의 데이터를 효율적으로 처리
    • 인메모리 성능 향상을 위한 인덱싱과 복제(Replication) 기능 제공
    • 고가용성과 데이터 안정성 확보
  3. 강력한 쿼리 언어
    • 풍부한 쿼리 언어 제공
    • CRUD(Create, Read, Update, Delete) 작업뿐만 아니라 집계 프레임워크를 통한 복잡한 데이터 분석도 가능
  4. 다양한 언어와 플랫폼 지원
    • JavaScript, Python, Java, C#, Node.js 등 다양한 프로그래밍 언어용 공식 드라이버 제공

 

MongoDB의 구성 요소

  1. 데이터베이스
    • 여러 컬렉션(Collection)으로 구성
    • 관계형 데이터베이스의 데이터베이스와 유사
  2. 컬렉션
    • 유사한 성격의 문서들의 집합
    • 관계형 데이터베이스의 테이블과 비슷하지만 스키마를 강제하지 않음
  3. 문서
    • BSON 형식의 데이터 구조
    • 필드와 값의 쌍
    • 각 문서는 고유한 _id 필드를 가지며, 이를 통해 문서를 식별

 

MongoDB의 장점

  • 유연성: 스키마리스 구조로 데이터 모델의 유연성이 높아, 변경 사항에 빠르게 대응할 수 있음
  • 확장성: 수평적 확장을 지원하여 데이터 증가에 유연한 대처 가능
  • 고성능: 인덱싱과 인메모리 기술을 활용하여 빠른 데이터 처리와 응답 시간 제공
  • 풍부한 기능: 강력한 쿼리와 집계 기능, 복제와 샤딩을 통한 고가용성 지원 등 다양한 기능 제공

 

참고

'DB > MongoDB' 카테고리의 다른 글

docker-compose로 MongoDB 설치하기  (0) 2024.11.17

블로그의 정보

개발하는 두부

뚜부니

활동하기