카테고리 없음

TIL :: 최종프로젝트 및 기술면접대비

두캔두잇 2023. 8. 16. 21:56

오늘은 한달동안 같이 할 최종프로젝트팀을 확정받았다. 평소 친분이 있고 잘하시는 분이랑 리더/부리더를 신청하게 됐는데, 금일 팀원선정을 보고나니 기분이 너무 좋았다. 다들 잘하시는 분들이 같은팀으로 되서 나만 잘하면 되겠다 라는 생각을 하게 됐다. 

 

그래서 오늘은 우선 S.A문서를 작성하고 전반적인 
ERD , 와이어프레임, API 명세를 노션에 작성하고 작업을 시작하기전 폴더디렉토리를 만들고 있다.

 

내일부터 본격적으로 작업에 착수할것 같은데 너무 설레고 재밌을것 같아서 빨리 하고 싶다 !

 

이렇게 준비를 다 하고나서 기술면접에 대한 준비를 하기 위해 공부를 했는데, 공부한 내용을 남겨보겠다.

 

RDBMS 와 NOSQL의 장단점에 대하여 ...

첫 번째 , RDBMS

#장점으로는 정해진 스키마가 있어, 정해진대로 데이터를 저장해야한다. 그래서 명확한 데이터 구조를 보장할수 있다.

그리고 각 관계는 데이터를 중복없이 한 번만 저장할 수 있다.  => update가 많을때 좋다 !!!

 

#단점으로는 테이블끼리 관계를 맺고 있어서 시스템이 커질 경우, JOIN문이 많아 복잡한 쿼리가 만들어질 수 있다.

또한 성능 향상을 위해서는 서버의 성능을 향상시켜야 하는 Scale-up만 지원하기에 비용이 많아질수 있다.

마지막으론 장점에서 스키마가 정해져 있다고했는데, 이렇기 때문에 유연하지 못하다. 그래서 나중에 스키마가 변경될 경우에는 번거롭고 어려울수 있다.

 

두 번째 , NOSQL

#장점으로는 NOSQL에서는 스키마가 없기때문에 유연하며 자유로운 데이터 구조를 가질 수 있다. 그리고 언제든지 저장된 데이터를 조정하고 새로운 필드를 추가할 수 있다. => 조회가 많을때 좋다 !!!

이렇기에 RDBMS와 달리 데이터 분산이 편하고 성능향상을 위한 Scale-up 뿐만 아니라 Scale-out 또한 가능하다.

 

#단점으로는 데이터 중복이 발생할수 있고 중복된 데이터가 있다면, 모든 컬렉션에서 수정을 해야한다.

그리고 스키마가 존재하지 않기에 명확한 데이터 구조를 보장하지 않으며, 데이터 구조가 어려워질 수 있다.

 

그럼 RDBMS 와 NOSQL은 언제 사용하면 좋을까?

 

RDBMS는 변경이 잘 안되기 때문에, 스키마가 중요한 경우와 데이터가 자주 변경할때 사용하는것이 좋다.

 

NOSQL은 DB구조를 알 수 없고, 데이터가 변경이 될수 있는 경우 사용하는것이 좋으며 중복된 데이터가 변경될 때에는 모든 컬렉션에서 수정을 해야하기 때문에 update가 자주 이루어지는 시스템보단 조회를 많이 할 때 사용하는것이 좋다.