MySQL을 팀 프로젝트에 사용한 이유

조현근·2022년 11월 10일
0
post-thumbnail

우아한테크코스에서 진행한 팀 프로젝트에서 DB로 MySQL을 사용했다.
왜 MySQL을 사용하게 되었는지 되돌아보는 시간을 가져보자.

RDBMS를 선택한 이유

DB는 크게 두 가지로 나눌 수 있다. RDBMS, NoSQL이다.
각각의 특징에 대해 알아보고 왜 RDBMS를 선택했는지 생각해보자.

RDBMS

RDBMS는 관계형 데이터베이스 모델입니다. 관계형 데이터베이스를 만들고 업데이트하고 관리하는 데 사용하는 프로그램입니다. MySQL, MSSQL, Oracle Database 등등 이 있습니다.
관계형 데이터베이스는 테이블을 통해 정형화된 데이터를 저장하고, 테이블끼리 관계를 맺을 수 있습니다. 또한 제약조건을 통해 데이터의 중복을 피할 수 있습니다.
테이블끼리 관계를 맺을 수 있으니 경우에 따라 테이블을 나누어 데이터를 관리할 수 있고 데이터를 조회해올때 'JOIN'을 사용해 나누어져 있는 테이블의 데이터를 불러올 수 있습니다.
제약조건을 통해 데이터 중복을 막을 수 있으며 이는 데이터를 수정해야 할때 수 많은 데이터를 찾아 수정해야 하는 번거로움을 줄여줍니다.

NoSQL

NoSQL은 데이터의 폭발적인 증가로 빅데이터 분산 처리 및 저장 기술과 함께 발달된 분산 데이터베이스 기술이라고 합니다. NoSQL은 비관계형 데이터 저장소 역할을 합니다.
기존 RDBMS은 scale-up(수직적 확장)을 해야 하는 한계가 있습니다. NoSQL은 수평적 확장을 손 쉽게 할 수 있어 많은 데이터를 저장하고 분산처리를 손쉽게 할 수 있습니다.
NoSQL의 특징으론 RDB의 ACID 특성을 과감히 버린 점이 있습니다.

중간 결론

프로젝트에선 관계형 데이터베이스를 사용하기로 결정했습니다.
첫번째로 폭발적인 데이터를 저장할 일이 없고 데이터 기반 서비스를 제공할 계획이 없습니다. 추후 이런 요구사항이 생긴다면 NoSQL을 추가로 사용하면 됩니다. 또한 ACID를 보장하지 않는 NoSQL로 인해 데이터 정합성이 맞지 않게 되면 커뮤니티 서비스 특성 상 사용자들이 불편을 느낄 수 있다고 생각했기 때문입니다.
그리고 서비스에서 생성되는 모든 데이터는 정형화되어 있어 관계형 데이터베이스를 사용하는게 적합하다고 생각합니다

MySQL을 선택한 이유

그럼 RDBMS 중 MySQL을 선택한 이유에 대해 알아보자.
우선 우리의 프로젝트 목적은 학습이다. 따라서 유료인 제품을 선택하기엔 부담이 있었다. 따라서 오라클 RDMBS와 같은 유료 제품은 후보군에서 제외했다.
두번째로 고려한

출처

https://hanamon.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-sql-vs-nosql/

profile
안녕하세요!

0개의 댓글