Le blog Big Data

Big Data : comment modéliser ses données par la dénormalisation ? (2/3)

Nous avons introduit dans le précédent article la modélisation des données Big Data  via les bases de données NoSQL et notamment l’arrivée du système Hadoop / Hbase permettant d’aller plus loin que les systèmes monolithiques des BI traditionnelles.

Au travers de ce deuxième billet de ce dossier nous allons nous concentrer sur la technique de la dénormalisation.

Qu’est-ce que la dénormalisation ?

La dénormalisation peut être définie comme la copie des mêmes données dans plusieurs documents ou tables afin de simplifier et optimiser le traitement des requêtes ou pour ajuster les données à la demande pour l’utilisateur.

La dénormalisation : le leitmotiv ?

En général, la dénormalisation est utile pour les compromis suivants : requête volumineuse de données jointes dans les différentes entités.

En utilisant la dénormalisation il est possible de regrouper toutes les données qui sont nécessaires pour traiter une requête unique.
Cela signifie souvent que pour les différents flux de requête les mêmes données seront accessibles dans différentes combinaisons. C’est pourquoi nous avons besoin de dupliquer les données, ce qui augmente le volume total.

Complexité de traitement VS. volume total de données

La modélisation de l’axe du temps est souvent un facteur de dénormalisation car la requête qui traite l’axe temps augmente en complexité pour des recherches dans un historique élevé.

La dénormalisation permet de stocker des données de l’axe temps dans une structure de la table elle-même, de plus les systèmes distribués ont souvent un système automatique de gestion des Timestamps comme c’est le cas pour Hbase.

Les requêtes de type Datawarehousing dans les SGBDR ont comme critère principal les agrégations en fonction des périodes. Exemple : chiffres d’affaires par jour, par semaine, par mois et souvent comparée à l’année N-1…

Les bases de type Hbase gèrent ce genre de problématiques en utilisant leur structure mode colonne et leur Timestamp automatique des valeurs (Hbase garde 3 valeurs par défaut de chaque information). Hbase permet ainsi de ne rien avoir à prévoir puisque tout est déjà prévu dans le fonctionnement intrinsèque du moteur Hbase .

Après avoir évoqué la notion de modélisation par la dénormalisation nous verrons dans le prochain et dernier article de ce dossier la modélisation et la notion de Row-key pour distribuer les traitements.

Christophe Cerqueira

Christophe Cerqueira

      Laisser un commentaire