Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique

Gautier Poupeau
Gautier PoupeauData Architect at INA - Institut national de l'audiovisuel em INA - Institut national de l'audiovisuel
Gautier Poupeau
gautier.poupeau@gmail.com,
@lespetitescases
http://www.lespetitescases.net
Visite guidée au pays de la donnée
Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée
• Introduction et tour d’horizon
• Du modèle conceptuel au modèle physique
• Acquisition et gestion des données
• Traitement automatique des données
• Exposition et visualisation des données
• Processus et organisations pour assurer la gestion
des données
Série de présentations pour faire le tour de la gestion des données
à l’ère du Big data, du Cloud et de l’intelligence artificielle
Plan de la partie
Typologie, flux, structure et sémantique
des données
Sérialisation et stockage des données
TYPOLOGIE, FLUX, STRUCTURE ET
SÉMANTIQUE DES DONNÉES
CARTOGRAPHIE
Etat des lieux et typologie
des données
Diagramme des différents types de données de l’Ina et de leurs liens
Pour disposer d’une vue des données disponibles dans l’organisation, il est nécessaire de
dresser un état des lieux des données (en pensant à intégrer toutes les données, même les
logs et les données d’usage) puis de les classer selon une typologie indépendante des
applications.
« Si vous êtes Directeur des Systèmes
d’Information, vous devriez faire un
inventaire des données dont vous
disposez et réfléchir à la valeur que ces
données pourraient avoir si elles
étaient disponibles plus largement au
sein de l’entreprise voire à l’extérieur
de l’entreprise, notamment pour vos
partenaires. »
Sir Tim Berners-Lee, inventeur du Web
Cartographie des flux de données
Talend data catalog, Google Data Catalog, Azure data Catalog, Apache Atlas,
Waterline data catalog, Dremio
https://searchdatamanagement.techtarget.com/news/252459149/Data-catalog-softw
Il est nécessaire de cartographier les
flux d’échange de données afin de :
•assurer leur traçabilité, en
•respecter les cadres légaux comme
la GDPR,
•prévoir les chantiers de
rationalisation
•anticiper les impacts des évolutions.
On parle de « data lineage ».
Copie d’écran de l’interface de visualisation de l’origine d’une donnée
dans le logiciel Talend Data Catalog
MODÉLISATION
Circonscrire un monde
Modéliser, c’est :
• Circonscrire un monde
• Analyser le monde
• Comprendre son fonctionnement
• Etablir sa logique
• Faire ressortir les éléments de ce
monde
• Les décrire
Et enfin : penser à l’usage qu’on va faire
de ce monde
Définition : établir la logique formelle d’un domaine
pour permettre à la machine de le manipuler ou de le calculer
Le modèle conceptuel
Le résultat de la modélisation s’incarne dans un modèle conceptuel, qui décrit :
Les types de « choses » ou d’entités du
monde, les classes
Exemple de classes : film, personne…
Les caractéristiques de ces entités, les
attributs
Exemple d’attributs : titre du film, nom
de la personne…
Les liens entre les entités, les relations
Exemple de relations : réalisateur, acteur…
La logique numéraire des relations, la
cardinalité
Exemple de cardinalité : un film peut
être relié à plusieurs personnes
FilmConcept PersonneFilm
Titre du film
Personne
Nom
Concept
Libellé Genre
Acteur
Réalisateur
1 n
nn
A garder en tête (1)
Si on veut exprimer une information sur
une relation alors la relation elle-même
devient un type d’objet/entité
Si on veut exprimer une information sur
une caractéristique, alors cette
dernière devient un type d’objet/entité
A garder en tête (2)
Un modèle doit être pensé selon la logique
intrinsèque de la donnée
MAIS
Votre modèle est utilisée dans un
contexte et pour un objectif précis
 Pensez aussi à être pragmatique (sauf si votre job consiste à penser
des cadres de description qui ne seront jamais implémentés directement)
Formaliser un modèle conceptuel :
le diagramme de classe en UML
(Unified Modeling Language)
class Macro modèle des données documentaires centré sur l'instance
Instance
Evénement
Agrégation
Identifiant
Annotation
textuelle
Concept
Item
Titre
Relation
Entité <-->
Concept
Activité
Champs textuels
Annotation
Agent (Activité)
Agent
Générique
Chiffre
Relation Evénement
<--> Item
Terme
Relation Item<-->
Item
Extrait
Fonds
0..*
1
0..*
0..*
0..*
1..*
0..*
0..*
0..*
1
1
0..*
0..1 1..*
1
0..*
0..*0..*
1 0..*
0..*
1..*
0..10..* 0..*
0..1
1..*
1..*
1..*
« Langage de modélisation
graphique à base de pictogrammes
conçu pour fournir une méthode
normalisée pour visualiser la
conception d'un système » dixit
Wikipédia
https://fr.wikipedia.org/wiki/UML_(informatique)
Un langage pour communiquer avec les
informaticiens et les unir tous !!
Aide-mémoire d’UML
Nom de la classe
+ Propriété 1 : string
+ Propriété 2 : int
Nom des
propriétés précédé
par leur visibilité et
suivi du type de
données
+ Method 1 ()
Nom des méthodes
précédé par leur
visibilité
Classe A Classe B
Est une
Héritage
Classe A Classe B
implémente
Généralisation
Classe A Classe B
Association
Classe A Classe B
Association dirigée
Classe A Classe B
Agrégation
Classe A Classe B
Composition
est dans
A peut exister si B n’existe pas
partie de
A ne peut pas exister si B n’existe pas
Classe
Nom de la classe
+ Propriété 1 : string
+ Propriété 2 : int
+ Method 1 ()
La forme du trait indique
le type de lien
0…n
La cardinalité indique le
nombre de liens possibles entre
la classe opposée à la mention
et la classe qui possède la
mention
DES MODÈLES CONCEPTUELS POUR
LES DONNÉES PATRIMONIALES
FRBR/LRM
Functional Requirements for Bibliographic Records/Library Reference Model
https://www.ifla.org/publications/node/11412
CIDOC-CRM
Le CIDOC-CRM est un modèle conceptuel pour décrire les biens culturels, patrimoniaux ou
archéologiques. Il est au bien culturel ce que la TEI est au texte : une boîte à outils pour
construire son propre modèle et non une ontologie à implémenter en l’état…
http://www.cidoc-crm.org/node/202
Records in context
https://www.ica.org/en/egad-ric-conceptual-model
https://www.ica.org/sites/default/files/session-7.8-ica-egad-ric-congress2016.pdf
Records in context est une initiative lancée par le Conseil international des
archives pour réfléchir à la modélisation des données archivistiques
Records in context est d’abord un
modèle conceptuel (RiC-CM) qui se
matérialise sous la forme d’une
ontologie (RiC-O)
Apports des modèles patrimoniaux
Séparation des informations de la
notice en différentes entités
logiques
Convergence entre les différents modèles de
description et interopérabilité des différentes
institutions patrimoniales
Vue de FRBRoo
Modélisation de l’objet et de ces
différentes appréhensions et de la
description elle-même
LES RÉFÉRENTIELS
Qu’est-ce-qu’un référentiel ?
Pour appréhender au mieux les connaissances, les hommes ont cherché des moyens de
classer et contenir les informations du monde sous la forme de référentiels
Vocabulaire contrôlé Taxinomie
Mammifère
Animal
Reptile
Primates
Homme
Chimpanzé
Thésaurus Ontologie
Animal
Reptile
Mammifère
Primates
Homme
Personne
Animal Lieu
possède habite
est originaire de
Pays de langue française
Afrique Francophone
Europe Francophone
France
Suisse Romande
Francophonie
narrower
narrower
related
Importance des référentiels
Les référentiels assurent la cohérence des valeurs des données et la mise en relation
entre les différents types de données par des éléments communs et normés
Mise en relation de biens culturels issus de
différentes bases via les référentiels
En théorie En pratique
Les référentiels jouent le rôle de hub de données
entre les différentes bases d’une organisation
Quelques usages des référentiels
Documenter/décrire
de manière cohérente
Normaliser Gérer le multilinguisme
Permettre des inférences Créer du lien
Des référentiels qui s’ignorent
Annuaire d’entreprise Arborescence de fichiers Catalogue de produits
Base de relation clients/CRM
Des référentiels reconnus
Eurovoc est le thésaurus multilingue et multidisciplinaire de l’Union
européenne. Il contient des mots-clés répartis dans 21 domaines et
127 sous-domaines.
Geonames est une initiative communautaire de données
géographiques.
Data.bnf.fr est une initiative de la Bibliothèque nationale de
France pour exposer ses données bibliographiques autour de
leur référentiels d’œuvres, de personnes et matières (Rameau).
Wikidata est une initiative issue de la galaxie de la Wikimedia
Foundation pour constituer une base de connaissances dont les
données sont modifiables et librement réutilisables (CC0).
SÉRIALISATION ET STOCKAGE DES
DONNÉES
Du modèle conceptuel au modèle
physique
Modèle conceptuel Modèle logique Modèle physique
Les données telles qu’elles sont
exprimées selon un modèle
pour les manipuler par un
traitement informatique
Les données telles qu’elles
sont exprimées selon un
format ou stockées en
base
Les données telles qu’elles
sont organisées
logiquement dans le
monde réel
Film
Titre du
film
Concept
Libellé
Personne
Nom
Table Arbre
Graphe
LES MODÈLES LOGIQUES
Table, Arbre, Graphe
Modèle de données logiques : la table
idfilm Titre propre idgenre
1 De battre mon cœur s’est
arrêté
2
2 Un prophète 2
3 L’Arnacoeur 1
4 Quai d’Orsay 3
idgenr
e
Libellé du genre
1 Comédie romantique
2 Drame
3 Comédie
Idpersonne Nom
1 Jacques Audiard
2 Romain Duris
3 Niels Arestrup
4 Bertrand Tavernier
Film Genre
Personne
idfilm Idpersonne rôle
1 1 Réalisateur
2 1 Réalisateur
1 2 Acteur
3 2 Acteur
2 3 Acteur
4 4 Réalisateur
4 3 Acteur
Film_Personne
Modèle de données logiques : l’arbre
Modèle de données logiques : le graphe
De battre mon
cœur s’est arrété
Comédie
Un
prophète
Quai
d’Orsay L’arnacoeur
Jacques
Audiard
Niels
Arestrup
Romain
Duris
Bertrand
Tavernier
Drame
Comédie
romantique
Personne
Concept
type type
type
genre genregenre
genre
type
type
type
type
réalisateur
acteur
réalisateur
acteur
réalisateuracteur
acteur
FORMATS ET MODÈLES
Exemples de formats de tables
CSV XLS
idfilm,Titre propre,Genre
1,De battre mon cœur s’est arrêté,Drame
2,Un prophète,Drame
3,L'arnacoeur,Comédie romantique
4,Quai d'Orsay,Comédie
idfilm,Titre propre,Genre,Rôle,Nom
1,De battre mon cœur s’est arrêté,Drame,Réalisateur,Jacques
Audiard
1,De battre mon cœur s’est arrêté,Drame,Acteur,Romain Duris
2,Un prophète,Drame,Réalisateur,Jacques Audiard
2,Un prophète,Drame,Acteur,Niels Arestrup
3,L'arnacoeur,Comédie romantique,Acteur,Romain Duris
4,Quai d'Orsay,Comédie,Réalisateur,Bertrand Tavernier
4,Quai d'Orsay,Comédie,Acteur,Niels Arestrup
Exemples de formats d’arbres
XML Json
<film>
<titre>De battre mon cœur s'est arrêté</titre>
<genre>Drame</genre>
<generiques>
<generique>
<role>Acteur</role>
<personne>
<nom>Romain Duris</nom>
</personne>
</generique>
<generique>
<role>Réalisateur</role>
<personne>
<nom>Jacques Audiard</nom>
</personne>
</generique>
</generiques>
</film>
{
"film": [
{
"titre": "De battre mon cœur s'est arrêté",
"genre": "Drame",
"generiques": [
{
"role": "Acteur",
"personne": {
"nom": "Romain Duris"
}
},
{
"role": "Réalisateur",
"personne": {
"nom": "Jacques Audiard"
}
}
]
}
]
}
Exemples de modèles de graphes
RDF Property graph
Le modèle RDF, à la base des technologies
du Web sémantique, repose sur le modèle
des triplets : Sujet/Prédicat/Objet pour
modéliser les graphes et le mécanismes des
URIs pour identifier les entités.
Les property graph sont composés de
sommets (= des entités), d’arcs (= liens
entre entités) et de propriétés (= attributs)
de sommets ou d’arcs.
LES BASES DE DONNÉES
Système de stockage de données
Interface machine d’accès aux données (= API)
SQL SPARQL /TinkerpopSQL ou spécifique spécifique
Système de fichiers
SGBDR Document DBColumn DB Graph DB
Le choix du système de stockage des données dépend
des usages souhaitées des données
NFS/CIFS/HFS…
Cohérence
Les données doivent rester cohérentes dans tous les cas, c’est-à-dire
même en cas d’échec système
Les propriétés ACID
A C
ID
Isolation
Une transaction est exécutée de façon isolée, c’est-à-dire qu’elle peut voir les données dans leur état intermédiaire, les autres
opérations doivent attendre un nouveau point de synchronisation (fin de la transaction) pour voir le nouvel état
Durabilité
Dés l’instant où la transaction est terminée, les modifications
sont persistées sur disque de manière durable
Atomicité
Si une transaction n’est pas effectuée jusqu’au bout, la base de
données retourne dans son état initial
Le respect des contraintes ACID assure la cohérence et l’intégrité des données stockées en
base mais peut induire des pertes de performances avec la montée en charge.
La stabilité et la robustesse des bases de données s’évaluent suivant
leur respect des propriétés ACID
P
Availability
Il est toujours possible de réaliser une
opération et de recevoir une réponse en retour
Le théorème de CAP
C A
Partition tolerance
Toutes les opérations finissent par se terminer même si certains
composants du système sont indisponibles
Consistency
Le client perçoit un ensemble d’opérations transactionnelles comme
réalisées d’un seul bloc
Le modèle ACID adresse principalement les deux premières propriétés (CA) tandis que les
systèmes distribués se concentrent généralement sur les deux dernières (CP et AP)
La distribution des données permet d’augmenter les performances du système.
Les bases de données distribuées respectent le théorème du CAP qui établit
qu’un système distribué ne peut respecter que 2 propriétés sur 3 à un instant T.
LES BASES DE DONNÉES BASÉES
SUR LE MODÈLE DE TABLE
Les bases de données relationnelles
Un langage de requêtes et d’interactions avec le système : le SQL
La grande force des SGBDR est de respecter les propriétés ACID mais, de par leur mode de
fonctionnement, elles ne sont a priori pas compatibles avec la scalabilité horizontale.
Les systèmes de gestion de bases de
données relationnelles (SGBDR) existantes
Open source
Propriétaire
OLTP vs OLAP
OLTP
Online Transaction Processing
Traitement transactionnel en ligne
OLAP
Online Analytical Processing
Traitement analytique en ligne
OLTP et OLAP désignent les deux cas d’usages principaux des bases de données relationnelles
imposant une manière différente d’organiser les bases de données même si elles s’appuient
dans les deux cas sur le modèle de table.
• Dédiée aux applications
• Accès fréquent et écriture rapide
• Stockage orientée ligne
• Ecriture interactive
• Dédiée aux outils de BI et de data
visualisation
• Lecture rapide et capacité de calcul
• Stockage orientée colonne
• Ecriture par batch
Export pour alimenter
Architecture et modèle de données pour
l’OLAP
Le modèle des datamart pour le traitement
analytique implémenté avec des SGBDR
classiques suit habituellement le modèle en
étoile ou en flocon : des dimensions (=
attributs) autour d’une table de faits
(=l’entité principale des traitements).
Ce modèle permet de respecter le principe
relationnel tout en limitant le nombre de
jointures.
Base OLTP
primaire
Data Warehouse
Entrepôt de données
DataMart
Magasin de données
centralise les données
sans transformation
spécifique
transforme et organise
les données suivants les
traitements analytiques
Google Big Query/Amazon Redshift
Google Big Query et Amazon Redshift sont deux système de gestion de bases de données
(SGBD) dans le cloud, fondés sur le modèle des tables, pensés pour l’OLAP, interrogeables en
SQL et proposant une scalabilité horizontale.
La principale caractéristique de ces deux
bases réside dans leur capacité à stocker
en valeur d’un champ des données
structurées ou répétables ce qui évite de
créer des tables de dimension et permet
d’optimiser les requêtes
LES BASES DE DONNÉES BASÉES
SUR LE MODÈLE D’ARBRE
Les bases de données document
Pour interroger un ensemble d’arbres, il faut les indexer dans une base de données
spécifique : une base de données « document ». Elles sont spécialisés pour le XML ou le
Json.
Une BD document est organisée en
« collection » qui rassemble des arbres à la
structure homogène ou quasi homogène
Interroger une BD document a pour
objectif principal de ramener l’arbre ou
un sous-ensemble de cet arbre.
Attention ! La granularité d’indexation est capitale et ce choix dépend de la
structure en entrée, de l’usage attendu de la base de données et des
compétences intrinsèques de la base.
BD document et scalabilité
Serveur de
routage
Serveur de
stockage B
Serveur de
stockage A
Serveur de
stockage C
Les BD documents existantes
XML Json
Open source
Propriétaire Microsoft
Cosmos Azure DB
LES MOTEURS DE RECHERCHE
Des bases de données « document » particulières
Disclamer : Diapos largement inspirées par
le cours de Philippe Rigaux en CC BY-NC-SA
http://b3d.bdpedia.fr/introri.html
Objectif
La Recherche d’Information (Information Retrieval, IR) consiste à trouver des documents
peu ou faiblement structurés, dans une grande collection, en fonction d’un besoin
d’information.
Recherche plein texte VS recherche type « base de données »
Recherche plein texte
titi
toto
TITï
Bla
Bla toto
On cherche à examiner tous les mots de chaque
document enregistré et à essayer de les faire
correspondre à ceux fournis par l’utilisateur
Requête structurée, données structurées,
réponse « exacte »
Recherche type « base de données »
Vocabulaire
Faux négatifs: ce sont les documents pertinents qui ne sont
pas inclus dans le résultat.
Faux positifs: ce sont les documents non pertinents inclus dans le
résultat; ils ont été sélectionnés à tort.
 Tout l’enjeu est de trouver le juste milieu entre le bruit et le silence en jouant sur
