NoSQL : définition, principes, technologie
Par définition, NoSQL désigne les bases de données non-relationnelles qui ont émergé avec le big data. Il existe des bases orientées clé/valeur, colonne, graph ou document.
C'est quoi le NoSQL ?
NoSQL, pour "not only SQL", désigne les bases de données qui ne sont pas fondées sur l'architecture classique des bases de données relationnelles utilisant la syntaxe SQL (SGBDR). Répondant aux problématiques du big data, elles permettent de stocker et d'organiser des données non structurées, sans suivre de schéma fixe. Le mouvement NoSQL est né au milieu des années 2000 sous l'impulsion des GAFA. Facebook est notamment à l’origine de Cassandra puis de HBase.
C'est quoi une base de données non relationnelle ?
À l'inverse des bases de données SQL relationnelles, une base de données NoSQL ne suit pas la représentation traditionnelle en tableaux composés de lignes et de colonnes fixes. Pour organiser le stockage d'un gros volume de données, elle fait appel aux concepts de document ou de paire clé/valeur. L'absence de schéma prédéfini permet de regrouper des données structurées ou non structurées. Une base de données non relationnelle se distingue également par son architecture distribuée qui permet de répartir les données sur un cluster de serveurs.
Quels sont les quatre types de base de données NoSQL ?
La première catégorie est composée des bases NoSQL fonctionnant par paires clé-valeur comme Redis, Dynamo ou Riak. A chaque valeur, qui peut être une chaine de caractères ou un objet (JSON, Blob), est associée une clé unique. Les bases orientées documents, comme MongoDB ou Couchbase, n’associent plus une clé à une valeur mais à un document dont la structure reste libre. Les bases orientées colonnes, comme HBase ou Cassandra, sont celles qui ressemblent le plus aux bases de données relationnelles avec des données stockées sous forme de lignes mais avec un nombre variable de colonnes. Enfin, les bases orientées graph, comme Neo4J, organisent les données sous forme de nœuds et de relations qui les lient entre eux.
NoSQL : MongoDB, la base de données star
Créé en 2007 par l'éditeur éponyme, MongoDB est un système de gestion de bases de données NoSQL open source, orienté documents. Selon le classement des SGBD tenu par le site DB-Engines, MongoDB est la base de données non relationnelle la plus populaire, devant Redis et Elasticsearch.