Depende do que você quer dizer quando diz "tipo de dados". Alguns bancos de dados como o PostgreSQL, possuem um tipo de dados JSON que permite a pesquisa de texto completo, um mecanismo de armazenamento binário, indexação e um conjunto completo de operadores para acessar os dados. Maria ainda não tem isso. O tipo de dados especificamente está sendo rastreado pelo MDEV-9144 .
Mesmo assim, traz um tipo muito limitado ao MySQL, de um dos mantenedores de erros,
O tipo de dados JSON contradiz diretamente o padrão SQL, que diz que as funções JSON_ * usam uma sequência como argumento. Além disso, o MariaDB em velocidade
não precisa de JSON binário, de acordo com nossos benchmarks, nosso analisador JSON é tão rápido no JSON de texto quanto o MySQL no JSON binário. Ou seja, no MariaDB, é possível VARCHAR ou TEXT for JSON. Se for necessária uma validação, é possível fazê-lo com uma restrição CHECK:
my_json_column TEXT CHECK (JSON_VALID(my_json_column))
Nós vamos adicionar JSON "type" para compatibilidade com MySQL.
Pela minha leitura, esse não é exatamente o ponto do JSON binário, vamos nos referir aos documentos do MySQL
O formato binário é estruturado para permitir que o servidor pesquise subobjetos ou valores aninhados diretamente pelo índice de chave ou matriz sem ler todos os valores antes ou depois deles no documento.
Novamente, o PostgreSQLjsonb
faz muito mais que isso.
Os dados do jsonb são armazenados em um formato binário decomposto que torna um pouco mais lento a entrada devido à sobrecarga adicional da conversão, mas significativamente mais rápido de processar, pois não é necessária nenhuma nova correção. O jsonb também suporta indexação, o que pode ser uma vantagem significativa.
tldr; Maria DB ainda não tem um tipo JSON. Mesmo quando obtém o "tipo", é apenas um invólucro fino sobre uma validação de texto (como o json
tipo do PostgreSQL ). Não há planos para um tipo JSON binário (como o PostgreSQL jsonb
) porque os desenvolvedores aparentemente não entendem as vantagens.