Précision
La précision mesure la fraction des vrais
positifs dans un résultat. Une précision de
1 correspond à l’absence totale de faux
positifs. Une précision nulle indique un
résultat ne contenant aucun document
pertinent.
Rappel
Le rappel mesure la fraction de faux
négatifs.
Index et index inversé
d1: Le loup est dans la bergerie.
d2: Le Loup était avec le trois petits cochons
d3: Les moutons sont dans la bergerie.
d4: Spider Cochon, Spider Cochon, il peut marcher au plafond.
d5: Un loup a mangé un mouton, les autres loups sont restés dans la bergerie.
d6: Il y a trois moutons dans le pré, et un mouton dans la gueule du loup.
d7: Le cochon est à 12 le Kg, le mouton à 10 E/Kg
d8: Les trois petits loups et le grand méchant cochon
loup mouton cochon bergerie pré gueule
D1 1 0 0 1 0 0
D2 1 0 1 0 0 0
D3 0 1 0 1 0 0
D4 0 0 1 0 0 0
D5 1 1 0 1 0 0
D6 1 1 0 0 1 1
D7 0 1 1 0 0 0
d8 1 0 1 0 0 0
Matrice d’incidence ou Index
 Pas très performant s’il y a beaucoup de documents
Index et index inversé
d1: Le loup est dans la bergerie.
d2: Le Loup était avec le trois petits cochons
d3: Les moutons sont dans la bergerie.
d4: Spider Cochon, Spider Cochon, il peut marcher au plafond.
d5: Un loup a mangé un mouton, les autres loups sont restés dans la bergerie.
d6: Il y a trois moutons dans le pré, et un mouton dans la gueule du loup.
d7: Le cochon est à 12 le Kg, le mouton à 10 E/Kg
d8: Les trois petits loups et le grand méchant cochon
Index inversé
Requête booléenne
d1: Le loup est dans la bergerie.
d2: Le Loup était avec le trois petits cochons
d3: Les moutons sont dans la bergerie.
d4: Spider Cochon, Spider Cochon, il peut marcher au plafond.
d5: Un loup a mangé un mouton, les autres loups sont restés dans la bergerie.
d6: Il y a trois moutons dans le pré, et un mouton dans la gueule du loup.
d7: Le cochon est à 12 le Kg, le mouton à 10 E/Kg
d8: Les trois petits loups et le grand méchant cochon
louppetit louppetit louppetit
louppetit petit loup
mouton mouton
Petit ET loup Petit OU loup Petit SAUF loup
(Petit OU loup) ET mouton (Petit ET loup) SAUF mouton
Comment indexer au mieux les termes ?
d1: Le loup est dans la bergerie.
d2: Le Loup était avec le trois petits cochons
d3: Les moutons sont dans la bergerie.
d4: Spider Cochon, Spider Cochon, il peut marcher au plafond.
d5: Un loup a mangé un mouton, les autres loups sont restés dans la bergerie.
d6: Il y a trois moutons dans le pré, et un mouton dans la gueule du loup.
d7: Le cochon est à 12 le Kg, le mouton à 10 E/Kg
d8: Les trois petits loups et le grand méchant cochon
Tokenisation
Le
Loup
était
avec
les
trois
petits
cochons
Normalisation
Lemmatisa
-tion
Mot vide Synonyme
le
loup
etait
avec
les
trois
petits
cochons
le
loup
etait
avec
le
trois
petit
cochon
loup
etait
trois
petit
cochon
loup
canide
etait
trois
petit
cochon
porc
Tri et classement
L’objectif du tri est de proposer un ordre des
résultats selon un critère déterminé par
l’utilisateur
La pertinence est un type de tri qui vise à proposer un ordre de
classement qui semble le plus pertinent au regard de la requête
et de l’ensemble des résultats.
La pertinence est une notion largement subjective….
La pertinence est calculée à partir d’un ensemble de critères
propres comme la fréquence d’un terme (TF-IDF), degré de
similarité, la pondération de la provenance des mots, page rank…
Filtres et facettes
Afin de naviguer dans un ensemble de résultats ou de préciser sa requête, les moteurs de
recherche propose des facettes, c’est-à-dire des ensembles de valeurs distinctes construits à
partir des attributs du document.
Quelques outils
Open source
Propriétaire
LES BASES DE DONNÉES BASÉES
SUR LE MODÈLE DE GRAPHE
Les triplestores RDF
Les triplestores RDF permettent de stocker des triplets RDF et de les interroger grâce au
langage de requête SPARQL normalisé par le W3C.
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt:
<http://www.wikidata.org/prop/direct/>
SELECT ?ecrivain ?ecrivainLabel ?lieu ?lieuLabel
WHERE {
wd:Q535 wdt:P19 ?lieu.
?ecrivain wdt:P106 wd:Q36180.
?ecrivain wdt:P19 ?lieu.
SERVICE wikibase:label { bd:serviceParam
wikibase:language "fr". }
}
Exemple de requête SPARQL pour retrouver
dans Wikidata les écrivains nés dans la même
ville que Victor Hugo
Open Source
Blazegraph
RDF4J
Apache Jena
Cliopatria
Halyard
Freemium Open Link Virtuoso
Propriétaire
Ontotext GraphDB
Stardog
Marklogic
AllegroGraph
AnzoGraph
Oracle Spatial and RDF knowledge Graph
Les bases de données « property graph »
Open Source
Blazegraph
Janusgraph
OrientDB
Freemium
Neo4J
ArangoDB
Grakn.ai
DGraph
Propriétaire
Stardog
AnzoGraph
Datastax Enterprise Graph
Les bases de données orientés graphe stockent des graphes modélisés selon le modèle des
« property graph ». Il n’existe pas de langage de requête normalisé mais deux se détachent :
Gremlin qui fait partie du framework Apache Tinkerpop et Cypher mis au point par la société
Neo4J.
g.V().has("name","gremlin").
out("knows").
out("knows").
values("name")
Exemple de requêtes Gremlin pour retrouver
le nom des amis des amis de Gremlin
MATCH (charlie:Person
{ name:'Charlie Sheen' })-[:ACTED_IN]-
(movie:Movie)
RETURN movie
Exemple de requêtes Cypher pour retrouver
les films dans lesquels joue Charlie Sheen
VIRTUALISATION DES DONNÉES
Comment interroger en une
requête des bases hétérogènes ?
Plutôt que de répliquer les données dans un entrepôt de données, l’objectif des solutions de
« virtualisation » de données est d’offrir un infrastructure capable d’interroger les différentes
bases quel que soit leur type via une seule requête.
Positionnement de la
solution Open Source
Dremio
Dremio, Denodo, Informatica Data Virtualization, Red Hat Data Virtualization,
Tibco Data Virtualization
https://www.synaltic.fr/blog/dremio-federation-de-donnees-self-service/
L’HEURE DES CHOIX
Comment choisir le bon système
de stockage ?
Le choix doit reposer sur les performances attendues au regard de la structure et la nature des
données et des types d’interactions attendus en lecture et en écriture
Performances attendues Périmètre de données Type d’interactions
Forces et faiblesses des différents
systèmes de bases de données
Base de données
relationnelles
Base de données
document
Base de données
graphes
Moteur de
recherche
• Beaucoup de lecture/écriture
• Données très structurées
• Garantie de la transaction
• Peu ou pas de mise à jour
• Données semi structurées
• Montée en charge sécurisée en
volume de données
• Données très structurées
• Inférences sur les données
• Respect de la logique des données
• Requête plein texte
• Rapidité des réponses
• Montée en charge pour le
nombre d’utilisateurs
Il n’existe pas une base de données idéale, chacune présente ses forces et ses faiblesses.
Stockage primaire vs Stockage secondaire
Stockage primaire Stockage secondaire
Contraintes techniques :
Haut niveau de résilience attendu
Doit assurer l’intégrité et la qualité de la
donnée
Contraintes techniques :
Accès fréquent en lecture
Synchronisation avec le primaire
Data
Principalement
accès en écriture
Synchronisation Principalement accès
en lecture
Rôle du stockage primaire :
Il sert d’entrepôt de référence de toutes les
données du périmètre et assure la gestion
des relations entre celles-ci
Rôle du stockage secondaire :
Il est principalement un système d’exposition du
stockage primaire, permettant aux utilisateurs
une forte interactivité avec les données de
références
Usages :
Accès fréquent en écriture
Requêtes basiques mais la gestion doit
être performante
Usages :
Moteur de recherche
Exposition des données
Requêtage complexe
Un des moyens de choisir la bonne base de données est d’identifier suivant les cas d’usage
un stockage primaire et un stockage secondaire.
Architecture du lac de données de
l’inaL’objectif est de déployer une infrastructure de stockage centralisée capable de répondre à tous
les cas d’usage en proposant à la fois les différents types de bases de données et les
mécanismes de traitement des données.
http://www.lespetitescases.net/comment-mettre-la-donnee-au-coeur-du-si
https://www.youtube.com/watch?v=KYOzoRPks8Q
Cloud ou pas ?
Tous les grands opérateurs de services dans le Cloud propose des solutions de bases de données. Leur
promesse : la supervision, la disponibilité, la maintenabilité, les montées de version, la gestion de la
montée en charge… bref, tout ce qui rend la gestion de bases de données complexes…
Google Cloud Amazon AWS
Base de données
relationnelles
Cloud Spanner
Cloud SQL
Amazon relational Database service
Amazon Aurora
Base de données orientée
colonnes
Cloud BigTable
Hybride Google BigQuery Amazon Redshift
Base de données documents Cloud Firestore Amazon DocumentDB
Moteur de recherche Amazon CloudSearch
Amazon ElasticSearch service
Base de données orientée
graphes
Cloud BigTable + JanusGraph Amazon Neptune
Solutions proposées nativement par les grands opérateurs de Cloud
Cloud ou pas ?
Alors, faut-il y aller ? N’est-ce pas dangereux d’abandonner une partie de la maîtrise des données ?
Ça dépend de la criticité de vos données, des volumétries engagés, du nombre d’utilisateurs, des
performances attendues, de la capacité de votre réseau et des ressources internes dont vous disposez.
Microsoft Azure IBM Cloud
Base de données relationnelles SQL Server
Azure SQL Database
Azure Database for MariaDB
Azure Database for PostgreSQL
Compose for MySQL
IBM Cloud Database for
PostgreSQL
IBM DB2 on Cloud
Base de données orientée
colonnes
Compose for ScyllaDB
Hybride Azure Cosmos DB
Base de données documents Azure Cosmos DB Compose for MongoDB
Cloudant
Compose for rethinkDB
Moteur de recherche Azure Search Compose For elasticSearch
Base de données orientée
graphes
Azure Cosmos DB Compose for JanusGraph
1 de 71

