다음과 같은 4가지 유형으로 나뉠수있다
- 키-값 DB
- 세션 관리: 인증 토큰과 같은 세션 정보를 저장
- 캐시: 자주 사용하는 데이터를 캐싱하는 용도
- 설정 관리: 설정은 키-값 가지므로 이걸로 관리하기 적합
- 문서 DB
- 데이터를 주로 JSON과 유사한 문서로 저장
- 스키마 미고정
- JSON 형태면 되니 테이블과 달리 복잡하고 중첩된 모델 쉽게 표현 가능
- 컨텐츠 관리: 유연한 스키마 이용해서 다양한 종류 컨텐츠 관리
- 제품 카탈로그: 다양한 메타데이터를 가진 카탈로그 제공
- 칼럼 패밀리 DB
- 키-값 DB 확장 버전
- 대표적으로 Cassandra, HBase
- 각 DB마다 데이터 구조 차이있지만 각 행은 여러 칼럼 가질 수 있는데 여러 칼럼들을 그룹으로 묶어 관리한다는 공통점 있다
- 대량 데이터 저장할수있는 수평 확장이 용이
- 대규모 데이터 관리: 채팅 플랫폼의 채팅 메시지나 IoT 데이터 등 대규모 데이터에 대한 저장과 조회가 필요한서비스에 사용
- 그래프 DB
- 데이터를 그래프로 관리
- Neo4j
- 소셜: 쇼셜 네트워크는 그 자체가 그래프
- 추천: 사용자 관계에 기반한 친구 추천, 사용자 활동에 기반한 상품 추천등에 활용
- 부정 탐지: 관계에 대한 패턴 이용해서 실시간으로 이상 사용 탐지가능
- 칼럼 기반 DB
- RDBMS는 행 단위 데이터 저장
- 칼럼 기반은 열 단위 데이터 저장
- OLAP 같은 데이터 분석 목적으로 주로 사용
- Clickhouse, MaraDB ColumnStore