RDBMS 와 NoSQL의 차이점

SUBNY·2023년 7월 17일

CS 공부

목록 보기
3/4
post-thumbnail

많은 도움이 된 곳
많은 도움이 된 곳2

RDBMS

관계형 데이터베이스

외래 키를 사용해서 테이블 간 Join을 하는 것이 가장 큰 특징

장점

  • 명확한 데이터 구조를 가진다.

단점

  • 테이블끼리 관계를 맺고 있어서 JOIN이 많아지면 쿼리가 난리난리가 난다.
  • 명확한 데이터 구조를 가지기에 변경이 번거롭고 어렵다.



NoSQL

관계형 데이터베이스가 아닌 다른 형태이다. JSON, XML 같은 형태로 저장하는 문서형 데이터 베이스
테이블 간 관계를 정의하지도 않고, 정의하지 않으니 Join도 불가능하다


출처: https://database.guide/what-is-a-column-store-database/

Key 와 Value의 쌍으로 저장된다. Key는 Value에 접근하기 위한 용도로 사용되며, 어떠한 형태의 데이터도 담을 수 있다. 이미지나 비디오도 가능하며 속도가 빠르다
대표적으로 Redis가 있다.

장점

  • 유연하며 자유로운 데이터 구조를 가진다
    - 언제든 저장된 데이터를 조정하고 새로운 필드를 추가할 수 있다.
  • RDBMS보다 데이터를 빠르게 조회할 수 있따
    - 별다른 연관관계가 없기에 단순히 키만으로 모든 데이터를 조회할 수 있다는 것

단점

  • 데이터 중복이 발생할 수 있고, 중복된 데이터가 변경되면 수정을 모든 곳에서 수행해야한다.
    - 일관서잉 보장되지 않는다.



그렇다면 NoSQL. 언제, 어떻게 써야할까??

모르겠다..... 어떤 상황에 사용할 수 있는 것인가.. 감이 안잡힌다..


스케일 업 : 기존의 서버를 보다 높은 사양으로 업그레이드 하는것
스케일 아웃 : 장비를 추가해서 확장하는 방식

스케일 업-아웃이 뭐야??

profile
대체할 수 없는 풀스택 개발자가 되고 싶어요

1개의 댓글

comment-user-thumbnail
2023년 7월 17일

아주 유용한 정보네요!

답글 달기