Recomendados

Big data, Intelligence artificielle, quelles conséquences pour les profession... por
Big data, Intelligence artificielle, quelles conséquences pour les profession...Big data, Intelligence artificielle, quelles conséquences pour les profession...
Big data, Intelligence artificielle, quelles conséquences pour les profession...Gautier Poupeau
1.7K visualizações15 slides
Aligner vos données avec Wikidata grâce à l'outil Open Refine por
Aligner vos données avec Wikidata grâce à l'outil Open RefineAligner vos données avec Wikidata grâce à l'outil Open Refine
Aligner vos données avec Wikidata grâce à l'outil Open RefineGautier Poupeau
6.1K visualizações52 slides
Data warehouse por
Data warehouseData warehouse
Data warehouseDimassi Khoulouda
15.7K visualizações44 slides
Une introduction à Hive por
Une introduction à HiveUne introduction à Hive
Une introduction à HiveModern Data Stack France
12.9K visualizações15 slides
Big data por
Big dataBig data
Big dataYosra ADDALI
2.8K visualizações30 slides
Introduction à Neo4j por
Introduction à Neo4jIntroduction à Neo4j
Introduction à Neo4jNeo4j
2.5K visualizações25 slides

Mais conteúdo relacionado

Mais procurados

Chp1- Introduction aux Technologies Web et SOA por
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOALilia Sfaxi
4.3K visualizações20 slides
BigData_TP4 : Cassandra por
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : CassandraLilia Sfaxi
31.1K visualizações12 slides
Business Intelligence : Transformer les données en information. por
Business Intelligence : Transformer les données en information.Business Intelligence : Transformer les données en information.
Business Intelligence : Transformer les données en information.arnaudm
15K visualizações16 slides
DSpace 7 - The Power of Configurable Entities por
DSpace 7 - The Power of Configurable EntitiesDSpace 7 - The Power of Configurable Entities
DSpace 7 - The Power of Configurable EntitiesAtmire
2K visualizações91 slides
CQRS + Event Sourcing por
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event SourcingEric De Carufel
5.7K visualizações19 slides
Microsoft Power Platform en Action por
Microsoft Power Platform en Action Microsoft Power Platform en Action
Microsoft Power Platform en Action Denys Chamberland
1.6K visualizações103 slides

