MDP

NOSQL - MongoDB 본문

프로젝트/Extra

NOSQL - MongoDB

모다팡 2024. 7. 20. 16:08

오늘은 이번에 채팅 서비스 사용시 채팅 내용을 저장할 데이터베이스로 MongoDB를 활용하려고 하는데 NoSQL의 내용과 사용방법에 대해서 간단하게 정해보려고 한다. 

 

MongoDB를 사용하려고 하는 이유

- 비정규화 -

  • 채팅을 통해서 주고 받는 내용들은 중복이 가능한 데이터들이다.
  • 특정한 데이터 모델에 맞추기 위해서 같은 데이터를 도큐먼트나 테이블에 복제하여 중복하는 것을 허용한다. 

- 유연한 스키마 설계 가능 -

  • JSON과 유사한 BSON 형식의 문서를 저장하기 때문에 채팅 메시지를 다양한 형식으로 저장할 수 있다. (ex. 메시지 본문, 발신자 정보, 타임스탬프, 첨부 파일 등 다양한 데이터를 포함할 수 있음)
  • 채팅 메시지 구조가 변경되더라도 쉽게 확장하고 수정할 수 있다. 
  • 새로운 기능 추가나 데이터 구조 변경 시 매우 유리하다.

- 쓰기 성능 좋음 -

  • 실시간으로 많은 메시지를 처리하기 위해서는 빠르 쓰기 성능을 제공할 수 있다.
  • 데이터 베이스를 수평적으로 확장할 수 있으며 대규모 사용자와 메시지 트래픽을 효과적으로 처리할 수 있다

결론 이러한 이유들로 채팅 어플리케이션의 요구 사항에 적합한 여러 가지 기능을 제공 하고 있는것으로 판단되어 사용자 관리를 위해서는 RDBMS 종류인 MariaDB를 사용하고 채팅 어플리케이션을 관리하기 위헤서느 NoSQL 종류인 MongoDB를 사용하려고 합니다.

 

참고 자료

https://velog.io/@hwaya2828/MongoDB-NOSQL-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%AA%A8%EB%8D%B8%EB%A7%81-%EA%B8%B0%EB%B2%95-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0