Alors que la plupart des bases de données divisent les in­for­ma­tions en lignes, les bases de données orientées colonnes procèdent de la manière opposée. Avec ces dernières, et comme leur nom l’indique, les données sont réparties selon des colonnes. Qu’est-ce que cela signifie ? Découvrez dans notre article les avantages de ces bases de données orientées colonnes.

Comment sont struc­tu­rées les bases de données orientées colonnes ?

La plupart du temps, les bases de données sont orientées lignes : le système de gestion de base de données crée une ligne par entrée. Les dif­fé­rents champs contenant les in­for­ma­tions cor­res­pon­dantes sont ainsi listés les uns après les autres. Les bases de données re­la­tion­nelles, en par­ti­cu­lier, reposent sur ce principe. Mais les bases de données orientées colonnes inversent le système. Avec ces bases, chaque colonne cor­res­pond à une entrée : les données con­cer­nant chaque entrée sont par con­sé­quent listées les unes en dessous des autres (et non les unes à côté des autres comme dans la variante orientée lignes).

Pour plus de clarté, voici le système orienté ligne :

Numéro Nom Prénom Clé
1 Skywalker Luke 3FN-Z768
2 Kenobi Obi-wan 7TR-K345
3 Organa Leia 8NN-R266

La base de données orientée colonnes fait pra­ti­que­ment pivoter ce tableau à 90° :

Numéro 1 2 3
Nom Skywalker Kenobi Organa
Prénom Luke Obi-wan Leia
Clé 3FN-Z768 7TR-K345 8NN-R266

Sur le disque dur, les données ap­pa­rais­sent toutefois sous une forme uni­di­men­sion­nelle et sont donc pré­sen­tées les unes à la suite des autres. Pour une base de données orientée lignes cela signifie :

1, Skywalker, Luke, 3FN-Z768 ; 2, Kenobi, Obi-wan, 7TR-K345 ; 3, Organa, Leia, 8NN-R266

La base de données orientée colonnes en­re­gistre également les in­for­ma­tions les unes après les autres. L’orien­ta­tion dif­fé­rente donne toutefois une autre séquence de données :

1, 2, 3 ; Skywalker, Kenobi, Organa ; Luke, Obi-wan, Leia ; 3FN-Z768, 7TR-K345, 8NN-R266
Conseil

Outre les bases de données orientées colonnes, il existe également d’autres al­ter­na­tives au modèle classique. Les bases de données NoSQL ou leurs sous-ca­té­go­ries, les bases de données orientées documents, ainsi que les bases de données Key Value associées prennent de plus en plus d’im­por­tance. Les bases de données orientées graphe sont toujours plus ap­pré­ciées, car ce modèle permet de très bien re­pré­sen­ter les données ayant un lien important.

Champs d’ap­pli­ca­tion des bases de données orientées colonnes

Les systèmes re­la­tion­nels basés sur des lignes sont prin­ci­pa­le­ment utilisés lorsque de nom­breuses tran­sac­tions doivent être ef­fec­tuées ra­pi­de­ment. L’écriture, la mo­di­fi­ca­tion et la sup­pres­sion des entrées fonc­tion­nent très bien avec les bases de données re­la­tion­nelles. Les bases de données orientées colonnes sont utilisées pour analyser de grands volumes de données.

Dans de nombreux domaines d’ap­pli­ca­tion – par exemple, mais pas uni­que­ment, dans la recherche –, des données sont analysées en per­ma­nence. Une base de données orientée colonnes permet d’aller beaucoup plus vite, car un nombre moins important d’accès au disque dur est né­ces­saire. Les données d’une catégorie sont proches les unes des autres. Si l’on souhaite lire et analyser un ensemble de données, il suffit de charger un bloc. Il n’est pas né­ces­saire de lire toute la base de données pour pouvoir re­cueil­lir les in­for­ma­tions réparties.

Avantages et in­con­vé­nients d’une base de données orientée colonnes

Les bases de données orientées colonnes se montrent également avan­ta­geuses pour analyser de grands volumes de données – c’est-à-dire du big data. Puisque l’accès au disque dur re­pré­sente un goulot d’étran­gle­ment lors de la lecture d’une base de données et que l’accès à une base de données en colonnes est plus efficace, la variante basée sur les colonnes est plus optimale.

Dans le cas d’ap­pli­ca­tions tran­sac­tion­nelles, les accès sont gé­né­ra­le­ment conçus dif­fé­rem­ment : dans ce type d’ap­pli­ca­tions, les nouvelles in­for­ma­tions doivent être réparties dans l’ensemble de la base de données. Une base de données orientée colonnes agirait plus lentement qu’un modèle classique pour réaliser cette tâche.

Un autre avantage des bases de données orientées colonnes réside dans les pos­si­bi­li­tés de com­pres­sion. Les données d’une colonne sont toujours du même type – par exemple un string (chaîne de ca­rac­tères) ou un integer (nombre entier). Comme toutes les entrées d’un même type sont proches les unes des autres, elles peuvent être com­pres­sées plus ef­fi­ca­ce­ment.

Les bases de données orientées colonnes les plus connues

Les systèmes de gestion de base de données basés sur des colonnes sont certes plus longs à utiliser en com­pa­rai­son, mais le nombre d’im­plé­men­ta­tions dis­po­nibles est faible et le besoin en bases de données re­la­tion­nelles est tout sim­ple­ment plus grand. Quelques systèmes se sont toutefois établis.

  • Amazon Redshift : faisant partie des Amazon Web Services (AWS), Redshift offre un entrepôt de données orienté colonnes pour le big data.
  • MariaDB-Co­lumnS­tore : avec Co­lumnS­tore, le système de gestion de bases de données open source MariaDB (fork de MySQL) offre également une com­bi­nai­son de base de données orientée colonnes et re­la­tion­nelle.
  • SAP HANA : la pla­te­forme de dé­ve­lop­pe­ment de SAP utilise également une com­bi­nai­son de base de données re­la­tion­nelle et orientée colonnes.
  • Apache Cassandra : le logiciel libre est basé sur Apache Hadoop et est publié en Java.
  • MonetDB : ce logiciel open source a été développé avec une attention par­ti­cu­lière pour le data-mining.
Aller au menu principal