Mais procurados(20)

Chp1- Introduction aux Technologies Web et SOA por Lilia Sfaxi
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
Lilia Sfaxi4.3K visualizações
BigData_TP4 : Cassandra por Lilia Sfaxi
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
Lilia Sfaxi31.1K visualizações
Business Intelligence : Transformer les données en information. por arnaudm
Business Intelligence : Transformer les données en information.Business Intelligence : Transformer les données en information.
Business Intelligence : Transformer les données en information.
arnaudm15K visualizações
DSpace 7 - The Power of Configurable Entities por Atmire
DSpace 7 - The Power of Configurable EntitiesDSpace 7 - The Power of Configurable Entities
DSpace 7 - The Power of Configurable Entities
Atmire2K visualizações
CQRS + Event Sourcing por Eric De Carufel
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event Sourcing
Eric De Carufel5.7K visualizações
Microsoft Power Platform en Action por Denys Chamberland
Microsoft Power Platform en Action Microsoft Power Platform en Action
Microsoft Power Platform en Action
Denys Chamberland1.6K visualizações
Modélisation de données pour MongoDB por MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDB
MongoDB4.4K visualizações
Big data - Cours d'introduction l Data-business por Vincent de Stoecklin
Big data - Cours d'introduction l Data-businessBig data - Cours d'introduction l Data-business
Big data - Cours d'introduction l Data-business
Vincent de Stoecklin23.7K visualizações
BI : Analyse des Données avec Mondrian por Lilia Sfaxi
BI : Analyse des Données avec Mondrian BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian
Lilia Sfaxi9.7K visualizações
Technologies pour le Big Data por Minyar Sassi Hidri
Technologies pour le Big DataTechnologies pour le Big Data
Technologies pour le Big Data
Minyar Sassi Hidri10.1K visualizações
Introduction aux architectures des SI por Heithem Abbes
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
Heithem Abbes5.6K visualizações
DataWarehouse por nzuguem
DataWarehouseDataWarehouse
DataWarehouse
nzuguem1.8K visualizações
Présentation data vault et bi v20120508 por Empowered Holdings, LLC
Présentation data vault et bi v20120508Présentation data vault et bi v20120508
Présentation data vault et bi v20120508
Empowered Holdings, LLC6K visualizações
BigData_Chp4: NOSQL por Lilia Sfaxi
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
Lilia Sfaxi41.2K visualizações
La Business Intelligence por Khchaf Mouna
La Business Intelligence La Business Intelligence
La Business Intelligence
Khchaf Mouna3K visualizações
Architectures orientés services (SOA) por Heithem Abbes
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
Heithem Abbes8.7K visualizações
Présentation spring data Matthieu Briend por SOAT
Présentation spring data  Matthieu BriendPrésentation spring data  Matthieu Briend
Présentation spring data Matthieu Briend
SOAT8K visualizações
Chp1 - Introduction à l'Informatique Décisionnelle por Lilia Sfaxi
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
Lilia Sfaxi43.9K visualizações
Architectures n-tiers por Heithem Abbes
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
Heithem Abbes32.2K visualizações

Similar a Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique

Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or... por
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...Gautier Poupeau
4.4K visualizações21 slides
Cours BDD.pptx por
Cours BDD.pptxCours BDD.pptx
Cours BDD.pptxIbrahimaBarry49
23 visualizações41 slides
PFE – Methode por
PFE – MethodePFE – Methode
PFE – Methodefafa007
3.8K visualizações13 slides
Projets d'Humanités numérique et collaboration de différents métiers por
Projets d'Humanités numérique et collaboration de différents métiersProjets d'Humanités numérique et collaboration de différents métiers
Projets d'Humanités numérique et collaboration de différents métiersEmmanuelle Morlock
987 visualizações25 slides
Introduction aux bases de données por
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de donnéesAbdoulaye Dieng
2.6K visualizações51 slides
Presentation 2009 offre Social Computing por
Presentation 2009 offre Social ComputingPresentation 2009 offre Social Computing
Presentation 2009 offre Social ComputingSocial Computing
4.3K visualizações60 slides

