SY 개발일지
article thumbnail

현재 진행중인 프로젝트에는 채팅이 있습니다.

이러한 채팅 기능은 많이들 NoSQL을 이용하여 구현하는데, 그 이유는 다음과 같습니다.

 

1️⃣ 데이터의 수정이 없습니다. 현재 진행중인 프로젝트 특성 상 채팅내역 삭제는 고려하지 않았습니다.

2️⃣ 많은 데이터가 실시간으로 생성됩니다. 하지만, 채팅방에 대해 채팅 메세지가 존재할 뿐, 그 외의 관계는 따로 없습니다.

      (즉, Join이 없습니다.)

 

전 채팅 기능에 대해 다음과 같은 특성을 추출해보았고, 기존의 MySQL 에서 MongoDB로 변경한 후 데이터를 가져오는 데에서 테스트를 해보고자 합니다.

MongoDB는 무료이며, 또한 이전에 노마드코더에서 node.js 강의를 들었을 때 한번 다루어보았기 때문에 선택하게 되었습니다.

 

그러기 위해 우선 현재 프로젝트에 MongoDB를 연결해보겠습니다.

MongoDB 설치하기

저는 다음 사이트를 참고하여 MongoDB를 설치해주었습니다.

https://www.mongodb.com/ko-kr/docs/manual/tutorial/install-mongodb-on-windows/#install-mongodb-community-edition

 

저는 다음과 같은 버전으로 다운로드했습니다.

자세한 셋업 이미지를 보시려면 더보기를 눌러주세요

더보기
Custom type을 선택해줍니다.
MongoDB Compass는 MongoDB 용 GUI입니다.

설치를 완료하면 다음과 같은 UI가 보입니다.

그리고, Connection을 연결해줍니다.

 

연결이 되면, 웹페이지에 다음과 같이 localhost:27017을 입력했을 때, 다음과 같은 화면이 뜹니다.

Spring 프로젝트에 MongoDB 연결하기

mongoDB를 실행했으니 이제 SpringBoot에 mongodb를 올려보도록 하겠습니다.

 

1️⃣ build.gradle에 의존성 추가

implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'

 

2️⃣ application.yml 정보 추가

spring:
  data:
    mongodb:
      host: localhost
      port: 27017
      database: restagram_chat

 

이렇게까지 하면 1차적으로 연결은 끝났습니다.

다음 포스팅에서는 실제로 채팅 메세지에 대한 내용을 mongodb에 저장해보도록 하겠습니다.

profile

SY 개발일지

@SY 키키

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!