NoSQL 데이터베이스의 종류에 대해서 알아보자!
1. 개념
NoSQL은 "Not Only SQL"의 약자로, 전통적인 관계형 데이터베이스(RDBMS)와 달리 정해진 스키마 없이 유연한 데이터 저장 방식을 지원하는 데이터베이스 유형이다.
NoSQL은 일반적으로 대규모 분산 시스템, 빅데이터, 실시간 웹앱 등에 사용된다.
2. 종류
- 문서형(Document-based)
대표 DB: MongoDB, CouchDB, Amazon DocumentDB
데이터 형식: JSON, BSON, XML 형태의 "문서"
특징:
> 각 문서는 유연한 구조를 가짐
> 컬렉션 단위로 문서 관리
> RDB의 테이블+레코드 개념과 유사하지만 문서 간 구조가 달라도 됨
사용 예: 블로그 글, 사용자 프로필, 전자상거래 상품 정보 등
{
"title": "NoSQL 개요",
"author": "홍길동",
"tags": ["nosql", "db"],
"published": true
}
- 키-값형(Key-Value Store)
대표 DB: Redis, Amazon DynamoDB, Riak, Memcached
데이터 형식: key: value 단순 쌍
특징:
> 매우 빠른 읽기/쓰기 속도
> 스키마 없음
> 캐시, 세션 저장 등에 적합
사용 예: 사용자 세션 저장, 설정값 캐시, 토큰 저장 등
"user:12345": "{name: '홍길동', age: 30}"
- 열 기반(Column-family)
대표 DB: Apache Cassandra, HBase, ScyllaDB
데이터 형식: 테이블과 비슷하지만 열 단위로 저장
특징:
> 읽고 쓰는 열만 접근하여 성능 최적화
> 대량의 쓰기와 분석 처리에 유리
사용 예: 로그 분석, IoT 데이터 저장, 시간 기반 데이터
RowID: 1
| name | age | city |
|------|-----|------|
| 홍길동| 30 | 서울 |
- 그래프형(Graph-based)
대표 DB: Neo4j, ArangoDB, Amazon Neptune
데이터 형식: 노드(node)와 간선(edge)
특징:
> 데이터 간의 관계를 빠르게 탐색 가능
> 복잡한 관계형 쿼리(예: 친구의 친구의 친구 등)에 적합
사용 예: 추천 시스템, 소셜 네트워크, 경로 탐색
(홍길동)-[친구]->(김영희)
끝!
'개발 > ETC' 카테고리의 다른 글
템플릿 메소드 패턴 (38) | 2025.05.20 |
---|---|
결합도 공부 (67) | 2025.05.08 |
이진 트리 공부 (74) | 2025.04.30 |
페이지 교체 알고리즘 공부 (191) | 2025.04.28 |
단일 프로세스 시스템 알아보기! (41) | 2025.04.16 |