SQL / NoSQL

Les bases de données relationnelles se manipulent avec le langage SQL (Structured Query Language), alors que les bases de données NoSQL (Not Only SQL) se caractérisent par une logique de représentation de données non relationnelle et n’offrent pas (ou rarement) d’interface de requêtes en SQL.
Quelques différences :
– Structure : Dans une base de données relationnelles, le schéma de données (tables, clés, procédures,…) doit être conçu pour pouvoir manipuler des données. Avec NoSQL, les données peuvent être ajoutées n’importe où et à tout moment (dans la majorité des cas).
– Normalisation SQL / Dénormalisation NoSQL : En SQL, les données ne sont pas dupliquées et sont reliées entre elles par des clés étrangères. En NoSQL, elles peuvent être dupliquées et copiées dans plusieurs enregistrements différents.
– Jointure : Les requêtes SQL permettent la clause JOIN. NoSQL n’a, en général, pas de jointure.
– Scalabilité : Suite à une montée en charge, côté relationnel, il est souvent choisi d’augmenter la taille du serveur plutôt que de mettre des clusters sur les instances. Avec le NoSQL, l’organisation des données permet le partitionnement et une montée en charge de la base de données sur le matériel courant déployé.
Leur point commun : dbSQWare !