[TIL][Database][2024-01-05] RDBMS 와 NoSQL
2024. 1. 6. 03:02ㆍTIL/Database
기술면접 대비 질문들을 훑어보던 중..
'NoSQL과 RDBMS의 특징과 차이점에 대해 장단점을 들어 설명하시오' 라는 질문을 마주하게 되었다.
정신없고 타이트한 부트캠프 과정 중 분명히 배웠던 부분인데 가물가물하다.
이런 게 한두 개가 아니라는 게 문제..
따라서 이번 기회에 다시 공부하고 정리를 해보려고 한다.
한 번에 익히지 못한다면 익힐 때까지 공부해야지.
RDBMS 란?
Relational Database Management System, 즉 관계형 데이터베이스 관리 시스템이다.
관계형 데이터베이스를 생성하고 수정 및 삭제 관리할 수 있는 소프트웨어라고 정리할 수 있겠다.
RDBMS에서는 관계를 나타내기 위해 외래 키(foreign key)를 사용하고,
테이블 간의 관계에서 외래 키를 이용해 테이블 간 join이 가능하다는 게 가장 큰 특징이다.
RDBMS의 특징
- 반드시 Schema 규격에 맞춰야 한다.
- SQL(Structured Query Language)라는 정교한 query를 통해 데이터를 다룬다.
RDBMS의 장단점
- 장점
- 반드시 Schema 규격에 따라 데이터를 저장해야 하므로 데이터의 정확성을 보장한다.
- 관계는 각 데이터를 중복없이 한 번만 저장할 수 있기 때문에 데이터의 일관성과 무결성을 보장한다.
- 데이터의 분류, 정렬, 탐색 속도가 비교적 빠르다.
- 단점
- 확장이 어려울 수 있다.(수직 확장만 가능)
- 반드시 Schema 규격에 맞춰야 하므로 유연하지 못하다.
- 성능을 향상시키기 위해서는 장비가 좋아야 한다는 특징이 있어 비용이 증가한다.
NoSQL (Not Only SQL)
NoSQL에서는 테이블 간 관계를 정의하지 않는다.
RDBMS의 한계를 극복하기 위해 개발된 다양한 형태의 데이터베이스이다.
따라서 대용량 데이터를 처리하는 성능이 뛰어나고 수평 확장에 의해 서버 확장이 용이하다.
또한 비규격화를 통해 key-value형태의 값 등도 저장 가능하다는 특징이 있다.
NoSQL의 장단점
- 장점
- 스키마가 없기 때문에 유연하고 자유로운 데이터 구조를 가질 수 있다.
- 데이터의 분산이 용이하고 수직 확장뿐만이 아닌 수평 확장이 가능하다
- 단점
- 데이터의 중복이 발생할 수 있다.
- 스키마가 없기 때문에 데이터의 정확성을 보장받기 힘들다.
- key-value형태의 데이터의 경우 key값에 대한 입, 출력만 지원한다.
'TIL > Database' 카테고리의 다른 글
[TIL][Database][2023-01-09] Primary Key, Foreign key (0) | 2024.01.10 |
---|---|
[TIL][Database][2024-01-08] RDBMS의 정규화 (0) | 2024.01.08 |