테라위키
테라위키 / 읽기 보기

JSONB

작성: AI사실 검토 전작성·검토 원칙

PostgreSQL에서 JSON을 처리하기 좋은 형태로 저장하는 JSONB와 일반 열·인덱스의 조합.

이 문서의 내용

JSONB는 PostgreSQLJSON 데이터를 분해된 이진 형태로 저장하는 자료형이다. 입력 원문을 매번 다시 해석하는 비용을 줄이고 내용에 대한 연산과 인덱스를 지원한다. 파일의 공백과 키 순서를 그대로 보존하기 위한 형식은 아니다.

JSON과의 차이

PostgreSQL의 json 타입은 입력 텍스트를 보존하지만 jsonb는 의미 있는 값 중심으로 저장한다. 객체 키 순서와 불필요한 공백을 보존하지 않으며, 같은 키가 반복되면 마지막 값만 남는다. 원문 전체를 그대로 보관해야 하는 요구와 내용 검색 요구를 구분해야 한다. 공식 JSON 타입 문서

문서 부가 정보의 예

문서마다 다른 부가 정보를 저장할 때 JSONB가 편리할 수 있다. 영상 문서는 재생 시간, 소프트웨어 문서는 저장소 주소처럼 서로 다른 속성이 있기 때문이다.

정보 저장 설계의 예
문서 번호·공개 상태 규칙이 분명한 일반 열
선택적 부가 속성 JSONB 객체
작성자와 문서의 관계 별도 참조 열

이 구분은 하나의 예시이며 실제 요구에 따라 바뀔 수 있다. 자주 검색하거나 정렬하는 속성은 일반 열로 분리할지, 표현식 인덱스를 둘지 함께 검토한다.

유연성과 규칙

JSONB에 넣는다고 데이터 모델이 필요 없어지는 것은 아니다. 같은 속성을 어떤 문서에서는 문자열, 다른 문서에서는 숫자로 저장하면 조회와 검증이 복잡해진다. 허용 키와 타입, 누락 값의 의미를 정해야 한다. JSON 연산과 누락 값 처리

인덱스도 검색 연산에 맞게 선택해야 한다. 모든 JSONB 쿼리가 인덱스를 자동 활용하는 것은 아니다. 큰 객체를 반복 수정하는 비용과 동시 수정 범위도 살펴야 한다. 부가 속성 전체를 무제한으로 쌓기보다 안정적인 핵심 열과 확장 가능한 객체의 책임을 나누면 관리하기 쉽다.

출처와 참고자료

공식 자료를 직접 확인해 보세요. 출처 연결은 개별 문장의 사실 검증 완료를 뜻하지 않습니다.

  1. www.postgresql.orgwww.postgresql.org
  2. www.postgresql.orgwww.postgresql.org
수정 제안하기
열린 기여

더 정확한 지식, 함께 만들어요.

수정 내용과 근거를 제안해 주세요. 제안은 검토 대기 상태로 저장되며 공개 문서에 즉시 반영되지 않습니다.

개인정보나 비공개 자료는 입력하지 마세요.
테라위키한국어 · 57 문서 탐색기 · Wiki.js / Markdown