Definition

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).

Cette définition a été mise à jour en mars 2016

Pour approfondir sur Big Data et Data lake