1. RDB
RDB(Relational Database)는 데이터를 2차원의 테이블에 저장하는 DB이며
SQL(Structured Query Language)를 사용하여 데이터를 검색, 관리합니다.
각 테이블은 외래 키(Foreign Key)를 이용해서 테이블과의 연관 관계를 설정할 수 있고,
Join을 해서 데이터를 참조합니다.
대표적인 RDBMS로는 MySQL, PostgreSQL, Oracle 등이 있습니다.
RDB의 장점은 다음과 같습니다.
- 데이터의 구조를 보장합니다.(테이블마다 정의된 스키마의 존재)
- 데이터의 중복을 허용하지 않으므로 무결성이 보장됩니다.
- 데이터의 UPDATE가 용이합니다.(중복이 없기 때문에)
반면에 RDB는 다음과 같은 단점을 갖고 있습니다.
- 경직된 데이터 구조를 갖고 있습니다.
- DB의 크기가 커지면 Join 문이 많아져서 쿼리가 복잡해집니다.
- 수평적 확장(Scale out)이 어려워서 비용이 큰 수직적 확장(Scale up)을 사용합니다.
RDB를 활용하기 적합한 경우는 다음과 같습니다.
- 데이터의 구조가 변하지 않고 명확할 경우
- 데이터의 UPDATE가 잦은 경우(중복된 데이터가 없기 때문에)
2. NoSQL
NoSQL(Not Only SQL)은 데이터를 Key와 Value로 저장하는 DB입니다.
RDB와 다르게 테이블 사이의 관계를 정의하지 않고 하나의 큰 테이블을 사용합니다.
대표적인 NoSQL로는 MongoDB, Redis 등이 있습니다.
NoSQL의 장점은 다음과 같습니다.
- 유연한 데이터 구조를 갖고 있습니다.
- 필드 추가가 자유롭습니다.
- 수평적 확장(Scale out)이 용이합니다.
반면에 NoSQL은 다음과 같은 단점이 있습니다.
- 데이터 중복 가능성이 있습니다.
- 데이터 변경 시 중복된 데이터까지 모두 수정해야 합니다.(UPDATE에 불리)
- 데이터 구조를 보장하지 않습니다.
NoSQL을 활용하기 적합한 경우는 다음과 같습니다.
- 데이터 구조가 명확하게 정해지지 않은 경우
- 변경이나 확장의 가능성이 높은 경우
- 데이터의 단순 조회가 많은 경우
- 데이터의 양이 방대한 경우
참고
https://hyuuny.tistory.com/158
[데이터베이스] RDB와 NoSQL의 차이는?
관계형 데이터베이스(RDB)는 사전에 엄격하게 정의된 DB schema를 요구하는 table 기반 데이터를 구조를 갖는데 반해, 비관계형 데이터베이스(NoSQL)는 table 형식이 아닌 비정형 데이터를 저장할 수 있
hyuuny.tistory.com
https://www.saichoiblog.com/rdb-nosql/
RDB와 NoSQL 비교하기Saichoiblog
RDB와 NoSQL 비교하기 RDB(Relational Database) 관계형 데이터베이스(Relatio
www.saichoiblog.com
https://s-yeonjuu.tistory.com/51
RDB와 NoSQL의 차이점
RDBMS 관계형 데이터베이스 관리 시스템을 의미, 이름과 같이 RDBMS는 관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 테이블 형태(속성-값)로 표현하는 데이터베이스 각각의 속성과 값을
s-yeonjuu.tistory.com
'기술면접' 카테고리의 다른 글
| CORS (0) | 2023.04.07 |
|---|---|
| 병렬 프로그래밍 (0) | 2023.04.06 |
| 오버로딩과 오버라이딩 (0) | 2023.04.05 |
| 시간복잡도와 공간복잡도 (0) | 2023.04.05 |
| 프로그래밍 패러다임의 종류 (0) | 2023.04.04 |