다음과 같은 4가지 유형으로 나뉠수있다

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