Base de données
Introduction aux bases de données
Nous avons traité le JSON. Nous passons maintenant à l'essentiel, aux bases de données. Les données peuvent y être stockées de différentes manières. Dans le même temps, elle s'est historiquement développée de telle sorte que le modèle de base de données relationnelle a reçu la plus grande diffusion.
Lorsqu'on utilise le modèle relationnel, les données sont stockées sous la forme de tables, avec un ensemble spécifique de données, dont la structure est spécifiée de manière rigide lors de la conception de la base de données. La description d'une structure de données dans les bases de données relationnelles s'appelle un schéma. Il définit la composition des tables, la structure des champs de ces tables, ainsi que les relations entre elles.
SQL
Le SGBD (Système de gestion de base de données) utilise le langage SQL pour gérer les données avec un modèle relationnel.
SQL - Structured Query Language. C'est un langage déclaratif, ce qui signifie que ses commandes ne décrivent que l'action nécessaire (trouver des données, les supprimer, les modifier), et que chaque SGBD décide lui-même comment l'exécuter.
Il existe de nombreux SGBD relationnels différents. Parmi les plus courants, on trouve Oracle, MySQL, MS SQL, PostgreSQL. À propos, AppMaster utilise PostgreSQL, ce qui signifie qu'il utilise un SGBD moderne et avancé qui fonctionne dans un grand nombre d'organisations différentes et qui est également un logiciel libre (c'est-à-dire que vous n'avez pas besoin de payer un supplément pour l'utiliser).
Avez-vous remarqué la présence de l'abréviation SQL dans presque tous les noms de SGBD ? En fait, un nom alternatif pour une base de données relationnelle est une base de données SQL.
NoSQL
Il existe toutefois une autre approche. Les bases de données non relationnelles, ou NoSQL. Il convient de noter que, dans ce cas, No n'est pas la négation de "non", mais l'abréviation de Not only. Autrement dit, "Pas seulement SQL".
Les SGBD non relationnels n'utilisent pas un format de requête commun (comme SQL), chacun d'entre eux met en œuvre sa propre façon de travailler avec les données.
Ils ne nécessitent pas une structure de stockage des données définie de manière unique. Les données elles-mêmes sont stockées dans ces systèmes non pas sous la forme de tables strictes, mais sous la forme d'objets avec un ensemble arbitraire d'attributs (un peu comme JSON). Cela peut s'avérer pertinent lorsque l'on travaille avec des données dont la structure est sujette à de fréquentes modifications.
Parallèlement, en raison de leur structure libre, les solutions NoSQL sont plus faciles à faire évoluer si vous devez créer une base de données distribuée sur plusieurs serveurs.
Parmi les exemples de SGBD NoSQL, citons MongoDB et Redis.