Base de données orientée colonnes

Une base de données orientée colonnes est une base de données qui stocke les données par colonne et non par ligne.

L'orientation colonne permet d'ajouter des colonnes plus facilement aux tables (les lignes n'ont pas besoin d'être redimensionnées).

Elle permet de plus une compression par colonne, efficace lorsque les données de la colonne se ressemblent.

Description

Un système de base de données relationnelle doit présenter ses données sous une forme de table à deux dimensions, en lignes et colonnes, mais ne peut être stockée que sous une forme à une seule dimension.

Par exemple, une base de données pourrait contenir cette table :

EmpId Nom Prénom Salaire
1 Durant Jacques 40000
2 Dupont Marie 50000
3 Martin Jeanne 44000

Cette table simple inclut un identifiant d'employé (EmpId), des colonnes Nom et Prénom, et un salaire.

Cette table peut être présente dans la mémoire de l'ordinateur (RAM) ou sur son disque dur. Bien que la mémoire RAM et les disques durs fonctionnent différemment, le système d'exploitation les abstrait. Ainsi, la table à deux dimensions vue par l'utilisateur est représentée par le système de gestion de la base de données comme une suite d'octets pour que le système d'exploitation puisse l'écrire en mémoire ou sur le disque.

Une table de données orientée lignes sérialise toutes les valeurs d'une ligne ensemble, puis les valeurs de la ligne suivante, etc.

      1,Durant,Jacques,40000;2,Dupont,Marie,50000;3,Martin,Jeanne,44000;

Une base de données orientée colonne sérialise les valeurs d'une colonne ensemble, puis les valeurs de la colonne suivante, etc.

      1,2,3;Durant,Dupont,Martin;Jacques,Marie,Jeanne;40000,50000,44000;

Ceci est une simplification. Le partitionnement, l'indexation, les caches, les vues, les cubes OLAP et les systèmes transactionnels tel que le write ahead logging ou le Multiversion Concurrency Control changent tous drastiquement l'organisation physique des données. Cela dit, les bases de données orientées Processus de transaction en ligne (OLTP) sont principalement orientées ligne, alors que les bases de données Online Analytical Processing (OLAP) sont plus partagées entre orientation ligne et orientation colonne.[réf. nécessaire]

Exemples de bases de données orientées colonnes

  • BigTable, la base de données de Google
  • HBase, une base de données s'inspirant des publications de Google sur BigTable
  • IBM Informix Warehouse Accelerator, module intimement couplé avec le moteur OLTP, permettant la transformation des données choisies en base de données orientée colonne, "in memory"
  • Sybase IQ : ASIQ
  • Vertica
  • Oracle Database 12c avec l'option IN-Memory : représentation en mémoire des tables au format colonnes.
  • Microsoft SQL Server, depuis la version 2012 par l'utilisation d'index columnstore ou de tables verticales (clustered columnstore index) disponible en standard.
  • ClickHouse, développé par Yandex
  • Amazon Redshift, la base de données cloud d'Amazon (basée sur la base de donnée libre PostgreSQL 8.0.2)
  • Portail de l’informatique
  • Portail des bases de données
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.