Skip to content

MongoDB를 사용한 이유

최홍일 edited this page Dec 17, 2020 · 1 revision

왜 MongoDB?

우리는 MongoDB를 우리 서비스의 DB로 삼았다.

기획단계에서 DB를 고르는 과정이 신속했지만

후에 개발을 해나가면서 많은 생각을 하게만들었다.


첫번째 이유

사실 몽고디비를 선택한 제 1의 이유는 새로운 기술에 대한 도전이었다.

물론 mySQL을 잘해서가 아니다.

하지만, 부스트캠프에서, 가장 중요하다고 생각한 가치는 도전이었다.


두번째 이유

우리 팀은 WHY 가 중요했다. 왜?에 대한 답을 할 수 없으면 그건 프로젝트의 방향성을 모른채 진행한다는 것이라 판단했다.

제 2의 이유서비스적인 관점에서 들여다 보았다.

가계부라는 서비스는 수정이 적은 서비스다.

하루, 한 주, 한 달의 재정상태를 파악하기 위함이다.

그 기간의 수입/지출을 기록, 분석하고 정리하는 회고의 형태이다.

이런 관점에서 가계부 서비스는 **추가(CREATE)**와 **조회(READ)**가 가장 중요한 작업이었다.


세번째 이유

추가와 조회가 중요한 작업이니만큼 그 속도가 빨라야했다.

여기에 덧대어 **관계형데이터베이스(RDB)**와 NoSQL차이점중 하나인 확장성에 주목했다.

약 5주간의 개발일정중 마지막 1주는 마무리 작업을 해야했기에 개발기간에서 제외했다.

그러면 4주 동안 요구사항을 충족시키면서 개발을 해야했기에 일정이 촉박할 수 밖에 없었다.

게다가 매주 금요일은 개발에 온전히 집중할 수 없는 요일이었기에, 사실상 16일이라는 개발기간이 주어졌다. ( 물론 코어타임에 한해서이다 )

RDB의 경우 DB가 바뀌면 테이블 자체를 수정해야했고, ERD를 다시그리고 관계를 다시설정해야했다.

한마디로 처음부터 다시 만들어야했다. ( Sequelize 와같은 ORM을 사용해서 어느정도 보완은 가능하다 )

따라서 첫 설계가 너무나도 중요했고 그만큼 시간이 지체될 수 있다.

RDB보다 확장성이 좋은 NoSQL을 사용해서, 개발 시작을 빠르게 할 수 있었다.

모델을 수정하는데 빠르게 수정할 수 있기 때문이었다.

Clone this wiki locally