Skip to content

Latest commit

 

History

History

RDB vs NoSQL

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

RDB vs NoSQL

RDB의 장단점에 대해 설명해주세요.

장점

  • 데이터베이스 구조 변경이 유연하다.
  • ACID를 지원한다.
  • 공동 작업이 가능하다.
  • 보안 기능이 내장돼있다.
  • 데이터베이스 정규화가 가능하다.

단점

  • 기작성된 스키마를 수정하기 어렵다.
  • 시스템이 커지면 JOIN문이 많은 복잡한 쿼리가 만들어질 수 있다.
  • 성능 향상을 위해서는 스케일 업만을 지원해 비용이 기하급수적으로 늘어날 수 있다.
  • 다른 DB에 비해 많은 자원이 활용되어 시스템 부하가 높다.
NoSQL의 장단점에 대해 설명해주세요.

장점

  • 스키마가 정해져 있지 않아서 RDB에 비해 유연하고 확장성이 좋다.
  • 연관관계가 없어서 조회 속도가 빠르다.

단점

  • 데이터 중복이 발생할 수 있고, 중복된 데이터를 계속 업데이트해줘야 한다.
  • 데이터 정합성에 맞지 않을 수 있다.
  • ACID를 지원하지 않는다.
    • 이를 극복하기 위해 BASE(가용성, 독립성, 일관성)를 지원한다.
RDB와 NoSQL의 차이에 대해 설명해주세요.

중요한 키워드

  • 스키마
  • 트랜잭션(ACID)
  • 데이터 중복 허용 여부
  • 확장성
  • 범용성
RDB와 NoSQL를 각각 어느 상황에 사용하면 좋은지 설명해주세요.

RDB 사용이 더 좋을 때

  • 관계를 맺고 있는 데이터가 자주 변경되는 애플리케이션의 경우
  • 변경될 여지가 없고, 명확한 스키마가 사용자와 데이터에게 중요한 경우

NoSQL 사용이 더 좋을 때

  • 정확한 데이터 구조를 알 수 없거나 변경/확장 될 수 있는 경우
  • 읽기를 자주 하지만, 데이터 변경은 자주 없는 경우
  • 데이터베이스를 수평으로 확장해야 하는 경우(막대한 양의 데이터를 다뤄야 하는 경우)