Evolution des modèles de données.

Base de données :

« Une base de données est un ensemble de données modélisant les objets d’une partie du monde réel et servant de support à une application informatique. » [1]                                                                  

De cela, on peut dire qu’une base de données ce n’est qu’une collection structurée et inter-reliée de données issues du monde réel, répondant à quelques exigences telles que : minimiser la redondance des données, assurer leurs cohérence, les mémoriser sur un support de stockage, etc.

Afin de faciliter l’accès, la gestion et la manipulation de ces bases de données ; des systèmes de gestion de données (SGBD) sécurisés ont été développés au cours des années suivant différents modèles de données et supportant différents types de données.

Selon [3] un SGBD peut être défini comme «  un outil informatique permettant la sauvegarde, l’interrogation, la recherche et la mise en forme de données stockées sur mémoires secondaires. »

 

Les systèmes de gestion de BDD sont apparus en 1960 afin de gérer les données qui sont en cours d’expansion et assurer leur cohérence ainsi que l’accès à la data par les utilisateurs. Le modèle architectural de représentation des données dans un SGBD est généralement structuré en trois niveaux définis par le groupe ANSI/X3/SPARC [ANSI78, Tsichritzis78].

Niveau interne  (physique) : le niveau le plus bas pour la représentation des données qui permet de gérer la structuration des fichiers des données, les index, les accès, et la distribution des données (centralisé, réparties, cloud, local…) ainsi que leur disponibilité.

Niveau logique : c’est le modèle de données (relationnel, orienté objet…) ainsi que les outils et les opérations permettant leurs manipulation (création, mise à jour, insertion, suppression, recherche…) à travers différents langages : DML, DDL…

Niveau externe : différentes captures ou vues définies sur le schéma des données sont présentées aux différents utilisateurs et applications développées…

La modélisation des bases de données :

La modélisation du schéma (structure) de la base de données peut être définie selon 3 niveaux différents chacun permettant de représenter les données du monde réel liées au métier dans une structure abstraite :

Modélisation conceptuelle : c’est le niveau le plus abstrait du monde réel, indépendamment de tout SGBD ou considération logicielle. Elle représente la vue intégrée de tous les utilisateurs . Elle permet de décrire les concepts ou les entités métiers du domaine concerné, leurs attributs ainsi que les relations les liants à travers des règles métiers régissant le modèle. Parmi les modèles les plus utilisé et connu il y a :

Le modèle Entité Association E/A  créé en 1976 par Peter Chen.  Il est composé d’un ensemble d’entités et d’associations (relations). Il permet de modéliser le schéma graphique complet de la base de données en représentant tous les métiers en faisant abstraction au monde réel en se basant sur la notation UML ou MERISE. Les entités représentent les objets, chacune d’elle est décrite par des attributs ayant des valeurs appartenant à un domaine (selon le type et le métier) et défini par une clé unique (qui peut être simple = un seul attribut, ou complexe= composition de plusieurs attributs). L’ensemble des entités qui partagent les mêmes caractéristiques sont groupées en classes d’entités. Les associations sont les relations entre ces objets qui sont soit binaire ou n-aires (si elle relie plusieurs classes d’entité). Malgré sa puissance en termes de représentation et compréhension, le modèle E/A présente une insuffisance majeure qui est le manque d’opérations pour sa manipulation.

Modélisation logique : c’est une étape intermédiaire entre le niveau conceptuel et le niveau physique, elle consiste en transformer le modèle conceptuel en une structure supportée par le SGBD en question : modèle relationnel, modèle orienté objet, modèle XML...

Modélisation physique : c’est le niveau le plus bas, elle consiste à bien définir les choix physiques en termes de sauvegarde de données, leur répartition, les index à utiliser….tout en s’appuyant sur les performances de l’architecture et du SGBD.

 

Evolution des bases de données :

