-
[면접 준비] NoSQL 설명 및 RDBMS 와의 차이점 설명하기면접 준비 2024. 8. 16. 10:00
학습 키워드: NoSQL, RDBMS2024-08-14 면접 카타 질문
NoSQL이란 무엇인가요? 기존RDBMS와 다른점도 설명해주세요:
NoSQL은 기존 테이블 기반의 관계형 DB 구조에서 벗어난 덜 제한적인 구조의 DBMS입니다. NoSQL에서 No는 원래 non-SQL이나 non-relational을 의미했지만, 현재는 SQL을 일부 지원하는 경우도 포함하여 Not-only SQL이라고 표현합니다. NoSQL과 RDBMS에는 다음과 같은 몇 가지 핵심 차이점이 있습니다.
1. 데이터 모델: RDBMS는 미리 작성된 schema를 통해 테이블 및 column을 정의하고, 그에 맞춰 row를 추가하는 방식입니다. Relational 이라는 이름에 걸맞게 foreign key(외래키)를 이용해 테이블끼리의 관계를 설정할 수 있으며, 관계가 생긴 테이블들을 JOIN하여 새 데이터 조합을 얻을 수 있습니다. 반면에 NoSQL은 스키마의 유무와 관계없이 key-value, documents, wide-colums 또는 graphs 등 데이터를 자유로운 형식으로 추가할 수 있으며, 데이터 간 관계 설정이 없어 비관계형 DB라고도 불립니다.
2. 확장성(Scalability): RDBMS는 수평 확장(scale out)이 복잡하고 어려워서 주로 하드웨어를 보완하는 식으로 수직 확장(scale up)합니다. 반면에 NoSQL은 애초부터 수평 확장이 쉽게 설계되어 있어 많은 양의 데이터를 여러 서버에 걸쳐 다뤄야 하는 경우에 선호됩니다.
3. 유연성(Flexibility): RDBMS는 한 번 정해진 테이블 관계 구조를 중도에 바꾸는 작업이 어렵고 복잡하지만, NoSQL은 형식이 자유로워 개발 초기 데이터 구조가 자주 바뀌는 상황일 때 선호됩니다.
4. 성능(Performance): RDBMS는 복잡한 쿼리나 많은 양의 데이터에 transaction이 적용되면 성능 저하가 발생합니다. NoSQL은 빠른 읽기/쓰기에 특화되어있어 실시간 데이터 핸들링에 유리합니다.
--
728x90'면접 준비' 카테고리의 다른 글
[면접 준비] JOIN 설명하기 (0) 2024.08.14 [면접 준비] 무결성 설명하기 (0) 2024.08.14 [면접 준비] 정규화 및 정규화의 목적 설명하기 (0) 2024.08.13 [면접 준비] Primary Key, Foreign Key, ER 모델이란? (0) 2024.08.13 [면접 준비] 해시 테이블과 이진 검색트리 비교하기 (0) 2024.08.13