Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

레커

NoSQL과 RDBMS의 특징과 차이점/Primary Key, Foreign Key 본문

개발/TIL

NoSQL과 RDBMS의 특징과 차이점/Primary Key, Foreign Key

Prism Wrecker 2024. 1. 16. 09:30

 

1. NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요.

 

RDBMS은 데이터를 column 과 row로 구성된 테이블로 데이터를 저장하는 방식으로,

스키마를 통해 테이블/column/row/인덱스/테이블 관계 등 데이터베이스의 요소를 명확하게 규정하는 방식입니다.

대표적으로 SQL이 있습니다.

NoSQL은 기존의 RDBMS 방식이 다른 방식으로 데이터를 저장하는 방식을 말합니다.

NoSQL 데이터베이스는 키-값, 문서, 그래프 등으로 데이터 모델을 만들어 저장합니다.

대표적으로 몽고디비/레디스/allegrograph 등이 있습니다.

RDBMS는 데이터 구조가 명확하고 중복된 데이터를 최소화 할 수 있으며, ACID 속성을 보장할 수 있습니다.

다만, 모든 데이터의 관계가 명확하지만 이 부분이 새로운 확장에 제한이 되어 유연성이 떨어지고 수직 확장이 가능합니다.

또한 관계에 때라 조인이 많아지면 복잡한 쿼리가 만들어 집니다.

NOSQL은 별도의 스키마가 없기 때문에 유연성이 높기 때문에 수직/수평적이 모든 확장에 가능합니다.

또한 데이터를 필요한 방식에 따라 저장을 하기 때문에 읽는 속도가 빠릅니다.

다만, 데이터가 중복으로 저장이 일관성이 떨어지고 유연성으로 인해 데이터 구조 결정을 미루게 될 수 있다.

 

2. Primary Key, Foreign Key

 

Primary Key는 후보 키 중 하나가 주키(primary key)로 선택됩니다.

후보키는 수퍼 키를 최소의 조건을 만족시키면 키를 후보키라고 합니다.

슈퍼키는 각각의 가능한 릴레이션을 고유한 튜플을 구분하는데 충분하다고 하면 수펴키라고 합니다.

Foreign Key는 참조 하거나 참조되는 키를 말하며 테이블 간의 관계를 생성 키를 말합니다.

'개발 > TIL' 카테고리의 다른 글

CORS  (0) 2024.01.19
Container  (0) 2024.01.17
[TIL] 2023_10_13_프로세스  (0) 2023.10.16
[TIL] 2023_10_13_자바스크립트 싱글스레드/비동기/  (0) 2023.10.13
[TIL] Nest.js 첫 경험....  (0) 2023.10.12