RDB_Nosql

YES31·2023년 3월 2일
0

TIL

목록 보기
27/35

관계형 데이터베이스 (RDB)

사전에 엄격하게 정의된 DB schema를 오구하는 테이블 기반 데이터 구조를 갖는 데이터베이스다. 엄격한 schema로 인해 데이터 중복이 없기 때문에 데이터를 update가 많을 때 유리하다.

각 테이블의 행과 행이 연결되는 관계를 맺을 수 있어 관계형 데이터베이스라는 이름을 갖는다. 테이블 간의 관계는 일 대 일(1:1), 일 대 다 (1:N), 다 대 다 (N:N) 가 있다.

한개의 테이블에 필요한 모든 필드와 모든 데이터 항목을 넣어 저장할 수 있지만, 데이터에 대한 중복저장과, 데이터를 불러올 때 불필요한 값들 불러와 효율성을 떨어트리기 때문에 관계를 통한 데이터베이스를 형성해 데이터르 효율적으로 관리하는것이 좋다.


Nosql (Not Only SQL)

SQL을 사용하지 않는 Schema-less 데이터베이스

테이블 간 관계를 정의하지 않으며, 일반적으로 테이블간 Join 불가능, 데이터의 일관성은 포기하되 비용을 고려하여 여러 대의 데이터에 분산하여 저장하는 Scale-Out을 목표로 등장한 데이터 저장 기술이다.

장점

  • 저장된 데이터를 언제든지 조정하고 새로운 필드 추가 가능 (유연성이 높다)
  • 데이터는 애플리케이션에서 필요한 형식으로 저장. (조회 속도 향상)
  • 수직 및 수평확장이 가능하므로 데이터베이스가 애플리케이션에서 발생시키는 모든 읽기 쓰기 요청을 처리할 수 있다.

단점

  • 유연성 때문에 데이터 구조 결정이 늦어질 수 있다.
  • 복사된 데이터가 변경되어 여러 테이블과 문서를 수정해야한다.

차이점

정리
Q. NoSQL은 언제 사용하면 좋을까?

NoSQL은 정확한 데이터 구조가 정해지지 않은 경우, 데이터 update가 자주 이루어지지 않고, 조회가 많은 경우, 또 scale-out이 가능하므로 데이터 양이 매우 많은 경우에 사용하면 좋다.

Q. RDB는 언제 사용하면 좋을까?

RDB는 데이터 구조가 명확하여 변경될 여지가 없는 경우, 또 데이터 중복이 없으므로 데이터 update가 잦은 시스템에서 사용하면 좋다.

profile
🏀 주니어 개발자

0개의 댓글