Web Basic · Database

SQL과 NoSQL을 관계·질의·일관성으로 고르기

데이터베이스 선택은 유행이 아니라, 데이터 관계의 강도와 질의 패턴, 일관성 요구, 운영 경험을 기준으로 결정해야 한다.

01

관계 확인

사용자, 주문, 결제처럼 강한 제약과 트랜잭션이 필요한지 본다.

02

질의 나열

상위 조회 패턴을 where, order, join 기준으로 적는다.

03

일관성 결정

즉시 일관성이 필요한지 eventual consistency가 가능한지 판단한다.

04

운영 검토

백업, 복구, migration, index 변경 절차를 확인한다.

RDBMS
강한 관계 외래키, transaction, 복잡 질의에 강함
스키마 migration 필요
Document
문서 중심 한 덩어리로 읽고 쓰는 데이터에 적합
중복 정합성 관리
Key-value
단순 고속 조회 세션, 캐시, rate limit 카운터
복잡 질의 부적합
Index
성능 장치 필터와 정렬 조건에 맞춰 설계
쓰기 비용 증가

질의 · 무결성 · migration 점검

질의 주요 조회를 실제 쿼리로 설명할 수 있다.
무결성 앱 코드만 믿지 않고 DB 제약도 활용한다.
migration 스키마 변경과 롤백 절차가 있다.
복구 백업 주기와 복구 목표가 정해져 있다.