NoSQL
"Non Relation Operation Database SQL"
관계형 데이터베이스가 아닌 SQL
나는 관계형 DB만을 사용해봤고 사용해왔다. NoSQL 비관계형 데이터베이스에 대해선 들어보기만 했지 실제로 사용해본적은 없었다.
데이터직군에 있는 지인도 NoSQL을 사용하고 요즘 채용공고에도 MongoDB와 같은 비관계형 데이터베이스가 많이 보인다.
NoSQL에 대해 알아보자 feat.몽고디비
일반적인 관계형데이터베이스는 데이터의 중복을 제거하고 무결성을 보장하기 위해 정규화를 진행한다. (1,2,3 정규화)
이러한 정규화 과도한 JOIN으로 성능저하의 문제를 야기한다. 당장 내가 사용하는 쿼리만 봐도 JOIN이 난무한다.
하지만 NoSQL은 중첩데이터 형태를 띔으로 불필요한 JOIN을 최소화한다고 한다.
[관계형DB / NoSQL간 비교는 다음 링크 참조]
https://github.com/yhansol145/TIL/blob/main/database/database.md
GitHub - yhansol145/TIL: Today I Learned
Today I Learned. Contribute to yhansol145/TIL development by creating an account on GitHub.
github.com
MongoDB
json 타입의 Document 방식의 NoSQL이다. 특징으로는
1. JSON 형식의 데이터 구조
2. CRUD위주의 다중 트랜잭션 처리 가능
3. 분산/복제 기능 제공
4. Memory Mapping 기술 기반 빅데이터 처리에 탁월(데이터직군 지인이 사용하는 이유인 것 같다.)
Relation Database | MongoDB |
Table | Collection |
Row | Document |
Column | Field |
Primary key | Object_ID Field |
Relationship | Embbeded & Link |
'database' 카테고리의 다른 글
[GraphQL] GraphQL이란? (0) | 2023.10.20 |
---|---|
Dead Lock(교착상태) (0) | 2023.02.23 |
[Oracle] 계층형 쿼리 (0) | 2022.12.26 |
Redis에 대하여 (0) | 2022.12.08 |