NoSQL이란?
NoSQL은 관계형 모델에만 의존하지 않는 비관계형 데이터베이스를 뜻한다.
NoSQL은 주로 비정형 데이터, 대용량 데이터, 분산 환경에 적합하도록 설계되었다.
RDBMS처럼 고정된 테이블 구조보다, 데이터 특성에 맞는 유연한 저장 방식을 제공한다.
🧭 특징
- 스키마가 유연하다.
- 수평 확장에 유리하다.
- 대용량 데이터 처리에 적합하다.
- 다양한 형태의 데이터 모델을 지원한다.
⚖️ 장점과 단점
장점
- 대량 데이터 처리에 유리하다.
- 설계 유연성이 높다.
- 분산 처리에 적합하다.
- 구조 변경이 비교적 쉽다.
단점
- 데이터 업데이트 중 장애가 생기면 일관성 문제가 발생할 수 있다.
- 복잡한 조인이나 관계형 질의는 불편할 수 있다.
- 데이터 무결성 보장이 RDBMS보다 약할 수 있다.
🧱 NoSQL 데이터베이스 유형
Key-Value Database
- key와 value 형태로 데이터를 저장한다.
- 구조가 단순하고 빠르다.
| 예시 |
| Redis |
| Oracle NoSQL DB |
| Voldemort |
Wide-Column Database
- 컬럼 패밀리를 기준으로 데이터를 저장한다.
- 대규모 분산 환경에 적합하다.
| 예시 |
| HBase |
| Cassandra |
| Google BigTable |
| Vertica |
Document Database
- JSON, BSON, XML 같은 문서 형태로 저장한다.
- 데이터 구조가 유연하다.
| 예시 |
| MongoDB |
| CouchDB |
| Riak |
| Azure Cosmos DB |
Graph Database
- 노드, 엣지, 속성으로 관계를 표현한다.
- 연결 관계가 중요한 데이터에 적합하다.
| 예시 |
| Sones |
| AllegroGraph |
| Neo4j |
| BlazeGraph |
| OrientDB |
연결문서
댓글남기기