La représentation des bases de données était une question qui a intéressé la communauté des chercheurs depuis très longues années, ça remonte aux années 60 jusqu’à aujourd’hui en prenant en considération toutes les évolutions technologiques. Plusieurs modèles ont été proposés et utilisés continuellement par les chercheurs et les industriels afin de :

  • 1.      Appréhender des lacunes des modèles précédents
  • 2.      Suivre les avancées technologiques et l’évolution des types de données
  • 3.      Faciliter les accès et la compréhension des données.

Les avancés des modèles des données implique forcément des évolutions marqués sur les SGBD, et on peut résumer cette évolution des modèle de données en :

Avant les années 90 :

a)      Modèles basés sur la représentation physique des données

1.      Organisation en fichiers : Avant les années 60, les bases de données était structurées en un ensemble de fichiers reposant sur des systèmes de fichiers pour la gestion des données. Leur manipulation était basée sur COBOL comme langage de programmation étant le fruit de ces travaux. La manipulation des fichiers était un travail fastidieux posant des limites et contraintes devant les ingénieurs ce qui a encouragé les chercheurs dans les laboratoires à définir des structures et des systèmes qui appréhendent ce problème.

 

2.      BDD hiérarchiques: ce n’est que vers les années 60 que les premiers vrais SGBD sont apparus suivant le modèle hiérarchique proposé par IBM dans son produit IMS [IBM78]. c’est un modèle en arborescence ayant une racine et des niveaux. Chaque élément de donnée au niveau L (fils) est lié à un seul parent (racine) du niveau L-1 via des relations unaires définissant une seule relation unidirectionnel de type 1:n. Une base de données hiérarchique est vue comme un ensemble d’arbres (forêt).  DL1 était défini comme un langage très complexe de manipulation de bases de données hiérarchiques utilisé dans des programmes écrits en Fortran ou COBOL. .

 

Les premiers SGBD de type mainframe étaient basés sur ce type de représentation tels que : ADABAS, IMS (IBM, 1966 pour le programme APollo), System 2000 (1967).  Vu les limites déduites en termes de représentation qui ne reflète pas la réalité (exp : le fils ne peut avoir qu’un seul prédécesseur chose qui est parfois fausse : élève est enseigné par plusieurs enseignants et non pas un seul), il a été abandonné. 

 

3.      BDD réseau : le modèle réseau est fondé en 1968 par le groupe DBTG du comité CODASYL [Codasyl71]. Le modèle réseau répond aux limites du modèle précédent, il est un graphe en plusieurs liens entre les nœuds de données. Une relation peut être de type 1:1, 1:n ou n:m (Elmasri & Navathe 1994).  

Plusieurs SGBD sont basés sur le modèle réseau tels que : IDS.II (Bull), IDMS (Computer-Associate), EDMS (Xerox), DMS/1100 (Univac), DBMS (Digital), PHOLAS (Philips) et TOTAL (Cincom 1978). Le langage de manipulation de données du CODASYL est fortement lié à COBOL ou même Fortran. Malgré ses avantages, ce modèle est lourd en manipulation car parfois, pour répondre à une requête il faut parcourir un long chemin dans le réseau tout en ayant une connaissance de la représentation physique (pointeurs vers les données).[4]

  

b)     Modèles basés sur la représentions logique des données:

A partir des années 70, on a commencé à proposer des modélisations logiques pour les bases de données

4.      BDD relationnelle : la deuxième catégorie des bases de données reposaient sur le modèle relationnel proposé par Codd à IBM [Codd70]  en 1970 basé sur l’Algèbre relationnelle (opérations sur les ensembles). Ce modèle qui propose de séparer le niveau logique du niveau physique, est constitué d’un ensemble de relations (tables) avec des attributs. Chaque table comprend un ensemble de tuples de données. De plus ce modèle définit un ensemble de règle d’intégrité et des opérations algébriques (Projection, Union, Somme…). La manipulation de ce modèle est basée sur le langage SEQUEL proposé par Chamberlain en 1974 (IBM) renommé en SQL et normalisé [IBM82] en 1990 et accepté comme standard ANSI. Il existe plusieurs SGBD à base relationnelle comme : ORACLE, INGRES, SYBASE, INFORMIX, DB2 et SQL SERVER.

 

