En quoi MongoDB est différent d'une base de données SQL

De manière générale, il existe 2 principaux types de bases de données: les bases de données SQL et les bases de données NoSQL

Si vous êtes familier avec MySQL ou PostgreSQL par exemple, les bases de données SQL vous permettent d'ajouter et de récupérer des données en utilisant un langage spécifique, appelé SQL, qui ressemble à ceci:

SELECT * FROM cars
INSERT INTO cars VALUES (fiesta, 2010)

SQL est plutôt ancien, né en 1986, et c'est une technologie éprouvée au combat.

Sous leNoSQLparapluie nous mettons toutes ces bases de données qui n'utilisent pas le langage SQL pour interroger les données.

MongoDBrelève de ce parapluie.

MongoDB est unbase de données de documents. Au lieu de stocker des enregistrements, nous stockons des objets (appelésdes documents).

En quoi cela diffère-t-il d'une base de données SQL? Les tables d'une base de données SQL sontplatetstatique, ils peuvent héberger des données mais limités à l'intention d'origine (vous ne pouvez pas ajouter une colonne dynamiquement) et pour stocker des données complexes, vous devez créer de nombreuses tables et lier les données dans chaque table, en suivant les pratiques courantes des bases de données relationnelles (comme clés étrangères, types de colonnes, etc.).

Dans MongoDB, vous pouvez stocker n'importe quel objet sans avoir à vous soucier des champs particuliers qui composent cet objet et comment les stocker. Vous dites à MongoDB de stocker cet objet.

Avec MongoDB, vous n'avez pas besoin d'apprendre un autre langage pour interagir avec les données: il vous suffit d'appeler les méthodes JavaScript qu'il expose et c'est tout (bien sûr, vous pouvez interagir avec lui en utilisant d'autres langages également).

Les données sont stockées dans un format similaire à JSON, mais amélioré pour permettre de stocker plus que de simples types de données de base.

J'espère que cela vous donne un bref aperçu des principales différences entre les bases de données SQL et MongoDB.


Plus de didacticiels sur les bases de données: