Base de données en colonnes
Une base de données orientée colonnes (ou en colonnes) est un système de gestion de bases de données (SGBD) qui enregistre les données dans des colonnes, plutôt que dans des lignes.
L'objectif d'une base de données orientée colonnes est d’optimiser l'écriture et la lecture de données vers et depuis le disque, afin d'accélérer le renvoi des résultats d'une requête.
Principe théorique
Dans une base de données orientée colonnes, toutes les valeurs de la colonne 1 sont regroupées physiquement, suivies par toutes les valeurs de la colonne 2, etc. Les données sont consignées par ordre d'enregistrement, de sorte que la 100e entrée de la colonne 1 et la 100e entrée de la colonne 2 appartiennent au même enregistrement d'entrée.
Ainsi, les éléments de données – par exemple, les noms des clients – sont accessibles ensemble dans une seule et même colonne, plutôt que séparément chacun dans une ligne.
Exemple
Voici l'exemple d'une table de base de données simple qui comporte 4 colonnes et 3 lignes.
ID |
Nom |
Prénom |
Prime |
1 |
Doe |
John |
8000 |
2 |
Smith |
Jane |
4000 |
3 |
Beck |
Sam |
1000 |
Dans un SGBD orienté lignes, les données seront stockées de la manière suivante : 1,Doe,John,8000;2,Smith,Jane,4000;3,Beck,Sam,1000;
Dans un SGBD en colonnes, les mêmes données seront stockées de la manière suivante : 1,2,3;Doe,Smith,Beck;John,Jane,Sam;8000,4000,1000;
Avantage
L'un des principaux avantages d'une base de données en colonnes tient à ce que les données peuvent être fortement compressées. La compression permet une exécution particulièrement rapide des opérations en colonnes, notamment MIN, MAX, SUM, COUNT et AVG.
Autre avantage de cette technologie, un SGBD en colonnes est auto-indexé. A données égales, il occupe donc moins d'espace disque qu'une base de données relationnelles (SGBDR) qui nécessite des index (et donc de lé mémoire de stockage supplémentaire).