데이터베이스

결론: mysql 8.0

프로젝트의 요구사항, 팀의 경험, 성능, 확장성, 비용, 커뮤니티 지원를 고려하여 대표적인 데이터베이스인MySQL, PostgreSQL, MariaDB, NoSql를 비교한다.

우리 프로젝트는 게시판 관련 서비스로 사용자, 게시글, 댓글 등 명확한 관계가 있는 정형화된 데이터를 다룹니다. NoSQL은 비정형 데이터나 스키마가 자주 변경되는 경우에 유리하며, 수평 확장성에 강점이 있습니다. 그러므로 관계형데이터베이스인 MySQL, PostgreSQL, MariaDB 중 비교하여 선택합니다.

PostgreSQL은 복잡한 쿼리 처리와 대량의 쓰기 작업에 뛰어납니다. 하지만 우리 프로젝트에서 복잡한 쿼리 처리는 많이 없을 것 같다. MariaDB는 MySQL과 사용법이 비슷하고, MySQL이 제공하지 않는 성능 개선과 스토리지 엔진을 제공한다.

MySQL의 커뮤니티는 크고, 기업 환경에서 널리 사용되어 안정성 측면에서 우수하다. 또한 커뮤니티가 크고 많은 자료가 충분하다. 팀원 모두 다른 데이터베이스와 비교해 MySQL에 대한 경험이 높다.

결론으로 MySQL 8.0을 선택한다.

MySQL vs PostgreSQL

MySQL vs MariaDB

인프라 구조도

image.png

운영 DB는 분리

개발 DB는 개발 서버(EC2)에서 도커로 운영