본문 바로가기

개인 공부/기술 면접

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

키워드
RDBMS : 관계형 데이터베이스, Schema, Table, SQL
NoSQL : 대용량데이터, 비규격화, Key-Value

 

RDBMS 는 데이터를 2차원 테이블 형태로 표현하는 관계형 데이터베이스입니다
정해진 스키마에 맞춰 데이터를 관리하기 때문에 명확한 데이터 구조를 보장합니다
하지만 시스템이 커질 수록 쿼리가 복잡해지고 스키마로 인해 데이터가 유연하지 않습니다
중복된 데이터가 없어 변경이 용이하기 때문에 관계를 맺고 있는 데이터가 자주 변경이 이루어지는 시스템에 적합합니다

NoSQL 은 RDBMS 와 반대로 데이터간의 관계를 정의하지 않는 데이터베이스입니다
스키마가 없어서 유연하고 자유로운 데이터 구조를 가집니다
그렇기에 명확한 데이터 구조가 보장되지 않아 테이터 구조 결정이 어려울 수 있습니다
정확한 데이터 구조를 알 수 없고 데이터가 변경/확장이 될 수 있는 경우에 사용하는 것이 좋습니다
하지만 데이터 중복이 발생할 수 있으며 데이터가 변경될 시에는 모든 컬렉션에서 수정을 해야하므로
Update 가 많이 이루어지지 않은 시스템에서 사용하는 것이 좋습니다

스키마란?
데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것