프론트엔드 개발만을 해오면서 항상 내가 백엔드를 알았으면 더 효율적으로 일처리를 할 수 있었을텐데 라는 생각을 해본 적이 많다. 그래서 하던 프로젝트도 마무리되고 있기에 개인프로젝트로 풀스택을 해볼까한다. 대략적인 기획은 완성했는데, 수정과 삭제는 다루지 않고 주로 생성과 조회 위주로만 진행이 될 것 같았다.
기술 스택을 정하는 과정에서, 백엔드는 NEXT.JS로 한 번에 처리하고자 했는데 DBMS를 선정하는 데 고민이 됐다. 그래도 내가 수업을 통해 한 번 다뤄봤던 건 MySQL인데 이 DB를 선정하는게 나의 프로젝트에 더 적합할까? 라는 생각이 들었다.
보통 MySQL과 NoSQL 중에 선택을 하게 되는 것 같은데, 나는 아래 특징을 보고 NoSQL이 내 프로젝트에 더 적합할 거라고 판단했다.

생성과 읽기가 메인이고 수정과 삭제 기능은 넣지 않을 예정이기에 NoSQL로 선정했다.
문서 지향적(Document-Oriented)
JSON 형식의 문서를 중심으로 데이터를 저장한다.
스케일아웃 가능(Scalable)
분산 아키텍처로 수평적인 확장이 가능하며 대용량 데이터 처리에 용이하다.
유연한 데이터 모델(Flexible Schema)
스키마를 사전에 정의하지 않고 유연하게 데이터를 저장하고 수정할 수 있다.
그리고 NoSQL기반의 대표적인 DBMS인 MongoDB를 최종적으로 선택했다.
다음에는 DB설계와 설정 방법 등에 대해 알아오겠다.