Relational + document 하이브리드
JSONB 가 PostgreSQL 의 binary 인코딩 JSON 타입. JSON (텍스트 그대로 저장) 과 다르게, JSONB 가 insert 시 빠른 binary 형태로 파싱, 인덱싱 (GIN) 지원, 풍부한 연산자 셋 제공. "MongoDB 필요한가?" 대부분 질문의 답.
외울 가치 있는 연산자
->필드 접근 (JSONB 반환):data->'user'.->>TEXT 로 필드 접근:data->>'name'.@>포함:data @> '{"type":"click"}'.?키 존재:data ? 'email'.jsonb_path_exists(data, '$.orders[*] ? (@.total > 100)')SQL/JSON path 쿼리.
JSONB 쓸 때와 안 쓸 때
서브 오브젝트 모양 진짜 다양할 때 JSONB (이벤트 payload, 외부 API 응답, 설정 blob). 스키마 설계 회피 수단으로 JSONB 회피 — 모든 행에 같은 5 필드 있으면 그건 적절한 타입과 제약 있는 진짜 컬럼이어야.