Ce que vous devez savoir sur JSON dans MySQL

Par mehdi, 24 mai, 2017

L'ajout du type de données JSON dans MySQL rend la base de données relationnelle plus facile à utiliser et brouille les lignes entre les bases de données SQL et NoSQL.

Il était une fois qu'il y avait un ordinateur. Ensuite, quelqu'un a construit un deuxième et a voulu un code sur le premier ordinateur. Cela signifiait que nous avions besoin d'un moyen de déplacer des informations sans dépendances sur le matériel sous-jacent. Depuis lors, il existe de nombreuses normes de codage et d'échange de caractères (ASCII, SGML, XML, etc.) qui ont eu leur temps sur la scène. Au cours des dernières années, JavaScript Object Notation (JSON) a été le plus populaire.

Avant MySQL 5.7, vous pouvez stocker un document formaté JSON dans un champ de caractère. Mais les grandes chaînes sont désordonnées pour la recherche, et l'écriture d'expressions régulières pour trouver des valeurs au sein de cette chaîne était difficile. Et si vous avez changé une partie de la chaîne, vous devez réécrire la chaîne entière, ce qui est terriblement inefficace, mais nécessaire pour MySQL 5.6.

JSON en MySQL

MySQL a introduit le type de données JSON natif dans MySQL 5.7. Ainsi, comme un entier, un char ou un réel, il est devenu un moyen de stocker un document JSON entier dans une colonne dans un tableau d'une base de données - et ce document dans une colonne pourrait être à peu près une taille de gigaoctets! Le serveur s'assurerait qu'il s'agissait d'un document JSON valide, puis enregistrez-le dans un format binaire optimisé pour la recherche. Ce nouveau type de données a probablement été responsable de plus de mises à niveau de MySQL que toute autre fonctionnalité.

Ce type de données comprend également plus de 20 fonctions. Ces fonctions vont extraire des paires de clés-valeurs du document, mettre à jour les données, fournir des métadonnées sur les données, générer des colonnes non JSON au format JSON, etc.

MySQL 8 ajoutera de nouvelles fonctionnalités. La fonction JSON_PRETTY_PRINT formatera la sortie pour la rendre plus lisible. Et il y aura des améliorations majeures dans la façon dont certaines parties des données sont réécrites sans réécrire l'intégralité du document.

Étiquettes

Commentaires