본문 바로가기
항해99 실전 프로젝트

실전 프로젝트) DB 선정, 원격 저장소 선정

by NH_club 2023. 7. 30.
어느 데이터베이스를 선정할 것인가?
더보기

RDBMS vs NoSQL

RDBMS (SQL 사용)

RDBMS는 정해진 스키마에 따라 데이터를 저장하므로 구조화된 데이터 저장에 적합하며, 테이블간의 join이 가능하여 테이블 간 관계를 정의할 수 있다. 또한 데이터 무결성를 유지해주고, 트랜잭션을 사용할 수 있다. 트랜잭션 이란 DB의 상태를 변환시키는 하나의 논리적 기능 수행 단위이며, 원자성, 일관성, 독립성, 지속성의 성질을 갖고 있다.

 

NoSQL (SQL 사용하지 않음)

NoSQL은 비구조화된 데이터 또는 반구조화된 데이터 저장에 적합하다. 정해진 스키마가 없어 자요롭게 데이터를 저장할 수 있기에 수평 확장에 용이하며, 응답시간이 빠르다. 복잡도가 떨어지기에 RDBMS보다 훨씬 대용량의 데이터를 관리하고 저장할 수 있다. 하지만 트랜잭션 지원을 하지 않으며, 데이터가 규격화 되어 있지 않기 때문에 복잡한 쿼리를 수행하지 못한다. 또한 자유도가 높아 중복된 데이터도 허용하기에 update를 하려면 일일이 전부 해줘야 하는 번거로움이 있다.

 

현재 나의 프로젝트에 적합한 DB는 RDBMS이다. 이유는 테이블끼리 서로 연관되어 있기에 정확하고 일관된 데이터가 중요하고, 데이터 변환에 실수가 있으면 안되는 프로젝트이니 트랜잭션이 필요하다. 그리하여 RDBMS가 더 적합하다.

 

어떤 RDBMS를 사용할 것인가?

Oracle, SQL server, SQLite는 제외 Oracle,SQL server는 비용적 문제, SQLite는 현재 프로젝트에 비해 가벼움

 

MySQL vs PostgreSQL

PostgreSQL은 MySQL에 비해 많은 기능을 제공함으로써, 데이터 분석이 필요로 할 때라면 MySQL보다 좋은 선택이지만, 현재 나의 프로젝트는 데이터를 분석하여 활용하는 것이 중점이 아니기 때문에 비교적 안정성이 높은 MySQL이 더 적합하다고 생각한다.

GitHub? Bitbucket?
더보기

Bitbucket이 기업에서는 많이 사용한다지만 아직 나는 사용해본 적이 없기 때문에 지금 github에 익숙해진 것 만큼 bitbucket에 익숙해지려면 따로 공부가 필요할 것 같은데 bitbucket을 공부하는 시간에 다른 기술을 더 공부하는 것이 맞다고 판단이 듦. 취업할 때 bitbucket와 github 둘 다 사용해봤으면 물론 가산점이 있겠지만 github만 사용 해 봤다 라고 해서 점수가 깎일 것 같진 않음.