MariaDB는 기본 JSON 열 데이터 형식을 지원합니까?


13

동적 열에 대해 말하는 것이 아니라 기본 열 JSON 데이터 유형에 대해 묻습니다. 간단히 말해서, MariaDB 버전에서 다음 코드를 실행할 수 있습니까?

CREATE TABLE example (names JSON);

내가 아는 한, 확실하지는 않지만 MariaDB에서 JSON 지원에 대해 이야기하는 많은 주제가 있기 때문에 확실하지 않지만 최종적으로 구현 된 것은 아무도 없습니다.

-업데이트-

JSON 데이터 유형 지원과 관련하여 MariaDB Jira에서 여전히 열려있는 세 가지 문제가 아직 발견되지 않았습니다.


그 업데이트는 질문에 있어서는 안됩니다. 그것이 바로 대답입니다. 당신은 그것을 밖으로 이동하고 자기 대답해야합니다. @ 오므라 닉.
Evan Carroll

> JSON은 MySQL의 JSON 데이터 형식과의 호환성을 위해 도입 된 LONGTEXT의 별칭입니다. mariadb.com/kb/en/library/json-data-type
zx1986

답변:


7

JSON 지원은 MariaDB 10.2에 제공됩니다. 28.02.2017 의 공식 MariaDB 블로그 게시물을 참조하십시오 . SQL 문과 유효성 검사의 예가 있습니다.

JSON은 데이터 교환 및 비정형 데이터의 표준 형식으로 빠르게 자리 잡고 있으며 MariaDB 10.2는 아직 JSON 데이터 유형이 구현되지 않았더라도 JSON 지원 기능에 범위를 추가합니다. JSON 데이터 유형이없는 데는 몇 가지 이유가 있지만, JSON이 텍스트 기반 형식이므로 실제로 많은 이점이 없습니다. 이 블로그 게시물은 JSON 및 JSON 사용 사례를 설명하고 MariaDB 10.2 JSON 함수 및이를 사용하는 방법을 설명하고 JSON 처리에 유용한 MariaDB 10.2의 다른 추가 사항을 보여줍니다.


2
10.2.6까지 아직 원시 JSON을 지원하지 않습니다.
kittygirl

1
그들은 단지 10.3로 일반 텍스트로 JSON 저장
무사 하이 다리

6

"데이터 유형"이라고 할 때의 의미에 따라 다릅니다. PostgreSQL과 같은 일부 데이터베이스에는 전체 텍스트 검색, 이진 저장 메커니즘, 인덱싱 및 전체 연산자가 데이터에 액세스 할 수있는 JSON 데이터 형식이 있습니다. 마리아는 아직 가지고 있지 않습니다. 데이터 유형은 MDEV-9144에 의해 구체적으로 추적됩니다 .

그럼에도 불구 하고 버그 관리자 중 하나에서 MySQL 로 매우 제한된 유형을 가져옵니다.

JSON 데이터 형식은 SQL 표준과 직접 모순됩니다. 즉 JSON_ * 함수는 문자열을 인수로 사용합니다. 또한 속도 에 따른 MariaDB에는 바이너리 JSON이 필요하지 않습니다. 벤치 마크에 따르면 JSON 파서는 바이너리 JSON의 MySQL만큼 텍스트 JSON에서 빠릅니다. 즉, MariaDB에서는 JSON에 대해 VARCHAR 또는 TEXT를 사용할 수 있습니다. 유효성 검사가 필요한 경우 CHECK 제약 조건으로 확인할 수 있습니다.

my_json_column TEXT CHECK (JSON_VALID(my_json_column))

하지만 MySQL 호환성을 위해 JSON "type"을 추가 할 것입니다.

내 독서에서, 그것은 정확히 바이너리 바이너리의 요점이 아닙니다 .MySQL 문서를 참조합시다.

이진 형식은 서버가 문서에서 또는 그 이전의 모든 값을 읽지 않고 키 또는 배열 인덱스로 하위 오브젝트 또는 중첩 값을 직접 조회 할 수 있도록 구성되어 있습니다.

다시 말하지만, PostgreSQL의의는jsonb 않습니다 훨씬 더보다.

jsonb 데이터는 분해 이진 형식으로 저장되므로 변환 오버 헤드가 추가되어 입력이 약간 느리지 만 재분석이 필요하지 않기 때문에 처리 속도가 훨씬 빠릅니다. jsonb는 인덱싱도 지원하므로 상당한 이점이 있습니다.

tldr; Maria DB에는 아직 JSON 유형이 없습니다. "유형"을 가져와도 텍스트 유효성 검사 (PostgreSQL json유형 과 같은)에 대한 얇은 래퍼 일뿐 입니다. jsonb개발자가 이점을 이해하지 못하기 때문에 PostgreSQL과 같은 이진 JSON 유형에 대한 계획은 없습니다 .


1
사용자는 json이 이진인지 여부에 관계없이 Postgres의 JSON이 합성 또는 분해 저장되어 있는지 여부를 실제로 신경 쓰지 않습니다. JSON의 중요한 점은 a) 넣은 내용을 확인하고 유효한 입력을 확인할 가능성이 있다는 것입니다. b) JSON의 일부를 색인화하고 검색 할 수 있습니다. 3) 작동하는 기능이 있습니다.
블라디슬라프 Vaintroub
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.