본문 바로가기
기술면접

[기술면접] 240105 NoSQL RDBMS차이, mvc패턴

by studymode 2024. 1. 6.

1. NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요.

RDBMS

특징

RDBMS는 Relation DataBaseManagement System 관계형 데이터베이스 관리 시스템

2차원 배열

스키마 따라 저장하므로 명확한 데이터 구조를 보장함

관계는 각 데이터를 중복없이 한번만 저장할 수 있음

 

장점

 

 

단점

테이블간 관계를 맺고 있어 Join문이 많아지면 쿼리가 복잡해 질 수 있음 

수직적 확장만 가능해서 성능 향상을 위해 비용이 늘어날 수 있음

데이터가 유연하지 못함

 

NoSQL

특징

Not Only SQL

키-벨류 형태

데이터 무결성을 보장하지 않음 (처리비용 많이 듬)

테이블 간 매핑도 정의하지 않음, 일반적으로 테이블 간 Join도 불가능

일관성은 없되 비용을 절약할 수 있다

유연하고 자유로운 데이터 구조

언제든 저장된 데이터를 조정하고 새로운 필드를 추가할 수 있음

데이터 분산이 용이

데이터 중복이 발생할 수 있으며 수정을 모든 컬렉션에서 수행해야함

스키마가 존재하지 않기에 명확인 데이터 구조를 보장하지 않음

 

mvc 패턴에 대해서 설명해주세요.

 

Model View Contoller로 이루어진 디자인 패턴

모델은 

  1. 사용자가 편집하길 원하는 모든 데이터를 가고 있으며
  2. 뷰나 컨트롤러에 대해서 어떤 정보도 알지 말아야한다.
  3. 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야만 한다. 

  1. 모델이 가지고 있는 정보를 따로 저장해서는 안된다
  2. 모델이나 컨트롤러와 같이 다른 구서요소들을 몰라야한다. 
  3. 변경이 일어나면 변경통지에 대한 처리 방법을 구현해야만 한다

컨트롤러

  1. 모델이나 뷰에 대햇 알고 있어야한다
  2. 모데링나 뷰의 변경을 모니터링 해야한다.

 

 

참고할 자료: https://gyoogle.dev/blog/computer-science/data-base/SQL%20&%20NOSQL.html