5.      BDD orienté objet : afin de répondre aux exigences apparues suite aux avancée de la  programmation moderne basée sur le paradigme orienté-objet, un nouveau modèle de données est défini vers les années 80 c’est bien le modèle orienté objet. Ce modèle encapsule les entités de données en des objets ayant des attributs (état) et des  méthodes (comportement). Ce modèle vise à réutiliser les structures de données ainsi que les opérations qui leurs sont affectées.  Le modèle orienté objets normalisé par l’OMG [OMG91] est très proche du paradigme objet du langage C++ et JAVA et sur lesquels les programmes se basent aujourd’hui pour la manipulation de ces données. OQL (Object Query Language) était un langage de requetage de base de données orienté objet. Ce modèle est très puissant car il permet de représenter des modèles de données très complexes et de gérer facilement la sémantique des entités.

 

6.      BDD relationnel Objet : cette vague de bases de données était développé vers les années 90 (1992), elle supporte des modèles de données qui étendent le relationnel avec les objets. Ce modèle a gardé les bases du relationnel en l’étendant avec des concepts orienté objets tels que : les objets, l’héritage… tout en proposant des extensions à SQL pour manipuler les objets en définissant le SQL3. Il existe plusieurs SGBD objets relationnels tels que : Oracle 8, DB2 Universal Database ou Informix Universal Server (issu du système de recherche Illustra).

 

7.      BDD déductive : apparu lors des années 80, les bases déductives permettent à travers des règles d’inférence logiques de déduire des informations à partir des données existantes dans la base. « Un SGBD déductif va donc comporter un noyau de SGBD permettant de stocker faits et règles dans la base, et d’exécuter des opérateurs de base comme un SGBD classique. Au-delà, il va intégrer des mécanismes d’inférence pour calculer efficacement les faits déduits. Un langage intégré de définition et manipulation de connaissances permettra la définition des tables, des règles, l’interrogation et la mise à jour des informations » [1].

 

A partir des années 90 :

 

8.      De l’OLTP vers l’OLAP :

Les SGBD abordés ci-dessus depuis 1690 avaient un objectif de gérer des bases de type transactionnels utilisés pour  de répondre sur des besoins opérationnels liés directement aux métiers des entreprises. L’intérêt porté à ce domaine par les chercheurs et les industriels a permis de faire avancer et développer ces systèmes appelés (OLTP) basés sur des bases transactionnelles reposant sur des règles ACID (Atomicité, consistance, isolation, durabilité) et comprenant des données structurées.

La multitude des sources de données (bases ou fichiers), la multiplication des systèmes transactionnelles tel que les ERP, les CRM ainsi que les applications ou les logiciels liés à différents domaines (RH, Finances, gestion des stock…) qui sont généralement hétérogènes avec des modèles de données différents et des structures ou technologies différentes ; a suscité le besoin analytique chez les managers (décideurs). Ce besoin consistait à faire explorer toutes les sources de données, faire des agrégations des données afin d’aider à la prise de décisions. Il y a avait quelques initiatives proposé avant tels que : les infocentres, les Executive Information systems mais des limites ont été révélé devant toute cette masse et hétérogénéité des données. Ce n’est qu’au début des années 90 que les vrais systèmes d’aide à la décision sont apparus sous le terme système OLAP ou système BI. [Inmon 90] a proposé une nouvelle structure de données qui est les DW permettant de pallier aux problèmes cité en dessus, les DW considérés comme la meilleure solution décisionnelle suit une modélisation multidimensionnelle [Kimball 96]. Plusieurs chercheurs ont travaillé sur l’évolution des DW et systèmes BI en abordant plusieurs questions de recherches.

9.  L’arrivé du web :

L’arrivée du web vers les années 90 a bouleversé le monde des données, toutes les formes de stockage ont été mélangé (ontologies, modèle relationnel, XML …). Avant, les données était stockées en local sur des machines ou serveurs internes accessibles seulement par les employés. Mais l’émergence du web a fait changer beaucoup de règles : capacité de stockage, forme de stockage, modèles de données, types de données, accès à la data... Les données sont stockées sur le cloud, ou sur des serveurs web reparties géographiquement avec de grands serveurs et une capacité de stockage énorme, et accessibles par la communauté. De plus le traitement en temps réel a fait naitre des bases de données en temps réel ou quasi temps réel. Parmi les nouveaux types de bases de données apparus, on trouve :

