NoSQL/MongoDB

[MongoDB] MongoDB 장점/단점

너나들이 개발 2022. 3. 8. 10:11
반응형

MongoDB 장점

  • Schema-less 구조
    - 다양한 형태의 데이터 저장 가능
    - 데이터 모델의 유연한 변화 가능(데이터 모델 변경, 필드 확장 용이)
  • Read/Write 성능이 뛰어남
  • Scale Out 구조
    - 많은 데이터 저장이 가능
    - 장비 확장이 간단함
  • JSON 구조 :  데이터를 직관적으로  이해 가능
  • 사용 방법이 쉽고, 개발이 편리함

 

MongoDB 단점

  • 데이터 업데이트 중 장애 발생 시, 데이터 손실 가능
  • 많은 인덱스 사용 시, 충분한 메모리 확보 필요
  • 데이터 공간 소모가 RDBMS에 비해 많은(비효율적인 Key 중복 입력)
  • 복잡한 JOIN 사용시 성능 제약이 따름
  • 트랜잭션 지원이 RDBMS 대비 미약함
  • 제공되는 MapReduce 작업이 Hadoop에 비해 성능이 떨어짐

 

빅데이터 처리 특화

  • Memory Mapped(데이터 쓰기 시에 OS의 가상 메모리에 데이터를 넣은 후 비동기로 디스크에 기록하는 방식)를 사용
  • 방대한 데이터를 빠르게 처리 가능
  • OS의 메모리를 활용하기 때문에 메모리가 차면 하드디스크로 데이터 처리하여 속도가 급격히 느려짐
  • 하드웨어적인 측면에서 투자가 필요

 

MongoDB 불안정성

  • 데이터 양이 많을 경우
    - 일부 데이터가 손실 가능성 존재
    - 샤딩의 비정상적인 동작 가능성
    - 레플리카 프로세스의 비정상 동작 가능성

 

MongoDB vs MySQL

  • MongoDB와 MySQL에서 동일한 데이터를 가지고 CRUD를 수행할 때, 대부분의 결과가 MongoDB가 빠르게 나옴
  • MongoDB의 경우, Single Node와 Multi Node 간에 성능 차이는 거의 없음(Delete 연산을 제외하고 대부분 Multi Node가 근소하게 빠름)
  • MongoDB Multi Node의 Insert 연산 중에 연산 실패가 일어나는 경우 발생
  • 분산을 목적으로 한 DBMS 선택할 경우, RDBMS에 비해 낮은 비용과 빠른 성능을 제공하는 MongoDB가 유리함

 

MongoDB 특징 : https://tychejin.tistory.com/348
MongoDB 주요 기능 : https://tychejin.tistory.com/350

출처 : https://tacademy.skplanet.com

반응형