본문 바로가기
카테고리 없음

RDB와 NoSQL / Inner Join과 Left (Outer) Join

by abccoco 2022. 9. 15.

RDB와 NoSQL의 뜻과 차이점, 장단점

RDBMS(DataBase Management System)

관계형 데이터베이스 관리 시스템을 의미합니다.

장점

  • 정해진 스키마에 따라 데이터를 저장하여야 하므로 명확한 데이터 구조를 보장하고 있습니다. 
  • 또한 관계는 각 데이터를 중복없이 한 번만 저장할 수 있습니다.

단점

  • 테이블간테이블 간 관계를 맺고 있어 시스템이 커질 경우 JOIN문이 많은 복잡한 쿼리가 만들어질 수 있습니다.
  • 성능 향상을 위해서는 서버의 성능을 향상 시켜야하는 Scale-up만을 지원합니다. 이로 인해 비용이 기하급수적으로 늘어날 수 있습니다.
  • 스키마로 인해 데이터가 유연하지 못합니다. 나중에 스키마가 변경 될 경우 번거롭고 어렵습니다.

 

NoSQL(Not Only SQL)

RDB 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미하고 있습니다.

장점

  • NoSQL는 스키마가 없기 때문에 유연하며 자유로운 데이터 구조를 가질 수 있습니다. 언제든 저장된 데이터를 조정하고 새로운 필드를 추가할 수 있습니다.
  • 데이터 분산이 용이하며 성능 향상을 위한 Saclue-up 뿐만이 아닌 Scale-out 또한 가능합니다.

단점

  • 데이터 중복이 발생할 수 있으며 중복된 데이터가 변경 될 경우 수정을 모든 컬렉션에서 수행을 해야 합니다.
  • 스키마가 존재하지 않기에 명확한 데이터 구조를 보장하지 않으며 데이터 구조 결정가 어려울 수 있습니다.

 

Join의 뜻과 Inner Join과 Left (Outer) Join의 차이점

조인(Join)이란 두 개 이상의 테이블을 서로 묶어서 하나의 결과 집합으로 만들어 내는 것을 말한다.

 

INNER JOIN(이너 조인)

테이블 간의 교집합을 의미 한다.

예를들어 A와 B의 테이블이 있다고 한다면 A 테이블과 B테이블이 모두 가지고 있는 데이터만이 검색된다.


LEFT OUTER JOIN(레프트 아우터 조인)

LEFT를 포함한 테이블 간의 교집합을 의미 한다.

예를들어 A와 B의 테이블이 있다고 한다면 왼쪽 테이블 A 의 모든 데이터 A와 B 테이블의 중복데이터들이 검색된다.

INNER JOIN / LEFT OUTER JOIN

 

댓글