Le blog Big Data

Big Data : comment modéliser ses données avec Hadoop-Hbase ? (1/3)

Les bases de données SQL classiques telles qu’Oracle, DB2, SQL serveur doivent être utilisées pour ce qu’elles savent faire c’est-à-dire : gérer un modèle transactionnel cohérent et intègre.

Leurs conceptions sont adaptées pour les systèmes applicatifs qui nécessitent un fort niveau de cohérence et une garantie de l’intégrité inter tables. Par conséquent, elles ne le sont pas pour des requêtes lourdes sur de très gros volumes de données.

On a toujours voulu faire du Datawarehousing depuis 20 ans avec des types de bases de données qui ne sont pas prévues pour cela. Les éditeurs ont bien essayé de faire croire que leurs systèmes pouvaient le faire, mais force est de constater que leur conception monolithique rend l’âme assez rapidement si l’on dépasse une centaine de millions d’enregistrements à explorer.

Hadoop/Hbase, une nouvelle ère

C’est là qu’intervient la puissance des systèmes NoSQL ou Big Data de type Hadoop/Hbase.
Ces systèmes sont conçus pour distribuer les données et les traitements sur plusieurs machines. Ainsi le caractère monolithique n’existe plus et le système évolue de façon linéaire, en fonction des  besoins d’espace ou de puissance de traitement.
Les bases  telles que Hadoop/ Hbase sont bien adaptées et ont été conçues pour fonctionner sur les systèmes répartis. Cependant, une mauvaise modélisation des tables peut conduire à se retrouver avec un système qui ne peut pas répartir ses données et donc retomber dans les travers des SGBDR classiques.

Modéliser mais comment ?

Les valeurs clés du Big DataLa modélisation des données NoSQL n’a pas la théorie systématique des bases de données relationnelles. En effet la modélisation NoSQL s’appuie sur des règles et des algorithmes parfois complexes. Il n’y a pas vraiment de recette de cuisine comme il peut y en avoir dans un modèle entités relations avec la méthode MERISE.

Pour explorer les techniques de modélisation de données, nous devons commencer par une vue plus ou moins systématique de modèles de données NoSQL existants.

La figure ci-contre  illustre de façon imaginaire « l’évolution » des grandes familles de systèmes NoSQL, à savoir, la clé-valeur, les clés-valeurs ordonnées et enfin la base de données de type  BigTable ou HTable temps réels qui s’appuie sur cette technologie. Chaque donnée est stockée dans un format simple : un couple Clé/Valeur.

La modélisation relationnelle est généralement mue par la structure des données disponibles. Le thème principal à la conception est alors «Que dois-je répondre ?»
En ce qui concerne la modélisation NoSQL des données, celle-ci est généralement mue par des modèles d’accès spécifiques à l’application, à savoir quels types de requêtes doivent être pris en charge. Le thème principal à la conception est  alors  « Quelles questions je vais poser sur mes données ? ».

Partant  de cette illustration des techniques de modélisation nous aborderons dans les deux prochains articles la technique de modélisation par la dénormalisation ainsi que par la Row-Key.

Christophe Cerqueira

Christophe Cerqueira

      Laisser un commentaire