# Datamart

Un datamart (parfois traduit magasin de données ou comptoir de données) est un sous-ensemble d’un entrepôt de données (data warehouse en anglais) destiné à fournir des données aux utilisateurs, et souvent spécialisé vers un groupe ou un type d'affaire.
Techniquement, c'est une base de données relationnelle utilisée en informatique décisionnelle et exploitée en entreprise pour restituer des informations ciblées sur un métier spécifique, constituant pour ce dernier un ensemble d’indicateurs utilisés pour le pilotage de l’activité et l’aide à la décision.

## Définition générale

Le datamart est un ensemble de données ciblées, organisées, regroupées et agrégées pour répondre à un besoin spécifique à un métier ou un domaine donné. Il est donc destiné à être interrogé sur un panel de données restreint à son domaine fonctionnel, selon des paramètres qui auront été définis à l’avance lors de sa conception.
De façon plus technique, le DataMart peut être considéré de deux manières différentes, attribuées aux deux principaux théoriciens de l’informatique décisionnelle, Bill Inmon et Ralph Kimball :
* Définition d'Inmon : Le DataMart est issu d’un flux de données provenant du DataWarehouse. Contrairement à ce dernier qui présente le détail des données pour toute l’entreprise, il a vocation à présenter la donnée de manière spécialisée, agrégée et regroupée fonctionnellement.
* Définition de Kimball : Le DataMart est un sous-ensemble du DataWarehouse, constitué de tables au niveau détail et à des niveaux plus agrégés, permettant de restituer tout le spectre d’une activité métier. L’ensemble des DataMarts de l’entreprise constitue le DataWarehouse.
Considérant le contexte auquel elle se rapporte, on peut privilégier suivant les entreprises l’une ou l’autre de ces définitions.

## Structure physique et théorique

Au même titre que les autres parties de la base de données globale de l’entreprise, les DataMarts sont stockés physiquement sur disque dur par un système de gestion de base de données relationnelle hébergé sur un serveur.
Le DataMart est souvent confondu avec la notion d’Hypercube OLAP ; il peut de fait être représenté par un modèle en étoile ou en flocon dans une base de données relationnelle (notamment lorsqu'il s'agit de données élémentaires ou unitaires non agrégées).

## La place du Datamart dans l’entreprise
### Place du Datamart dans la structure de données

Le Datamart se trouve en toute fin de la chaîne de traitement de l’information. En règle générale, il se situe en aval d'un DataWarehouse plus global à partir duquel il est alimenté, dont il constitue en quelque sorte un extrait.

### Interaction avec les utilisateurs

Un DataMart forme la principale interaction entre les utilisateurs et les systèmes informatiques qui gèrent la production de l’entreprise (souvent des ERP). Dans un DataMart, l'information est préparée pour être exploitée brute par les personnes du métier auquel il se rapporte. Pour ce faire, il est appelé à être utilisé via des logiciels d’interrogation de bases de données (notamment des outils de reporting) afin de renseigner ses utilisateurs sur l’état de l’entreprise à un moment donné (stock) ou sur son activité (flux).
La préparation de la donnée pour une utilisation directe, inhérente au DataMart, peut revêtir plusieurs formes. Il faut noter que toutes représentent une simplification par rapport au niveau de données inférieur ; on peut citer pour exemple :
* l’agrégation de données : le DataMart ne contient pas le détail de toutes les opérations qui ont eu lieu, mais seulement des totaux, répartis par groupements.
* le retrait de données inutiles : Le DataMart ne contient que les données qui sont strictement utiles aux utilisateurs.
* l’historisation des données : le DataMart contient seulement la période de temps qui intéresse les utilisateurs.

## Intérêt et limites

Les DataMarts étant des extraits simplifiés du détail des données de l’entreprise, ils ne présentent d'intérêt que pour des requêtes identifiées et répétitives ; il est plus facile pour le système d’interroger un DataMart qui ne contient que le nécessaire que d’avoir à cerner et à trier toute la base. Par ailleurs, les DataMarts permettent de classifier et de clarifier l’information, de manière que chaque métier ait accès à des chiffres correspondant à ses attentes fonctionnelles, sans être pollué par des données contiguës.
En revanche, les choix de simplification qui donnent lieu aux DataMarts rendent ceux-ci naturellement moins flexibles ; des demandes d’utilisateurs sortant de leur cadre habituel requièrent fréquemment d’interroger la base à un autre niveau, générant des coûts de développement ou la création de solutions de rechange. Des problèmes peuvent de fait survenir lorsque les DataMarts constituent l'unique moyen d'accès aux données pour l'utilisateur final.

## Exemples de types de DataMarts

Les thèmes suivants se retrouvent dans la plupart des DataMarts d’entreprise :
* DataMart commercial : utilisé pour produire l’information liée au client et à son comportement, avec impact sur le chiffre d'affaires de l’entreprise. Il permet notamment de suivre les succès ou les échecs des produits, ou encore de vérifier l’impact d’une opération commerciale sur la clientèle.
* DataMart RH : utilisé pour suivre les arrivées et les départs dans l’entreprise.
* DataMart financier : il permet de suivre l’activité de l’entreprise en présentant des niveaux de détails par Natures, destination et tout autre information analytique nécessaire au pilotage de l'activité. Il peut par ailleurs fournir des informations complémentaires nécessaires au contrôle et à l'audit (tel que les numéros de factures, l'origine des montants, les numéros de bon de commande...)