- 기술면접준비
- NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요.
RDBMS : `관계형 데이터베이스` `Schema` `Table` `SQL`
NoSQL : `대용량데이터` `비규격화` `Key,Value`
>
RDBMS는 데이터베이스를 이루는 객체들의 릴레이션을 통해서 데이터를 저장하는 데이터베이스
SQL을 사용해 데이터의 저장, 질의, 수정, 삭제를 할 수 있으며 데이터를 효율적으로 보관하는 것을 목적으로 하고 구조화가 굉장히 중요
장점으로는 명확한 데이터 구조를 보장하고, 중복을 피할 수 있음
단점으로는 확장성이 떨어짐, 관계를 맺고 있기에 조인문이 많은 복잡한 쿼리가 생김
NOSQL은 자유로운 형태로 데이터를 저장
수평확장을 할 수 있고 분산처리를 지원
다양한 형태의 NOSQL 데이터베이스가 있고
대표적으로 key-value store, bigtable, dynamo, document db, graph db 등이 있음
장점으로는 스키마가 없기에 유연성이 뛰어남, 수평적 확장성, 속도가 빠름
단점으로는 데이터일관성이 약함, 데이터중복, 수정이 번거러움, 스키마가 없어서 데이터에 대한 규격화가 되어 있지 않음
둘은 대체될 수 있는 것이 아니고, 각각 필요한 시점에 적절히 선택해서 사용,둘 다 같이쓰는 상호보완적인 존재
- mvc 패턴에 대해서 설명해주세요.
MVC패턴은 디자인패턴 중 하나로
사용자의 Request(요청)를 Controller가 받는다.
Controller는 Service에서 비즈니스 로직을 처리한 후 결과를 Model에 담는다.
Model에 저장된 결과를 바탕으로 시각적 요소 출력을 담당하는 View를 제어하여 사용자에게 전달한다.