Similar a Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique(20)

Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or... por Gautier Poupeau
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
Le "Lac de données" de l'Ina, un projet pour placer la donnée au cœur de l'or...
Gautier Poupeau4.4K visualizações
Cours BDD.pptx por IbrahimaBarry49
Cours BDD.pptxCours BDD.pptx
Cours BDD.pptx
IbrahimaBarry4923 visualizações
PFE – Methode por fafa007
PFE – MethodePFE – Methode
PFE – Methode
fafa0073.8K visualizações
Projets d'Humanités numérique et collaboration de différents métiers por Emmanuelle Morlock
Projets d'Humanités numérique et collaboration de différents métiersProjets d'Humanités numérique et collaboration de différents métiers
Projets d'Humanités numérique et collaboration de différents métiers
Emmanuelle Morlock987 visualizações
Introduction aux bases de données por Abdoulaye Dieng
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
Abdoulaye Dieng2.6K visualizações
Presentation 2009 offre Social Computing por Social Computing
Presentation 2009 offre Social ComputingPresentation 2009 offre Social Computing
Presentation 2009 offre Social Computing
Social Computing4.3K visualizações
Séminaire sur l'information structurée por SEGIC
Séminaire sur l'information structuréeSéminaire sur l'information structurée
Séminaire sur l'information structurée
SEGIC886 visualizações
Metadonnees et SID por Sylvie Dalbin
Metadonnees et SIDMetadonnees et SID
Metadonnees et SID
Sylvie Dalbin1.9K visualizações
Si bdd por kacem kouninef
Si bddSi bdd
Si bdd
kacem kouninef3.5K visualizações
7. information modelling por sugogo
7. information modelling7. information modelling
7. information modelling
sugogo950 visualizações
Les professionnels de l'information face aux défis du Web de données por Gautier Poupeau
Les professionnels de l'information face aux défis du Web de donnéesLes professionnels de l'information face aux défis du Web de données
Les professionnels de l'information face aux défis du Web de données
Gautier Poupeau4.8K visualizações
presentationcoursbd.pdf por AabidiHafid
presentationcoursbd.pdfpresentationcoursbd.pdf
presentationcoursbd.pdf
AabidiHafid14 visualizações
Chap1Concepts-FondamentauxBD.pdf por BoubakerMedanas
Chap1Concepts-FondamentauxBD.pdfChap1Concepts-FondamentauxBD.pdf
Chap1Concepts-FondamentauxBD.pdf
BoubakerMedanas12 visualizações
Semantic web introduction por Alexander Polonsky
Semantic web introductionSemantic web introduction
Semantic web introduction
Alexander Polonsky1.3K visualizações
A Brief History of Database Management (SQL, NoSQL, NewSQL) por Abdelkader OUARED
A Brief History of Database Management (SQL, NoSQL, NewSQL)A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)
Abdelkader OUARED231 visualizações
Présentation cice telos por Gilbert Paquette
Présentation cice   telosPrésentation cice   telos
Présentation cice telos
Gilbert Paquette995 visualizações
Metadonnees Introduction por jbcomte
Metadonnees IntroductionMetadonnees Introduction
Metadonnees Introduction
jbcomte2.7K visualizações
Nouvelles pratiques d’indexation, Nouveaux enjeux documentaires ? por Sylvie Dalbin
Nouvelles pratiques d’indexation, Nouveaux enjeux documentaires ? Nouvelles pratiques d’indexation, Nouveaux enjeux documentaires ?
Nouvelles pratiques d’indexation, Nouveaux enjeux documentaires ?
Sylvie Dalbin3.9K visualizações
Interopérabilité de l'information bibliographique et muséologique por Patrick Le Boeuf
Interopérabilité de l'information bibliographique et muséologiqueInteropérabilité de l'information bibliographique et muséologique
Interopérabilité de l'information bibliographique et muséologique
Patrick Le Boeuf1.1K visualizações
CoursUML-SlimMesfar-Total por Ahmed Mekkaoui
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-Total
Ahmed Mekkaoui4.4K visualizações

Mais de Gautier Poupeau

Why I don't use Semantic Web technologies anymore, event if they still influe... por
Why I don't use Semantic Web technologies anymore, event if they still influe...Why I don't use Semantic Web technologies anymore, event if they still influe...
Why I don't use Semantic Web technologies anymore, event if they still influe...Gautier Poupeau
12.4K visualizações41 slides
Visite guidée au pays de la donnée - Traitement automatique des données por
Visite guidée au pays de la donnée - Traitement automatique des donnéesVisite guidée au pays de la donnée - Traitement automatique des données
Visite guidée au pays de la donnée - Traitement automatique des donnéesGautier Poupeau
2.8K visualizações70 slides
Visite guidée au pays de la donnée - Introduction et tour d'horizon por
Visite guidée au pays de la donnée - Introduction et tour d'horizonVisite guidée au pays de la donnée - Introduction et tour d'horizon
Visite guidée au pays de la donnée - Introduction et tour d'horizonGautier Poupeau
3.1K visualizações34 slides
Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ? por
Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?
Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?Gautier Poupeau
1.1K visualizações46 slides
Découverte du SPARQL endpoint de HAL por
Découverte du SPARQL endpoint de HALDécouverte du SPARQL endpoint de HAL
Découverte du SPARQL endpoint de HALGautier Poupeau
1.2K visualizações41 slides
Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ... por
Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...
Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...Gautier Poupeau
4.5K visualizações168 slides

Mais de Gautier Poupeau(16)

