ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • mongoDB란 뭘까용?_간단 요약!
    Spring/spring 2023. 8. 3. 21:48

     (가성비 맛집입니다. 빠르게 개념을 잡고 싶으시다면 잘 오셨습니다. 읽기 좋게 간단명료하게 정리해놨습니다!!!!)

     

     

     ○ mongoDB란! 

     

     mongoDB는 NoSQL 데이터베이스 중 한 종류로 비관계형 데이터베이스 시스템이다. 테이블 대신 문서 지향(Document-Oriented) 데이터베이스입니다. 유명한 관계형 데이터베이스(RDBM) 시스템인 MySQL과는 다른 데이터베이스 시스템을 가집니다. 또한 JSON 형태의 BSON(Binary JSON) 문서를 사용하여 데이터를 저장합니다. mongoDB는 컬렉션이 기본 단위로 db를 구성하며 db내에서 문서들을 논리적으로 그룹화한것입니다.

     

     

     

     

     

    ○ mongoDB 장점!

     

     1. mongoDB는 속도와 효율성을 제공하는 목적에서는 효과가 좋은 DB이다. 
     ex) 데이터를 찾을 때는 한 군데에서만 찾으면 되기 때문에 효율성이 좋다. 반면 MySQL 같은 경우에는 여러 테이블을 조인해서 찾아야한다.

     2. mongoDB는 스키마 유연성과 빠른 읽기/ 쓰기 성능으로 인해 웹 애플리케이션 데이터 관리에 적합하 다.

     3. 확장성이 좋습니다! 샤딩(데이터를 여러개의 조각 나누는 과정이다. )과 Replica Set(여러 서버가 Replica Set을 구성함)등의 기능을 통해 데이터베이스 시스템을 수평적(서버를 추가하여 데이터베이스 시스템의 처리 능력을 향상시킨다.)으로 확장할 수 있다. 이로 인해 mongoDB는 대규모 시스템에서도 높은 성능과 효율성을 유지할 수 있으며 트래픽이 증가해도 대응하기 좋다.

     4. MongoDB는 실시간으로 데이터를 수집하고 분석하는데에도 적합하다. 비동기식 특성을 활용해 빠른 읽기 성능으로 데이터를 흘려보낼 수 있다. (이 장점이 이번 채팅서버를 만들면서 mongoDB를 사용한 가장 큰 이유이다.) I/O 작업이 많이 발생하는 채팅서버에서 동기식을 사용한다면 I/O 작업은 오래걸리기 때문에 블로킹이 걸리기 쉽상이다. 그로 인해 작업이 많은 상황에서 저하될 수 있다. 반면에 비동기를 사용한다면 현재 처리하는 작업에 waiting이 걸릴 시 blocking을 사용하지 않고 바로 다음 작업을 수행한다. 

     

     

     

     

    ○ mongoDB 단점!

     

      MySQL과 달리 데이터를 효율성을 중요시 여기면서 만들기 때문에 중복될 수가 있다. 또한 데이터가 중복되기 때문에 일관성을 유지하기 어렵다.

     

    ex) MySQL은 변경 원하는 부분만 선택해서 바꾸면 된다. 하지만 mongoDB는 위에서 말했듯이 데이터가 중복되기 때문에  변경이 일어나는 부위를 일일이 다 바꿔줘야 한다는 번거로움이 있고 이 때문에 놓치는 것이 생기면 무결성이 깨진다.

     

     

    'Spring > spring' 카테고리의 다른 글

    @Autowired를 쓰고 안 쓰고의 차이!  (0) 2023.06.20
    spring과 spring boot의 다른 점  (0) 2023.05.02
Designed by Tistory.