정보관리기술/데이터베이스

MongoDB / ①

아이티신비 2024. 2. 9. 09:00

문제 8) MongoDB의 개념 및 특징

답)

 

1. Document 기반 NoSQL, MongoDB의 개념

정의
  • 프로덕션 환경에서 데이터베이스를 확장할 수 있는 기능을 제공하는, C++로 작성된 Document 지향의NoSQL 데이터베이스 관리 시스템

 

2. MongoDB의 특징 및 구성방식

가. MongoDB의 특징

 
특징
설명
Document-oriented
  • MongoDB는 JSON형태로 데이터를 관리
  • 도큐먼트는 MongoDB가 데이터를 저장하는 최소 단위
유연한 스키마
  • 스키마의 선언 없이 필드의 추가와 삭제가 자유로운 Schema-less 구조
비 관계형 데이터베이스
  • 관계(Relationship) 개념이 없는 비 관계형 데이터베이스
  • 조인(Join)을 지원하지 않으며, 대신 임베디드 방식의 도큐먼트 구조를 사용하거나 레퍼런스 방식의 도큐먼트 구조를 사용한 후 애플리케이션에서 조인
비 트랜잭션
  • 트랜잭션을 지원하지 않고 각각의 도큐먼트 단위로 처리됩니다.
  • 트랜잭션을 지원하지 않으므로 Commit 또는 Rollback 개념이 없으며 모두Auto Commit으로 처리
높은 확장성
  • Auto-Sharding방식 제공
높은 안전성(HA)
  • Master/slave방식 제공, replica-set 방식 제공, auto-sharding 방식과 혼합하여 구성할 경우 band-width, 트래픽 분산의 이점이 있음
Map-Reduce
  • 맵리듀스 기능 제공
GridFS
  • 분산 파일 저장을 MongoDB가 자동으로 수행함

 

나. MongoDB의 구성방식

 
구성방식
개념도
설명
Replica Set
  • Master/Slave 구조보다 안정적
  • Primary 서버에 장애 감지시 새로운 Primary 서버 선정(Automated Failover)
  • Data Redundancy
  • 일관성/가용성보장
Sharding
  • Range 파티션 기법으로 Shard Key 중심으로, Shard 서버에 분산저장하는 방식. 데이터 자동Balancing
  • MongoDB는 다양한 환경에서 사용가능 하나 여러 단점들을 확인하고 개선 및 용도 확인 후 사용해야 함.

 

3. MongoDB의 주요 단점

 
단점
설명
Join 미지원
  • Join 기능을 제공하지 않아 Join이 필요 없도록 데이터 구조화가 선행되어야 함
메모리 의존적
  • Memory Mapped Fie으로 파일 엔진 DB이며 메모리 관리를 OS에 위임하고 메모리 크기가 성능을 좌우함
성능 저하
  • 인덱스는 B-Tree 인덱스 사용하여 크기가 커질수록 새로운 데이터 입력하거나 삭제시 성능 저하됨

 


 

공감과 댓글은 아이티신비에게 큰 힘이 됩니다.

블로그 글이 유용하다면 블로그를 구독해주세요.♥

'정보관리기술 > 데이터베이스' 카테고리의 다른 글

Column Family 데이터베이스 / ①  (3) 2024.02.09
공간DB  (3) 2024.02.09
NoSQL  (0) 2024.02.08
데이터 모델링  (4) 2024.02.08
데이터베이스 제5정규형 / ①  (0) 2024.02.08