Mysql은 기본적으로 관계형 데이터베이스이다. 행과 열을 갖춘 테이블에 필드에 맞게 데이터를 저장한다. SQL (Structured Query Language) 기반으로, 정해진 스키마가 존재한다. 따라서 보안성은 높지만 상황에 맞게 유연하게 변동 가능하지는 않다.

MongoDB는 NoSQL로써 데이터를 json 형식의 문서에 저장한다. 문서 별로 필드는 다를 수 있으며, MQL (MongoDB Query Language)를 사용하여 스키마를 미리 정해두지 않아도 된다. 이는 개발자 입장에서 쉽고 빠르게 개발 할 수 있으며, Mysql과 다르게 가용성과 확장성을 더욱 보장하여 새로운 속성을 넣고 싶을 때 기존의 모든 데이터베이스의 스키마를 바꿀 필요없다. 또한, 자체적인 데이터 관리 기능인 샤딩을 지원하고 있다. 샤딩이란, 무거운 데이터베이스를 여러 하드웨어에 분산시켜 부담을 줄이는 것이다. 보통 관계형 데이터베이스를 확장하기 위한 비용보다 적은 비용이 들어간다.

따라서, 개발 측면에서 봤을 때에는 SQL 보다 MongoDB가 더 유용하다는 의견이 많다.

→ 지금까지 프로젝트는 MySQL을 사용해봤으니 이번 프로젝트에서는 MongoDB를 사용하여 차이점을 몸소 겪어보고, 나에게 맞는 DB를 알아보고자 한다.