[DB] RDB vs NoSQL

Soo·2023년 3월 13일
0

RDB (Relational DataBase)

  • 관계형 데이터베이스로 Primary Key와 Foreign Key를 사용하여 테이블간의 join을 통해 관계를 형성하여 관리할 수 있는 특징이 있다.

  • 테이블끼리 서로 관계를 맺고있기 때문에 시스템이 커질 경우, JOIN문이 많은 복잡한 쿼리가 만들어 질 수 있는 단점이 있다.

  • 성능 향상을 위해서 Scale-up만을 지원한다. 이로 인해 비용이 기하급수적으로 늘어날 수 있다.

  • 기존 작성된 스키마 수정이 어렵다.

NoSQL (Not Only SQL)

  • 빅데이터의 등장으로 데이터와 트래픽이 기하급수적으로 증가함에 따라 RDBMS의 단점을 보완하기 위해 여러 대의 데이터를 분산하고 저장하는 Scale-Out을 목표로 등장했다.
  • 스키마가 없기 때문에 유연하고 자유로운 데이터 구조를 가질 수 있다.
  • 데이터 분산이 용이하며 성능향상을 위한 Scale-up과 Scale-Out 모두 가능하다.
  • 하지만 스키마가 존재하지 않기 때문에 명확한 데이터 구조를 보장하지 않고 이로 인해 데이터 구조 결정이 어려울 수 있다.
profile
Soogineer's Devlog

0개의 댓글