Why I don't use Semantic Web technologies anymore, event if they still influe... por Gautier Poupeau
Why I don't use Semantic Web technologies anymore, event if they still influe...Why I don't use Semantic Web technologies anymore, event if they still influe...
Why I don't use Semantic Web technologies anymore, event if they still influe...
Gautier Poupeau12.4K visualizações
Visite guidée au pays de la donnée - Traitement automatique des données por Gautier Poupeau
Visite guidée au pays de la donnée - Traitement automatique des donnéesVisite guidée au pays de la donnée - Traitement automatique des données
Visite guidée au pays de la donnée - Traitement automatique des données
Gautier Poupeau2.8K visualizações
Visite guidée au pays de la donnée - Introduction et tour d'horizon por Gautier Poupeau
Visite guidée au pays de la donnée - Introduction et tour d'horizonVisite guidée au pays de la donnée - Introduction et tour d'horizon
Visite guidée au pays de la donnée - Introduction et tour d'horizon
Gautier Poupeau3.1K visualizações
Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ? por Gautier Poupeau
Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?
Un modèle de données unique pour les collections de l'Ina, pourquoi ? Comment ?
Gautier Poupeau1.1K visualizações
Découverte du SPARQL endpoint de HAL por Gautier Poupeau
Découverte du SPARQL endpoint de HALDécouverte du SPARQL endpoint de HAL
Découverte du SPARQL endpoint de HAL
Gautier Poupeau1.2K visualizações
Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ... por Gautier Poupeau
Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...
Réalisation d'un mashup de données avec DSS de Dataiku et visualisation avec ...
Gautier Poupeau4.5K visualizações
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie por Gautier Poupeau
Réalisation d'un mashup de données avec DSS de Dataiku - Première partieRéalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
Gautier Poupeau5.3K visualizações
Data in the center of the Information System por Gautier Poupeau
Data in the center of the Information SystemData in the center of the Information System
Data in the center of the Information System
Gautier Poupeau15.1K visualizações
Les technologies du Web appliquées aux données structurées (1ère partie : Enc... por Gautier Poupeau
Les technologies du Web appliquées aux données structurées (1ère partie : Enc...Les technologies du Web appliquées aux données structurées (1ère partie : Enc...
Les technologies du Web appliquées aux données structurées (1ère partie : Enc...
Gautier Poupeau2.3K visualizações
Les technologies du Web appliquées aux données structurées (2ème partie : Rel... por Gautier Poupeau
Les technologies du Web appliquées aux données structurées (2ème partie : Rel...Les technologies du Web appliquées aux données structurées (2ème partie : Rel...
Les technologies du Web appliquées aux données structurées (2ème partie : Rel...
Gautier Poupeau5K visualizações
Information numérique : défintions et enjeux por Gautier Poupeau
Information numérique : défintions et enjeuxInformation numérique : défintions et enjeux
Information numérique : défintions et enjeux
Gautier Poupeau34.8K visualizações
L’apport des technologies du Web sémantique à la gestion des données structur... por Gautier Poupeau
L’apport des technologies du Web sémantique à la gestion des données structur...L’apport des technologies du Web sémantique à la gestion des données structur...
L’apport des technologies du Web sémantique à la gestion des données structur...
Gautier Poupeau6.2K visualizações
RDF en quelques slides por Gautier Poupeau
RDF en quelques slidesRDF en quelques slides
RDF en quelques slides
Gautier Poupeau4.7K visualizações
Index nominum to ontology por Gautier Poupeau
Index nominum to ontologyIndex nominum to ontology
Index nominum to ontology
Gautier Poupeau792 visualizações
Le Web de données et les bibliothèques por Gautier Poupeau
Le Web de données et les bibliothèquesLe Web de données et les bibliothèques
Le Web de données et les bibliothèques
Gautier Poupeau1.7K visualizações
A la découverte du Web sémantique por Gautier Poupeau
A la découverte du Web sémantiqueA la découverte du Web sémantique
A la découverte du Web sémantique
Gautier Poupeau9.9K visualizações

Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique

  • 2. Visite guidée au pays de la donnée • Introduction et tour d’horizon • Du modèle conceptuel au modèle physique • Acquisition et gestion des données • Traitement automatique des données • Exposition et visualisation des données • Processus et organisations pour assurer la gestion des données Série de présentations pour faire le tour de la gestion des données à l’ère du Big data, du Cloud et de l’intelligence artificielle
  • 3. Plan de la partie Typologie, flux, structure et sémantique des données Sérialisation et stockage des données
  • 4. TYPOLOGIE, FLUX, STRUCTURE ET SÉMANTIQUE DES DONNÉES
  • 6. Etat des lieux et typologie des données Diagramme des différents types de données de l’Ina et de leurs liens Pour disposer d’une vue des données disponibles dans l’organisation, il est nécessaire de dresser un état des lieux des données (en pensant à intégrer toutes les données, même les logs et les données d’usage) puis de les classer selon une typologie indépendante des applications. « Si vous êtes Directeur des Systèmes d’Information, vous devriez faire un inventaire des données dont vous disposez et réfléchir à la valeur que ces données pourraient avoir si elles étaient disponibles plus largement au sein de l’entreprise voire à l’extérieur de l’entreprise, notamment pour vos partenaires. » Sir Tim Berners-Lee, inventeur du Web
  • 7. Cartographie des flux de données Talend data catalog, Google Data Catalog, Azure data Catalog, Apache Atlas, Waterline data catalog, Dremio https://searchdatamanagement.techtarget.com/news/252459149/Data-catalog-softw Il est nécessaire de cartographier les flux d’échange de données afin de : •assurer leur traçabilité, en •respecter les cadres légaux comme la GDPR, •prévoir les chantiers de rationalisation •anticiper les impacts des évolutions. On parle de « data lineage ». Copie d’écran de l’interface de visualisation de l’origine d’une donnée dans le logiciel Talend Data Catalog
  • 9. Circonscrire un monde Modéliser, c’est : • Circonscrire un monde • Analyser le monde • Comprendre son fonctionnement • Etablir sa logique • Faire ressortir les éléments de ce monde • Les décrire Et enfin : penser à l’usage qu’on va faire de ce monde Définition : établir la logique formelle d’un domaine pour permettre à la machine de le manipuler ou de le calculer
  • 10. Le modèle conceptuel Le résultat de la modélisation s’incarne dans un modèle conceptuel, qui décrit : Les types de « choses » ou d’entités du monde, les classes Exemple de classes : film, personne… Les caractéristiques de ces entités, les attributs Exemple d’attributs : titre du film, nom de la personne… Les liens entre les entités, les relations Exemple de relations : réalisateur, acteur… La logique numéraire des relations, la cardinalité Exemple de cardinalité : un film peut être relié à plusieurs personnes FilmConcept PersonneFilm Titre du film Personne Nom Concept Libellé Genre Acteur Réalisateur 1 n nn
  • 11. A garder en tête (1) Si on veut exprimer une information sur une relation alors la relation elle-même devient un type d’objet/entité Si on veut exprimer une information sur une caractéristique, alors cette dernière devient un type d’objet/entité
  • 12. A garder en tête (2) Un modèle doit être pensé selon la logique intrinsèque de la donnée MAIS Votre modèle est utilisée dans un contexte et pour un objectif précis  Pensez aussi à être pragmatique (sauf si votre job consiste à penser des cadres de description qui ne seront jamais implémentés directement)
  • 13. Formaliser un modèle conceptuel : le diagramme de classe en UML (Unified Modeling Language) class Macro modèle des données documentaires centré sur l'instance Instance Evénement Agrégation Identifiant Annotation textuelle Concept Item Titre Relation Entité <--> Concept Activité Champs textuels Annotation Agent (Activité) Agent Générique Chiffre Relation Evénement <--> Item Terme Relation Item<--> Item Extrait Fonds 0..* 1 0..* 0..* 0..* 1..* 0..* 0..* 0..* 1 1 0..* 0..1 1..* 1 0..* 0..*0..* 1 0..* 0..* 1..* 0..10..* 0..* 0..1 1..* 1..* 1..* « Langage de modélisation graphique à base de pictogrammes conçu pour fournir une méthode normalisée pour visualiser la conception d'un système » dixit Wikipédia https://fr.wikipedia.org/wiki/UML_(informatique) Un langage pour communiquer avec les informaticiens et les unir tous !!
  • 14. Aide-mémoire d’UML Nom de la classe + Propriété 1 : string + Propriété 2 : int Nom des propriétés précédé par leur visibilité et suivi du type de données + Method 1 () Nom des méthodes précédé par leur visibilité Classe A Classe B Est une Héritage Classe A Classe B implémente Généralisation Classe A Classe B Association Classe A Classe B Association dirigée Classe A Classe B Agrégation Classe A Classe B Composition est dans A peut exister si B n’existe pas partie de A ne peut pas exister si B n’existe pas Classe Nom de la classe + Propriété 1 : string + Propriété 2 : int + Method 1 () La forme du trait indique le type de lien 0…n La cardinalité indique le nombre de liens possibles entre la classe opposée à la mention et la classe qui possède la mention
  • 15. DES MODÈLES CONCEPTUELS POUR LES DONNÉES PATRIMONIALES
  • 16. FRBR/LRM Functional Requirements for Bibliographic Records/Library Reference Model https://www.ifla.org/publications/node/11412
  • 17. CIDOC-CRM Le CIDOC-CRM est un modèle conceptuel pour décrire les biens culturels, patrimoniaux ou archéologiques. Il est au bien culturel ce que la TEI est au texte : une boîte à outils pour construire son propre modèle et non une ontologie à implémenter en l’état… http://www.cidoc-crm.org/node/202
  • 18. Records in context https://www.ica.org/en/egad-ric-conceptual-model https://www.ica.org/sites/default/files/session-7.8-ica-egad-ric-congress2016.pdf Records in context est une initiative lancée par le Conseil international des archives pour réfléchir à la modélisation des données archivistiques Records in context est d’abord un modèle conceptuel (RiC-CM) qui se matérialise sous la forme d’une ontologie (RiC-O)
  • 19. Apports des modèles patrimoniaux Séparation des informations de la notice en différentes entités logiques Convergence entre les différents modèles de description et interopérabilité des différentes institutions patrimoniales Vue de FRBRoo Modélisation de l’objet et de ces différentes appréhensions et de la description elle-même
  • 21. Qu’est-ce-qu’un référentiel ? Pour appréhender au mieux les connaissances, les hommes ont cherché des moyens de classer et contenir les informations du monde sous la forme de référentiels Vocabulaire contrôlé Taxinomie Mammifère Animal Reptile Primates Homme Chimpanzé Thésaurus Ontologie Animal Reptile Mammifère Primates Homme Personne Animal Lieu possède habite est originaire de Pays de langue française Afrique Francophone Europe Francophone France Suisse Romande Francophonie narrower narrower related
  • 22. Importance des référentiels Les référentiels assurent la cohérence des valeurs des données et la mise en relation entre les différents types de données par des éléments communs et normés Mise en relation de biens culturels issus de différentes bases via les référentiels En théorie En pratique Les référentiels jouent le rôle de hub de données entre les différentes bases d’une organisation
  • 23. Quelques usages des référentiels Documenter/décrire de manière cohérente Normaliser Gérer le multilinguisme Permettre des inférences Créer du lien
  • 24. Des référentiels qui s’ignorent Annuaire d’entreprise Arborescence de fichiers Catalogue de produits Base de relation clients/CRM
  • 25. Des référentiels reconnus Eurovoc est le thésaurus multilingue et multidisciplinaire de l’Union européenne. Il contient des mots-clés répartis dans 21 domaines et 127 sous-domaines. Geonames est une initiative communautaire de données géographiques. Data.bnf.fr est une initiative de la Bibliothèque nationale de France pour exposer ses données bibliographiques autour de leur référentiels d’œuvres, de personnes et matières (Rameau). Wikidata est une initiative issue de la galaxie de la Wikimedia Foundation pour constituer une base de connaissances dont les données sont modifiables et librement réutilisables (CC0).
  • 27. Du modèle conceptuel au modèle physique Modèle conceptuel Modèle logique Modèle physique Les données telles qu’elles sont exprimées selon un modèle pour les manipuler par un traitement informatique Les données telles qu’elles sont exprimées selon un format ou stockées en base Les données telles qu’elles sont organisées logiquement dans le monde réel Film Titre du film Concept Libellé Personne Nom Table Arbre Graphe
  • 29. Modèle de données logiques : la table idfilm Titre propre idgenre 1 De battre mon cœur s’est arrêté 2 2 Un prophète 2 3 L’Arnacoeur 1 4 Quai d’Orsay 3 idgenr e Libellé du genre 1 Comédie romantique 2 Drame 3 Comédie Idpersonne Nom 1 Jacques Audiard 2 Romain Duris 3 Niels Arestrup 4 Bertrand Tavernier Film Genre Personne idfilm Idpersonne rôle 1 1 Réalisateur 2 1 Réalisateur 1 2 Acteur 3 2 Acteur 2 3 Acteur 4 4 Réalisateur 4 3 Acteur Film_Personne
  • 30. Modèle de données logiques : l’arbre
  • 31. Modèle de données logiques : le graphe De battre mon cœur s’est arrété Comédie Un prophète Quai d’Orsay L’arnacoeur Jacques Audiard Niels Arestrup Romain Duris Bertrand Tavernier Drame Comédie romantique Personne Concept type type type genre genregenre genre type type type type réalisateur acteur réalisateur acteur réalisateuracteur acteur
  • 33. Exemples de formats de tables CSV XLS idfilm,Titre propre,Genre 1,De battre mon cœur s’est arrêté,Drame 2,Un prophète,Drame 3,L'arnacoeur,Comédie romantique 4,Quai d'Orsay,Comédie idfilm,Titre propre,Genre,Rôle,Nom 1,De battre mon cœur s’est arrêté,Drame,Réalisateur,Jacques Audiard 1,De battre mon cœur s’est arrêté,Drame,Acteur,Romain Duris 2,Un prophète,Drame,Réalisateur,Jacques Audiard 2,Un prophète,Drame,Acteur,Niels Arestrup 3,L'arnacoeur,Comédie romantique,Acteur,Romain Duris 4,Quai d'Orsay,Comédie,Réalisateur,Bertrand Tavernier 4,Quai d'Orsay,Comédie,Acteur,Niels Arestrup
  • 34. Exemples de formats d’arbres XML Json <film> <titre>De battre mon cœur s'est arrêté</titre> <genre>Drame</genre> <generiques> <generique> <role>Acteur</role> <personne> <nom>Romain Duris</nom> </personne> </generique> <generique> <role>Réalisateur</role> <personne> <nom>Jacques Audiard</nom> </personne> </generique> </generiques> </film> { "film": [ { "titre": "De battre mon cœur s'est arrêté", "genre": "Drame", "generiques": [ { "role": "Acteur", "personne": { "nom": "Romain Duris" } }, { "role": "Réalisateur", "personne": { "nom": "Jacques Audiard" } } ] } ] }
  • 35. Exemples de modèles de graphes RDF Property graph Le modèle RDF, à la base des technologies du Web sémantique, repose sur le modèle des triplets : Sujet/Prédicat/Objet pour modéliser les graphes et le mécanismes des URIs pour identifier les entités. Les property graph sont composés de sommets (= des entités), d’arcs (= liens entre entités) et de propriétés (= attributs) de sommets ou d’arcs.
  • 36. LES BASES DE DONNÉES
  • 37. Système de stockage de données Interface machine d’accès aux données (= API) SQL SPARQL /TinkerpopSQL ou spécifique spécifique Système de fichiers SGBDR Document DBColumn DB Graph DB Le choix du système de stockage des données dépend des usages souhaitées des données NFS/CIFS/HFS…
  • 38. Cohérence Les données doivent rester cohérentes dans tous les cas, c’est-à-dire même en cas d’échec système Les propriétés ACID A C ID Isolation Une transaction est exécutée de façon isolée, c’est-à-dire qu’elle peut voir les données dans leur état intermédiaire, les autres opérations doivent attendre un nouveau point de synchronisation (fin de la transaction) pour voir le nouvel état Durabilité Dés l’instant où la transaction est terminée, les modifications sont persistées sur disque de manière durable Atomicité Si une transaction n’est pas effectuée jusqu’au bout, la base de données retourne dans son état initial Le respect des contraintes ACID assure la cohérence et l’intégrité des données stockées en base mais peut induire des pertes de performances avec la montée en charge. La stabilité et la robustesse des bases de données s’évaluent suivant leur respect des propriétés ACID
  • 39. P Availability Il est toujours possible de réaliser une opération et de recevoir une réponse en retour Le théorème de CAP C A Partition tolerance Toutes les opérations finissent par se terminer même si certains composants du système sont indisponibles Consistency Le client perçoit un ensemble d’opérations transactionnelles comme réalisées d’un seul bloc Le modèle ACID adresse principalement les deux premières propriétés (CA) tandis que les systèmes distribués se concentrent généralement sur les deux dernières (CP et AP) La distribution des données permet d’augmenter les performances du système. Les bases de données distribuées respectent le théorème du CAP qui établit qu’un système distribué ne peut respecter que 2 propriétés sur 3 à un instant T.
  • 40. LES BASES DE DONNÉES BASÉES SUR LE MODÈLE DE TABLE
  • 41. Les bases de données relationnelles Un langage de requêtes et d’interactions avec le système : le SQL La grande force des SGBDR est de respecter les propriétés ACID mais, de par leur mode de fonctionnement, elles ne sont a priori pas compatibles avec la scalabilité horizontale.
  • 42. Les systèmes de gestion de bases de données relationnelles (SGBDR) existantes Open source Propriétaire
  • 43. OLTP vs OLAP OLTP Online Transaction Processing Traitement transactionnel en ligne OLAP Online Analytical Processing Traitement analytique en ligne OLTP et OLAP désignent les deux cas d’usages principaux des bases de données relationnelles imposant une manière différente d’organiser les bases de données même si elles s’appuient dans les deux cas sur le modèle de table. • Dédiée aux applications • Accès fréquent et écriture rapide • Stockage orientée ligne • Ecriture interactive • Dédiée aux outils de BI et de data visualisation • Lecture rapide et capacité de calcul • Stockage orientée colonne • Ecriture par batch Export pour alimenter
  • 44. Architecture et modèle de données pour l’OLAP Le modèle des datamart pour le traitement analytique implémenté avec des SGBDR classiques suit habituellement le modèle en étoile ou en flocon : des dimensions (= attributs) autour d’une table de faits (=l’entité principale des traitements). Ce modèle permet de respecter le principe relationnel tout en limitant le nombre de jointures. Base OLTP primaire Data Warehouse Entrepôt de données DataMart Magasin de données centralise les données sans transformation spécifique transforme et organise les données suivants les traitements analytiques
  • 45. Google Big Query/Amazon Redshift Google Big Query et Amazon Redshift sont deux système de gestion de bases de données (SGBD) dans le cloud, fondés sur le modèle des tables, pensés pour l’OLAP, interrogeables en SQL et proposant une scalabilité horizontale. La principale caractéristique de ces deux bases réside dans leur capacité à stocker en valeur d’un champ des données structurées ou répétables ce qui évite de créer des tables de dimension et permet d’optimiser les requêtes
  • 46. LES BASES DE DONNÉES BASÉES SUR LE MODÈLE D’ARBRE
  • 47. Les bases de données document Pour interroger un ensemble d’arbres, il faut les indexer dans une base de données spécifique : une base de données « document ». Elles sont spécialisés pour le XML ou le Json. Une BD document est organisée en « collection » qui rassemble des arbres à la structure homogène ou quasi homogène Interroger une BD document a pour objectif principal de ramener l’arbre ou un sous-ensemble de cet arbre. Attention ! La granularité d’indexation est capitale et ce choix dépend de la structure en entrée, de l’usage attendu de la base de données et des compétences intrinsèques de la base.
  • 48. BD document et scalabilité Serveur de routage Serveur de stockage B Serveur de stockage A Serveur de stockage C
  • 49. Les BD documents existantes XML Json Open source Propriétaire Microsoft Cosmos Azure DB
  • 50. LES MOTEURS DE RECHERCHE Des bases de données « document » particulières Disclamer : Diapos largement inspirées par le cours de Philippe Rigaux en CC BY-NC-SA http://b3d.bdpedia.fr/introri.html
  • 51. Objectif La Recherche d’Information (Information Retrieval, IR) consiste à trouver des documents peu ou faiblement structurés, dans une grande collection, en fonction d’un besoin d’information. Recherche plein texte VS recherche type « base de données » Recherche plein texte titi toto TITï Bla Bla toto On cherche à examiner tous les mots de chaque document enregistré et à essayer de les faire correspondre à ceux fournis par l’utilisateur Requête structurée, données structurées, réponse « exacte » Recherche type « base de données »
  • 52. Vocabulaire Faux négatifs: ce sont les documents pertinents qui ne sont pas inclus dans le résultat. Faux positifs: ce sont les documents non pertinents inclus dans le résultat; ils ont été sélectionnés à tort.  Tout l’enjeu est de trouver le juste milieu entre le bruit et le silence en jouant sur Précision La précision mesure la fraction des vrais positifs dans un résultat. Une précision de 1 correspond à l’absence totale de faux positifs. Une précision nulle indique un résultat ne contenant aucun document pertinent. Rappel Le rappel mesure la fraction de faux négatifs.
  • 53. Index et index inversé d1: Le loup est dans la bergerie. d2: Le Loup était avec le trois petits cochons d3: Les moutons sont dans la bergerie. d4: Spider Cochon, Spider Cochon, il peut marcher au plafond. d5: Un loup a mangé un mouton, les autres loups sont restés dans la bergerie. d6: Il y a trois moutons dans le pré, et un mouton dans la gueule du loup. d7: Le cochon est à 12 le Kg, le mouton à 10 E/Kg d8: Les trois petits loups et le grand méchant cochon loup mouton cochon bergerie pré gueule D1 1 0 0 1 0 0 D2 1 0 1 0 0 0 D3 0 1 0 1 0 0 D4 0 0 1 0 0 0 D5 1 1 0 1 0 0 D6 1 1 0 0 1 1 D7 0 1 1 0 0 0 d8 1 0 1 0 0 0 Matrice d’incidence ou Index  Pas très performant s’il y a beaucoup de documents
  • 54. Index et index inversé d1: Le loup est dans la bergerie. d2: Le Loup était avec le trois petits cochons d3: Les moutons sont dans la bergerie. d4: Spider Cochon, Spider Cochon, il peut marcher au plafond. d5: Un loup a mangé un mouton, les autres loups sont restés dans la bergerie. d6: Il y a trois moutons dans le pré, et un mouton dans la gueule du loup. d7: Le cochon est à 12 le Kg, le mouton à 10 E/Kg d8: Les trois petits loups et le grand méchant cochon Index inversé
  • 55. Requête booléenne d1: Le loup est dans la bergerie. d2: Le Loup était avec le trois petits cochons d3: Les moutons sont dans la bergerie. d4: Spider Cochon, Spider Cochon, il peut marcher au plafond. d5: Un loup a mangé un mouton, les autres loups sont restés dans la bergerie. d6: Il y a trois moutons dans le pré, et un mouton dans la gueule du loup. d7: Le cochon est à 12 le Kg, le mouton à 10 E/Kg d8: Les trois petits loups et le grand méchant cochon louppetit louppetit louppetit louppetit petit loup mouton mouton Petit ET loup Petit OU loup Petit SAUF loup (Petit OU loup) ET mouton (Petit ET loup) SAUF mouton
  • 56. Comment indexer au mieux les termes ? d1: Le loup est dans la bergerie. d2: Le Loup était avec le trois petits cochons d3: Les moutons sont dans la bergerie. d4: Spider Cochon, Spider Cochon, il peut marcher au plafond. d5: Un loup a mangé un mouton, les autres loups sont restés dans la bergerie. d6: Il y a trois moutons dans le pré, et un mouton dans la gueule du loup. d7: Le cochon est à 12 le Kg, le mouton à 10 E/Kg d8: Les trois petits loups et le grand méchant cochon Tokenisation Le Loup était avec les trois petits cochons Normalisation Lemmatisa -tion Mot vide Synonyme le loup etait avec les trois petits cochons le loup etait avec le trois petit cochon loup etait trois petit cochon loup canide etait trois petit cochon porc
  • 57. Tri et classement L’objectif du tri est de proposer un ordre des résultats selon un critère déterminé par l’utilisateur La pertinence est un type de tri qui vise à proposer un ordre de classement qui semble le plus pertinent au regard de la requête et de l’ensemble des résultats. La pertinence est une notion largement subjective…. La pertinence est calculée à partir d’un ensemble de critères propres comme la fréquence d’un terme (TF-IDF), degré de similarité, la pondération de la provenance des mots, page rank…
  • 58. Filtres et facettes Afin de naviguer dans un ensemble de résultats ou de préciser sa requête, les moteurs de recherche propose des facettes, c’est-à-dire des ensembles de valeurs distinctes construits à partir des attributs du document.
  • 60. LES BASES DE DONNÉES BASÉES SUR LE MODÈLE DE GRAPHE
  • 61. Les triplestores RDF Les triplestores RDF permettent de stocker des triplets RDF et de les interroger grâce au langage de requête SPARQL normalisé par le W3C. PREFIX wd: <http://www.wikidata.org/entity/> PREFIX wdt: <http://www.wikidata.org/prop/direct/> SELECT ?ecrivain ?ecrivainLabel ?lieu ?lieuLabel WHERE { wd:Q535 wdt:P19 ?lieu. ?ecrivain wdt:P106 wd:Q36180. ?ecrivain wdt:P19 ?lieu. SERVICE wikibase:label { bd:serviceParam wikibase:language "fr". } } Exemple de requête SPARQL pour retrouver dans Wikidata les écrivains nés dans la même ville que Victor Hugo Open Source Blazegraph RDF4J Apache Jena Cliopatria Halyard Freemium Open Link Virtuoso Propriétaire Ontotext GraphDB Stardog Marklogic AllegroGraph AnzoGraph Oracle Spatial and RDF knowledge Graph
  • 62. Les bases de données « property graph » Open Source Blazegraph Janusgraph OrientDB Freemium Neo4J ArangoDB Grakn.ai DGraph Propriétaire Stardog AnzoGraph Datastax Enterprise Graph Les bases de données orientés graphe stockent des graphes modélisés selon le modèle des « property graph ». Il n’existe pas de langage de requête normalisé mais deux se détachent : Gremlin qui fait partie du framework Apache Tinkerpop et Cypher mis au point par la société Neo4J. g.V().has("name","gremlin"). out("knows"). out("knows"). values("name") Exemple de requêtes Gremlin pour retrouver le nom des amis des amis de Gremlin MATCH (charlie:Person { name:'Charlie Sheen' })-[:ACTED_IN]- (movie:Movie) RETURN movie Exemple de requêtes Cypher pour retrouver les films dans lesquels joue Charlie Sheen
  • 64. Comment interroger en une requête des bases hétérogènes ? Plutôt que de répliquer les données dans un entrepôt de données, l’objectif des solutions de « virtualisation » de données est d’offrir un infrastructure capable d’interroger les différentes bases quel que soit leur type via une seule requête. Positionnement de la solution Open Source Dremio Dremio, Denodo, Informatica Data Virtualization, Red Hat Data Virtualization, Tibco Data Virtualization https://www.synaltic.fr/blog/dremio-federation-de-donnees-self-service/
  • 66. Comment choisir le bon système de stockage ? Le choix doit reposer sur les performances attendues au regard de la structure et la nature des données et des types d’interactions attendus en lecture et en écriture Performances attendues Périmètre de données Type d’interactions
  • 67. Forces et faiblesses des différents systèmes de bases de données Base de données relationnelles Base de données document Base de données graphes Moteur de recherche • Beaucoup de lecture/écriture • Données très structurées • Garantie de la transaction • Peu ou pas de mise à jour • Données semi structurées • Montée en charge sécurisée en volume de données • Données très structurées • Inférences sur les données • Respect de la logique des données • Requête plein texte • Rapidité des réponses • Montée en charge pour le nombre d’utilisateurs Il n’existe pas une base de données idéale, chacune présente ses forces et ses faiblesses.
  • 68. Stockage primaire vs Stockage secondaire Stockage primaire Stockage secondaire Contraintes techniques : Haut niveau de résilience attendu Doit assurer l’intégrité et la qualité de la donnée Contraintes techniques : Accès fréquent en lecture Synchronisation avec le primaire Data Principalement accès en écriture Synchronisation Principalement accès en lecture Rôle du stockage primaire : Il sert d’entrepôt de référence de toutes les données du périmètre et assure la gestion des relations entre celles-ci Rôle du stockage secondaire : Il est principalement un système d’exposition du stockage primaire, permettant aux utilisateurs une forte interactivité avec les données de références Usages : Accès fréquent en écriture Requêtes basiques mais la gestion doit être performante Usages : Moteur de recherche Exposition des données Requêtage complexe Un des moyens de choisir la bonne base de données est d’identifier suivant les cas d’usage un stockage primaire et un stockage secondaire.
  • 69. Architecture du lac de données de l’inaL’objectif est de déployer une infrastructure de stockage centralisée capable de répondre à tous les cas d’usage en proposant à la fois les différents types de bases de données et les mécanismes de traitement des données. http://www.lespetitescases.net/comment-mettre-la-donnee-au-coeur-du-si https://www.youtube.com/watch?v=KYOzoRPks8Q
  • 70. Cloud ou pas ? Tous les grands opérateurs de services dans le Cloud propose des solutions de bases de données. Leur promesse : la supervision, la disponibilité, la maintenabilité, les montées de version, la gestion de la montée en charge… bref, tout ce qui rend la gestion de bases de données complexes… Google Cloud Amazon AWS Base de données relationnelles Cloud Spanner Cloud SQL Amazon relational Database service Amazon Aurora Base de données orientée colonnes Cloud BigTable Hybride Google BigQuery Amazon Redshift Base de données documents Cloud Firestore Amazon DocumentDB Moteur de recherche Amazon CloudSearch Amazon ElasticSearch service Base de données orientée graphes Cloud BigTable + JanusGraph Amazon Neptune Solutions proposées nativement par les grands opérateurs de Cloud
  • 71. Cloud ou pas ? Alors, faut-il y aller ? N’est-ce pas dangereux d’abandonner une partie de la maîtrise des données ? Ça dépend de la criticité de vos données, des volumétries engagés, du nombre d’utilisateurs, des performances attendues, de la capacité de votre réseau et des ressources internes dont vous disposez. Microsoft Azure IBM Cloud Base de données relationnelles SQL Server Azure SQL Database Azure Database for MariaDB Azure Database for PostgreSQL Compose for MySQL IBM Cloud Database for PostgreSQL IBM DB2 on Cloud Base de données orientée colonnes Compose for ScyllaDB Hybride Azure Cosmos DB Base de données documents Azure Cosmos DB Compose for MongoDB Cloudant Compose for rethinkDB Moteur de recherche Azure Search Compose For elasticSearch Base de données orientée graphes Azure Cosmos DB Compose for JanusGraph