Web/Theory
NoSQL - 비관계형 데이터베이스
Alioth02
2024. 5. 2. 20:27
1. NoSQL 특징
- 스키마가 존재하지 않는다.
데이터에 대한 사전 정의가 필요하지 않아 데이터 모델링이 간단하고 유연한 데이터 저장과 검색이 가능하다.
- 수평적 확장이 가능하다.
더 많은 서버를 추가함으로써 데이터베이스 처리 능력을 향상시킬 수 있다. 대규모 데이터 처리에 유용합니다.
- 높은 가용성을 보장한다.
다수의 노드를 이용하여 데이터를 저장하므로 한 노드가 다운되어도 다른 노드에서 데이터를 읽을 수 있다.
더보기
수평적 확장 & 수직적 확장
- 수평적 확장 : 서버 수를 늘리는 것을 의미한다. NoSQL 데이터베이스에서는 데이터를 여러 노드에 분산하여 저장하고 처리함으로써 시스템의 용량과 처리량을 확장할 수 있다.
- 수직적 확장 : 서버의 성능을 향상시키기 위해 하드웨어를 업그레이드하는 것을 의미한다. 일반적으로 CPU, 메모리, 디스크 등의 하드웨어 요소를 더 강력한 것으로 교체하거나 추가하여 시스템의 성능을 개선하는 방법이다.
1.1. NoSQL 종류
- Document Store
데이터 및 메타데이터는 데이터베이스 내의 JSON 기반 문서에 계층적으로 저장된다.
유연한 데이터 구조를 가질 수 있다.
MongoDB
- Key-Value Store
데이터가 키-값 쌍 컬렉션으로 표시된다.
가장 단순하고 빠른 읽기, 쓰기가 가능하다.
Redis
- Graph Store
데이터가 그래프 구조에 노드, 엣지 및 데이터 속성으로 저장된다.
복잡한 관계를 가진 데이터를 저장하고 조회할 수 있다.
Neo4j
1.1.1. 문서 데이터베이스(Document Store)
- JSON 또는 XML과 같은 문서 형식으로 데이터를 저장한다.
- 데이터 모델링이 자주 변경되는 경우에 적합하다.
- 수평 확장이 가능하기 때문에 대규모 데이터 처리에 유리하다.
// document.json
{
"name": "Kim",
"age": "20",
"Column": "Value"
}
/*
문서 자체가 관계형 DB에서의 Row가 된다.
json 파일의 Key 값은 Column 이 되며, Value 값은 그대로 Value 가 된다.
*/
2. 참고문헌
https://adjh54.tistory.com/257
[DB/mongo] Document DB 이해하기 -1 : MongoDB 이론 및 주요 메서드
해당 글에서는 NoSQL에 대해 이해하며 Document DB의 MongoDB에 대해서 이해하고 메서드를 확인해 봅니다. 1) NoSQL 💡 NoSQL이란? - ‘Not Only SQL’ 또는 ‘Non-Relational SQL’이라는 의미를 가지며 관계형 데
adjh54.tistory.com
https://ittrue.tistory.com/195
[SQL] SQL과 NoSQL의 차이 (관계형 데이터베이스 vs 비관계형 데이터베이스)
SQL vs NoSQL 데이터베이스는 크게 관계형 데이터베이스와 비관계형 데이터베이스로 구분한다. 관계형 데이터베이스는 SQL을 기반으로 하고, 비관계형 데이터베이스는 NoSQL로 데이터를 다룬다. SQL
ittrue.tistory.com