콘텐츠로 이동

데이터베이스

데이터를 어디에 두느냐는 "어떤 기술을 쓰느냐"만큼이나 제품 설계를 좌우해요. 데이터스케쳐스는 DB를 하나로 통일하지 않고, 데이터의 특성에 따라 저장소를 나눠 쓰는 폴리글랏 데이터베이스 접근을 택했어요. 이 페이지가 그 데이터베이스 카테고리의 허브로, PostgreSQL·MongoDB·Redis를 중심으로 각 저장소가 맡은 역할을 보여줍니다.

개요

데이터를 나누는 기준은 사실 단순해요.

  • 정합성이 중요한가? 사용자·구독·권한처럼 되돌릴 수 없는 변경이면 관계형(PostgreSQL)이죠.
  • 구조가 자유로운가? 노트·캔버스처럼 형태가 수시로 바뀌면 문서형(MongoDB)이 어울려요.
  • 빨리 읽고 써야 하나? 세션·캐시·큐처럼 즉답이 필요하면 인메모리(Redis)가 제격이에요.

세 요구가 한 테이블에 섞이진 않으니, 저장소도 역할에 맞게 나눠 쓰는 게 자연스러워요.

기술 목록

관계형 / 주 저장소

  • PostgreSQL (🟢 운영) — 오픈소스 관계형 데이터베이스. 트랜잭션과 JSONb 지원이 두루 갖춰져 있어 멀티테넌트 서비스의 주 저장소로 씁니다. 확장 기능이 풍부해서 핵심 신뢰성이 필요한 곳에 어울려요.

문서형

  • MongoDB (🔵 적용) — 문서형(NoSQL) 데이터베이스. 스키마가 자유로운 문서를 그대로 저장해서, 노트·캔버스처럼 형태가 자주 바뀌는 콘텐츠에 도입하고 있어요.

인메모리

  • Redis (🟢 운영) — 인메모리 데이터 저장소. 캐시·세션·큐·rate limit처럼 "빠르게 읽고 쓰는" 역할을 전담합니다. Bull과 함께 쓰면 작업 큐의 백엔드가 되기도 해요.

하위 페이지

PostgreSQL은 핵심 원리를 깊게 다루는 챕터로 나뉘어 있어요.

더 알아보기