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
Post a Comment
Put your comments here, please.
Share with us you vision...