Base de données orientée colonnes

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

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[modifier | modifier le code]

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 orientée données 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[modifier | modifier le code]

  • 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