본문 바로가기

TIL

면접 준비 12 - RDB와 NoSQL은 무엇인가요?

반응형

#7월 31일

 

RDB와 NoSQL은 무엇인가요? 장단점 위주로 설명하시오

RDB(Relational Database)와 NoSQL은 데이터베이스의 유형으로 RDB는 테이블 형태로 데이터를 저장하며 SQL을 사용하여 데이터를 조작하고 조회한다. 반면 NoSQL은 비관계형 데이터베이스로 다양한 형태로 데이터를 저장하고, 주로 수평적 확장에 초점을 맞추어 설계되었다. 

 

RDB의 장점은 데이터 일관성과 무결성이 보장되며 SQL을 사용하여 복잡한 데이터 처리가 용이하다는 점이다. 하지만 확장성이 제한적이고 스키마 변경이 어려울 수 있다. 반면 NoSQL은 유연한 데이터 모델과 수평적 확장이 가능하여 대용량 데이터 처리에 효과적이다. 하지만 데이터 일관성을 보장하지 않는 경우가 있고, 데이터 조작을 위한 쿼리 언어가 다양하여 데이터 조작에 대한 진입장벽이 높을 수 있다.

 

따라서 데이터베이스를 선택할 때는 프로젝트의 요구 사항과 데이터의 특성을 고려하여 적절한 유형을 선택하는 것이 중요하다.

 

[ RDB ]

테이블 형태로 데이터를 저장하며, 각 테이블은 행과 열로 구성된다. 이러한 테이블은 관계를 통해 서로 연결 될 수 있고 SQL을 통해 데이터를 조작하고 조회하며, ACID특성을 준수한다.

  • 장점
    • 데이터 일관성과 무결성 보장
    • SQL을 사용하여 복잡한 데이터 조회 및 조작 용이
    • 잘 정의된 스키마로 데이터 구조 명확
  • 단점
    • 확장성 제한적, 대용량 데이터 처리에 어려움이 있을 수 있음
    • 스키마 변경이 어렵고 복잡할 수 있음

 

[ NoSQL = not only SQL ]

비관계형 데이터베이스를 의미하고 테이블 형태가 아닌 다양한 형태로 데이터를 저장하고 보통 키, 벨류, 문서, 그래프, 등으로 데이터를 다룬다. 분산처리와 수평적 확장성에 초점을 맞추어 설계된다.

  • 장점
    • 비교적 간단하고 유연한 데이터 모델을 사용하여 개발과 유지보수 편리
    • 수평적 확장이 가능하여 대용량 데이터 처리에 효과적
    • 대부분의 NoSQL은 분산 데이터베이스로서 고가용성과 내결함성
  • 단점
    • 데이터의 일관성을 보장하지 않는 경우가 있다.
    • 데이터 조작을 위한 쿼리 언어가 다양하여 학습하기 힘들 수 있음

 

1. 데이터 스키마

RDB : 정해진 스키마를 따라 데이터를 저장한다. 스키마 변경이 어렵고, 데이터 일관성을 보장한다.

NoSQL : 스키마가 유연하여 데이터를 동적으로 추가하거나 변경할 수 있다. 유연성은 높지만 일관성에 대한 책임은 개발자에게 있다. 

 

2. 확장성

RDB : 주로 수직적 확장을 통해 성능을 향상시킨다. 단일 서버 성능을 강화하는 방식

NoSQL : 수평적 확장을 통해 성능을 향상 시킨다. 여러 서버에 데이터를 분산하여 처리

 

3. 언어

RDB : SQL을 사용하여 데이터를 조작, 조회

NoSQL : 다양한 쿼리 사용(몽고디비 : 자바스크립트 기반의 쿼리 등)

 

 

 

 

반응형