Les bases NoSQL orientées colonnes, qu’est ce que c’est ?
Nous allons vous présenter dans cet article le 3ème et avant dernier type de de base NoSQL à savoir : les bases orientées colonnes !
Qu’est ce qu’une base NoSQL orientée colonnes ?
Ces bases de données NoSQL sont celles se rapprochant le plus des bases de données classiques (SGBDR). En effet, on y retrouve le principe de “table” avec des lignes et des colonnes, mais elles ont deux principales grosses différences :
- Les colonnes sont dynamiques. Au sein d’une même table deux individus peuvent ne pas avoir le même nombre de colonnes car les valeurs nulles ne sont pas stockées (ce qui est le cas dans les SGBDR relationnels).
- Cette propriété permet de libérer de la place de stockage et d’améliorer les performances de traitement car la volumétrie de données à traiter est plus faible.
- Avec cette propriété, on a plus tendance également à ne créer qu’une seule table contenant toutes les données (et donc colonnes) dont on a besoin et non plus une multitude de tables comme c’est le cas dans les modèles relationnels. Cette absence de ‘jointure’ entre les tables améliore également les performances.
- L’historisation des données se fait à la valeur et non pas à la ligne comme dans les SGBDR cela empêche le stockage d’informations en doublon et de ce fait allège considérablement la base de données et les temps de calcul.
Pour mieux comprendre voici un exemple d’historisation et de stockage de données sous un SGBDR classique vs. dans une base de données orientée colonnes :
On constate que les valeurs ‘Black et George’ sont stockée deux fois côté SGBDR vs 1 fois côté Nosql orienté colonne.
Quelles sont leurs forces ?
- Flexibilité
- Temps de traitement
- Non-stockage des valeurs null
- Historisation à la valeur
Quelles sont leurs faiblesses ?
- Non-adaptée aux données interconnectées
- Non-adaptée pour les données non-structurées
Pourquoi une base NoSQL orientée colonnes?
Ces bases sont particulièrement bien adaptées lorsque l’on doit stocker de très nombreux évènements qui doivent être mis à jour très régulièrement. Comme par exemple :
- Le suivi de colis (de nombreux évènements dont le statut change : En préparation, en cours de livraison, livré..)
- La récupération et l’analyse de données en temps réel issues de capteurs, IOT etc…..
Principales solutions
- Hbase : http://hbase.apache.org/
- Cassandra : http://cassandra.apache.org/
- Google Big Table : https://cloud.google.com/bigtable/
- Hypertable: http://www.hypertable.org/
- Apache Parquet : https://parquet.apache.org/
Conclusion
A suivre très bientôt notre dernier article concernant les bases NoSQL dans lequel nous aborderons les bases NoSQL orientées documents.
Pour aller plus loin
Sur Illustradata vous trouverez également
- Une introduction aux bases de données NoSQL ici
- Un zoom sur les bases de données orientées Graphes ici
- Un zoom sur les bases de données orientées Clé-valeur ici
Autres articles :
- http://blog.xebia.fr/2010/05/04/nosql-europe-bases-de-donnees-orientees-colonnes-et-cassandra/
- https://blog.alterway.fr/post/2016/03/18/2016-03-18-bdd-nosql-partie-3-les-bases-de-donnes-en-colonne/
Article écrit par Anne-Sophie LAUGIER et Louis-Baptiste FRANCE