[DB] RDBMS vs NoSQL

khyojun·2023년 1월 29일
0

DB

목록 보기
1/2

관게형 데이터베이스는 2차원의 테이블 형식으로 구성이 됩니다. 속성(Attribute), 값(Value)를 이용하여서 데이터를 정의하고 관리하게 된다. 그래서 각각의 속성과 값을 가진 테이블끼리 관계(join을 통하여)를 맺으면서 존재를 하게 되는 것이다.

저장 방식은 예를 들면 다음과 같다.

고객이름고객 나이고객 id
kim1212dfw
lee24rew123
Jun25fdscx

이런 RDBMS의 장단점은 다음과 같습니다.

장점

  • 데이터를 행과 열의 형태로 저장을 시킨다.
  • 데이터의 분류, 정렬, 탐색 속도가 빠르다.
  • 작업의 완전성이 보장된다.
  • 정해진 스키마에 따라 데이터를 저장해야 하므로 명확한 데이터 구조를 보장한다.
  • 각 데이터를 중복없이 한 번만 저장할 수 있다.

단점

  • 테이블간의 관계를 맺기 때문에 시스템이 엄청 커지게 되면 너무 복잡한 쿼리가 만들어질 수 있다.
  • 성능 향상을 위해서는 서버의 성능을 향상 시켜야하는 Scale-up만을 지원하는데 이렇게 되면 비용이 기하급수적으로 늘어날 수 있다.
  • 스키마가 정해져있기 때문에 데이터가 유연하지 못하여 나중에 스키마 변경이 될 경우 번거럽고 어려울 수 있다.

NoSQL은 기존의 RDBMS로는 처리가 안될 만큼 복잡하고 큰 데이터들을 처리하기 위하여 사용하기 시작하였다. 그래서 정형화보다는 어떻게 보면은 대용량 데이터를 읽고 쓰는것에 초점을 맞추는 방식으로 간다. 데이터 테이블간의 관계를 신경쓰지 않고 key-value형식으로 보관을 하게 된다.

NoSQL은 다음과 같이 저장을 한다.

고객 id: 12edfw | 고객 정보 : kim, 12
고객 id: rew123 | 고객 정보 : lee,24
고객 id: fdscx | 고객정보 : Jun, 25

NoSQL의 장단점은 다음과 같다.

장점

  • 데이터간의 관계를 정의하지 않는다.
  • RDBMS보다 복잡도가 떨어져서 훨씬 대용량의 데이터를 저장, 관리가 가능하다.
  • 테이블에 스키마가 정해져있지 않기 때문에 데이터 저장이 비교적 자유롭다.
  • 많은양의 데이터를 저장,처리 할 수 있다.
  • 성능을 향상시키기 위하여서 Scale-Up, Scale-Out 둘 다 가능하다.

단점

  • key-value의 형식이기 때문에 key값에 의한 입출력만 지원을 한다.
  • 스키마가 정해져 있지 않아서, 데이터에 대한 규격화가 되어있지 않다.
  • DATA를 UPDATE하는데 비교적 느리다.
profile
코드를 씹고 뜯고 맛보고 즐기는 것을 지향하는 개발자가 되고 싶습니다

0개의 댓글