less than 1 minute read

장점

비동기 드라이버를 사용할 수 있다.

  • 현재 JDBC의 경우 동기 드라이버만 존재해 블러킹 포인트가 됨

RDB와 개념이 유사해, 쿼리 변환기가 있을 만큼 개념적으로 어색하지 않다.

  • 사용법도 마찬가지로 이질감이 없다.

RDB에 비해 성능이 100배 이상 빠르다.

  • 별도의 캐시 솔루션이 필요하지 않을 만큼 성능 문제에서 우월하다.

스키마 관리가 필요 없다.

이미 성숙기에 접어들어 운용, 개발, 유틸리티에 부족함이 없다.

  • Cassandra, Couchbase, Mongodb의 경우 대규모 트래픽, 데이터 저장, fail-over, fault-tolerance에 다양한 대안이 마련 되어있는 상황이다.

  • redis과 비교해봐도 충분히 안정권에 들어온 상태다.

샤드 추가가 간편하다.

  • 다른 NOSQL처럼 리밸런싱은 불가능하지만, 그럼에도 적정 수치때 샤드를 추가해준다면 장점은 충분히 누릴 수 있다.

단점

복잡한 쿼리를 사용할 수 없다.

  • join을 사용할 수 없다.

메모리 사용량이 큰 편이다.

  • 메모리 부족 시 퍼포먼스가 급락한다.

데이터 일관성이 보장되지 않는다.

  • 다만, ACID 도입 베타 릴리즈 진행 중이다.

출처 : https://elky84.github.io/2018/09/26/mongodb/

Categories:

Updated: