source

Postgres에서의 JSON과 JSONB의 차이점

itover 2023. 2. 15. 21:52
반응형

Postgres에서의 JSON과 JSONB의 차이점

PosgresSQL의 JSON과 JSONB 데이터 유형의 차이점은 무엇입니까?

  1. 구체적인 사용 시기는 언제입니까?
  2. 타인에 대한 장점과 단점은 무엇입니까?

json는 기본적으로 JSON 데이터를 원시 형식으로 저장하는 BLOB로 공백, 오브젝트 키 순서, 오브젝트 키 중복 등 사소한 것까지 보존합니다.오브젝트 내의 키와 관련된 값을 추출하는 등의 기본적인 JSON 조작을 실행할 수 있는 기능은 제공되지만 JSON BLOB를 매번 해석해야 하기 때문에 그 속도는 느립니다.또한 모든 값을 검증하여 유효한 JSON인지 확인합니다.jsonb한편, JSON 데이터는 오브젝트의 일부 키와 관련된 값을 추출하는 등 특정 작업에 최적화된 커스텀 형식으로 저장됩니다(즉, JSON을 재분석하지 않고 선형으로 검색하지 않습니다).또한.jsonb는 오브젝트를 연결하거나 오브젝트 내부 깊숙이 값을 설정하는 것과 마찬가지로 더 많은 조작을 지원합니다.

저는 일반적으로jsonJSON 조작을 하지 않거나 가끔만 하는 경우에 한합니다.사용하는 다른 모든 케이스에 대해jsonb전자의 경우,text그것은 또한 완벽하게 유효한 옵션이다, 특히 당신이 그 검증에 관심이 없다면.json(예를 들어 데이터의 소스를 신뢰하고 있기 때문에)는 그렇게 합니다.

다음은 설명하겠습니다.https://www.citusdata.com/blog/2016/07/14/choosing-nosql-hstore-json-jsonb/

대부분의 경우 JSONB는 스키마가 없는 NoSQL 데이터 유형을 찾는 데 적합합니다.Hstore와 JSON도 자리를 가질 수 있지만 흔하지는 않습니다.더 넓게 말하면, JSONB가 모든 데이터 모델에 적합한 것은 아닙니다.정규화할 수 있는 장소에는 이점이 있지만, 다수의 옵션 컬럼(이벤트 데이터 등)이 있는 스키마가 있거나 테넌트 ID에 따라 스키마가 다른 경우에는 JSONB가 적합합니다.일반적으로 원하는 것:

  • JSONB - 대부분의 경우
  • JSON - 로그만 처리하는 경우 쿼리할 필요가 거의 없으며 감사증거로서 사용할 필요가 없습니다.
  • hstore - 텍스트 기반 키 값 모양에 적합하지만 일반적으로 JSONB는 여기서도 잘 작동합니다.

언급URL : https://stackoverflow.com/questions/39637370/difference-between-json-and-jsonb-in-postgres

반응형