Bases de connaissances: vers les années 95 avec l’apparition du web, et l’utilisation des ontologies pour la représentation sémantique de données. La base de connaissances regroupe des connaissances spécifiques à un domaine spécialisé précis, elle contient des règles, des faits ou d'autres représentations nécessaires à l’exercice d’une activité donnée pour laquelle cette base de connaissances a été développée. 

Bases XML : XML est un modèle de représentation de données adapté pour représenter les données web semi-structurées. Les documents XML peuvent être associés à des DTD (document type definition) et XML schemas. Les documents XML peuvent être stockés comme fichiers textes, dans un SGBD relationnel ou dans un SGBD XML native basé sur le la représentation logique sous forme hiérarchique [5]. Divers SGBD XML sont disponibles sur le marché tel que : Oracle qui offre un stockage XML, Tamino by Software AG ou the Dynamic Application Platform de eXcelon

 

Bases de données par types de données :

-     Bases spatiales : ce sont des bases de données qui contiennent des données géographiques (points, lignes et polygones), ce type de données a connu une grande expansion avec l’apparition des SIG et l’explosion du web.

-           Bases temporelles : ce sont des bases où les données de type ‘temps’ est de grande importance, plus spécialement dans les systèmes très sensible à ces facteurs tels que les centres nucléaire, les systèmes de santé et suivi des malades….

-            Bases multimédia : elles contiennent des données de types images, vidéos, audio... et surtout après l’émergence du web et des réseaux sociaux.

-            Bases textuelles : elles gèrent des données de types texte.

Et pleins d’autres types de bases de données.

-            ……..etc.

A partir des années 2000

1.      Vers le BIG data et NOSQL :

Avec l’émergence du web 1.0 et les réseaux sociaux (web2.0), différents types et structures de données sont apparus (image, fichiers, vidéos, social data…) résultant des données semi-structures et non structurées. Les différents modèles liés aux bases OLTP restaient limités devant ce bouleversement, de plus la taille des données a connu un saut incroyable. Trois dimensions liées aux données sont considérés  appelées les trois V (variété, volume et vélocité)  caractérisant les BIG DATA. Afin de faire face aux besoins émergents devant ces nouveaux mouvements du BIG DATA, les bases NOSQL sont créées.  

Les bases de données NOSQL sont réparties en 4 types différents :

  • -          Base de données graphes
  • -          Bases de données orienté colonnes 
  • -          Bases de données orienté documents : documents format XML, JSON
  • -          Bases de données clé-valeurs

Le lancement du web sémantique ou web3.0 ainsi que la nouvelle licence open data, a encouragé l’apparition et l’augmentation de la taille des open data puis les linked  open data. À l’ère du big data, on est passé de l’analyse traditionnelle de données  vers le data analytics et smart data discovery.

Data Lake [2]Une autre structure de données est apparue c’est le Data Lake. Il comprend des données de différents types, de différentes tailles et structure il permet d’obtenir de Insights poussés aidant à la prise de décisions. On le considère comme un store de données regroupant des données dans leurs formats bruts sans nécessiter un prétraitement.


3.  


uu1- G. GARDARIN. Bases de données, Eyrolles, Paris, 2003

    2- Building a Data Lake on AWS, Amazon Web Services Inc 2016]

    3- https://sgbd.developpez.com/tutoriels/cours-complet-bases-de-donnees/?page=introduction#: 

    4- Angles, R., & Gutierrez, C. (2008). Survey of graph database models. ACM Computing Surveys (CSUR)40(1), 1-39.

    5- Elmasri, R., et al. Fundamentals of Database Systems</Title. Addison-Wesley</publisher, 2000.



[]



1

Comments

Popular posts from this blog