[Spring] MySQL, MongoDB 전략 패턴
·
Spring
현재 진행 중인 ‘스킨 판매 플랫폼’에서는 판매자에게 문의할 때 사용되는 채팅이 모두 MySQL에 저장된다. 하지만 채팅이라는 기능의 특성을 생각해 봤을 때, 자주 INSERT 작업이 실행되는 기능이다. 그렇기 때문에 MySQL은 적합하지 않을 수 있다. 이 과정에서 고려한 두 가지 방안은 다음과 같다. Redis에 저장 후, 일정 시간 이후 or 일정 채팅 개수를 초과한 경우 Batch를 사용해 MySQL에 채팅 데이터 저장채팅 데이터만 MongoDB에 저장 여기서 난 두 번째 방안을 적용하기로 했다. 그 이유는 아직까지 하나의 DB를 사용하다가, 한 프로젝트에서 다른 DB를 적용한 기억이 없기 때문이다. ⚙️ MongoDB MongoDB란 대표적인 NoSQL DB로 채팅 데이터를 저장하는..