IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Décisions SGBD Discussion :

HSBC simplifie son modèle de données en passant de 65 BDD relationnelles à une seule base de données MongoDB


Sujet :

Décisions SGBD

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Dirigeant
    Inscrit en
    Juin 2016
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Dirigeant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 3 160
    Points : 66 256
    Points
    66 256
    Par défaut HSBC simplifie son modèle de données en passant de 65 BDD relationnelles à une seule base de données MongoDB
    HSBC, un groupe bancaire, simplifie son modèle de données en passant de 65 bases de données relationnelles
    à une seule base de données MongoDB pour tous les pays

    La semaine passée, Narasimha Reddy, concepteur de données chez HSBC, un groupe bancaire international britannique, a expliqué comment l'organisation cherche à simplifier son approche de la livraison d'applications en migrant de 65 bases de données relationnelles vers une instance mondiale de MongoDB. HSBC est l'une des organisations de services bancaires et financiers les plus reconnues au monde, opérant dans plus de 60 pays et servant plus de 40 millions de clients. Cependant, cette échelle s'accompagne d'une complexité opérationnelle importante, notamment en ce qui concerne la manière dont la banque fournit ses applications et ses modèles de données.

    Reddy a expliqué comment l'image ci-dessous a créé un modèle de données global complexe pour les applications, qui a créé un modèle à coût élevé à chaque étape du cycle de développement logiciel. Cela rend impossible le maintien d'une version de l'application et d'un modèle de données dans le monde des bases de données relationnelles, dit-il.

    Nom : 7E828B1B-EB6F-4EA8-B342-494F66F4C7EE.jpeg
Affichages : 24059
Taille : 47,1 Ko

    Reddy a déclaré que HSBC cherchait à réaliser un modèle de données mondial et, par conséquent, une base de données unique pour tous les pays. Les avantages de ceci incluent des coûts réduits, une flexibilité et la possibilité d'exécuter plus facilement des analyses et des rapports mondiaux (chaque pays fonctionnant sur un modèle de données unique).

    Dans la pratique, cela signifie que chaque pays sera en mesure de maintenir ses exigences de demande individuelle, mais sans avoir à exploiter une base de données de pays unique. Un modèle de données unique est en cours de création, ce qui permet non seulement d'économiser sur les coûts et les ressources pour HSBC, mais lui donne la liberté de faire avancer sa propre conception de modèle de données.

    Comme le montre l'image ci-dessus, HSBC avait un environnement de base de programme d'application, qui avait la plupart des fonctionnalités de base d'une application. Mais il ne pouvait pas avoir un seul environnement de programme en cours d'exécution pour tous les pays, en raison des différences dans les modèles de données et les bases de données.

    Selon l'image ci-dessous, HSBC a maintenant une nouvelle architecture selon laquelle plusieurs pays à travers le monde utilisent la même application. C'est maintenant un environnement de service, une base de données et un chemin d'exécution pour tous les pays. Cela est rendu possible grâce au modèle de document de MongoDB et à la possibilité de mapper toutes les différentes exigences de tableau pour chaque pays dans une seule collection, en utilisant des sous-documents. Tout est simplifié en une seule collection en utilisant des identifiants spécifiques au pays.

    Nom : 04D1F285-74A4-42AC-A704-6055EC5AF5E0.jpeg
Affichages : 5020
Taille : 36,1 Ko

    « Les exigences locales pour chaque pays seront intégrées dans l'application, mais il n'est plus nécessaire de maintenir des modèles de données ou des bases de données distincts. Nous pourrions facilement concevoir le modèle de données global et la base de données en utilisant le modèle de schéma MongoDB JSON. Cela rassemble les données de tous les pays dans une seule base de données et l'application peut fonctionner sur une seule base de données. Ce qui représente beaucoup de réduction des ressources et des coûts de maintenance.

    Un autre avantage est d'utiliser la même base de données pour l'analyse des données et les rapports globaux. Nous n'avons pas besoin de traduire dans un autre modèle de données ou une autre base de données pour exécuter l'analyse et les rapports à partir de ces données particulières. Tout cela entraîne de grandes économies de ressources et de coûts. J'ai appris en utilisant MongoDB que lorsqu'une base de données est sans schéma et fournit des requêtes et une indexation puissantes, je pilote la conception de mon modèle de données, pas la base de données », dit-il pour conclure.

    Les internautes ne partagent pas le point de vue de Narasimha Reddy. Pour eux, un ensemble de microservices partageant une instance de base de données est un peu un anti-modèle.

    Source : Diginomica

    Et vous ?

    Qu'en pensez-vous ?
    Êtes-vous pour ou contre l'utilisation de MongoDB pour un tel projet ? Pourquoi ?
    Selon vous, MongoDB est-il adapté pour un tel projet ?
    Quel SGBD recommanderiez-vous pour un tel projet et pourquoi ?

    Voir aussi

    MongoDB 4.4, Atlas Data Lake, Atlas Search et MongoDB Realm aident les entreprises à réduire la prolifération des données et donnent aux développeurs un moyen efficace de travailler avec les données

    Après Debian, Red Hat supprime MongoDB de RHEL 8 et Fedora à cause de sa licence SSPL dont le statut de licence libre ou open source est contesté

    MongoDB : comment éviter les attaques qui prennent en otage vos données ? Un billet de l'entreprise pour essayer d'endiguer ce phénomène

    MongoDB annonce l'abandon d'AGPL pour une nouvelle licence autour de laquelle la désignation open source fait débat
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    C'est bien.... Comme ça les clients français vont se retrouver mélanger avec les clients des autres pays et le tout sur un cloud US.....

    Donc, la NSA et le FBI pourront avoir accès aux données des comptes bancaires français en toute légalité !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Comme ça les clients français vont se retrouver mélanger avec les clients des autres pays
    Je doute fortement que les ingé de HSBC n'aient pas pensé à ça.

    Citation Envoyé par SQLpro Voir le message
    et le tout sur un cloud US.....
    J'ai peut-être raté un truc mais c'est indiqué où ? Et de toute façon, ça n'a rien à voir : leurs bases précédentes étaient peut-être toutes dans du cloud US ou dans un datacenter US.

    Citation Envoyé par SQLpro Voir le message
    Donc, la NSA et le FBI pourront avoir accès aux données des comptes bancaires français en toute légalité !
    Oui, alors qu'avec Sql Server, ça aurait été beaucoup plus protégé...

  4. #4
    Membre régulier
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Décembre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Décembre 2009
    Messages : 40
    Points : 83
    Points
    83
    Par défaut Et l'ACID ?
    Je me demande comment une banque (qui est - pas hsbc - à l'initiative des BDD relationnel) peut allez vers une bdd comme mongodb.
    Parce que la cohérence de donnée ne peut pas être aussi bien assuré, même avec une bonne application maître, et d'après le diagramme ils sont en connexion parallèle dessus donc pas de cohérence. Ou alors ils sont développer des outils satellites pour gérer des problèmes spécifiques.
    À moins qu'il fasse de simples écritures de transaction bancaire et quelques workers pour faire des calcules.

    En tout cas ça m'intrigue.

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 789
    Points
    30 789
    Par défaut
    [Hors Sujet]
    HSBC et la rigueur des transactions bancaires, c'est toute une histoire.
    [/Hors Sujet]
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    794
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 794
    Points : 987
    Points
    987
    Par défaut
    Citation Envoyé par SimonDecoline Voir le message
    Je doute fortement que les ingé de HSBC n'aient pas pensé à ça.



    J'ai peut-être raté un truc mais c'est indiqué où ? Et de toute façon, ça n'a rien à voir : leurs bases précédentes étaient peut-être toutes dans du cloud US ou dans un datacenter US.



    Oui, alors qu'avec Sql Server, ça aurait été beaucoup plus protégé...
    En fait il ne parle pas du moteur de base de données mais de leur localisation

  7. #7
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Surtout on n'a pas le contexte sur le type d'application concernée.
    Car une banque ça va des comptes bancaires bien entendu aux outils de blogging interne pour les RH.

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 506
    Points : 1 289
    Points
    1 289
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Surtout on n'a pas le contexte sur le type d'application concernée.
    Car une banque ça va des comptes bancaires bien entendu aux outils de blogging interne pour les RH.
    Oui je ne suis pas sûr de vraiment comprendre l'article.

    Est-ce qu'on parle de l'ensemble de TOUTES les données HSBC ?

    Dans ce cas je ne serais pas surpris de voir un article dans 2 ans présentant la migration inverse ... (vers SQL Server ou PostGreSQL ou DB2 ou Oracle)

    Par contre si les 65 DB représentent en fait un sous-ensemble plus "documentaire" tel que des données marketing client alors oui ok MongoDB unique mais bon ...

  9. #9
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Surtout, y'a un truc que je pige pas trop...

    Le titre parle de "modèle de données".
    Chez moi un modèle de données, ça vient tout droit de la modélisation MERISE (puis UML), et ça parle du modèle logique (ou physique) des données.
    Wikipedia semble d'accord avec moi : https://fr.wikipedia.org/wiki/Mod%C3...e_donn%C3%A9es

    C'est à dire des notions abstraites sans aucun rapport avec le support (SGBD, serveur, localisation). Simplement que quelque soit l'application, la base ou le pays, la table "client" est la même (en termes de structure).

    Alors que l'article parle de la recentralisation de bases déportées... je ne vois pas la rapport.
    D'autant que les modèles de données hétérogènes semble conservés... ce qui va à l'encontre du bon sens dans un tel scénario : si je mets toutes les données au même endroit, c'est pour faciliter leur consolidation... ça commence donc par une harmonisation de leur structure !

    Et sinon, pour en revenir à la remarque de SQLPro, HSBC gère des données bancaires, et effectivement, au même titre que les données de santé, la RGPD est très restrictive en termes de stockage de ces données hors UE.
    A l'inverse, je doute que les américains acceptent de stocker leurs données bancaires dans un pays communiste tel que la France...

    Bref, on parle de leur Facebook d'entreprise, ou de la tenue des comptes bancaires ?
    On ne jouit bien que de ce qu’on partage.

  10. #10
    Inactif  

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3 064
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 064
    Points : 4 605
    Points
    4 605
    Par défaut
    Bonsoir,

    Juste pour info HSBC c'est HongKong Shanghai Bank Corporation ... donc Chinois ...

    HSBC simplifie son modèle de données en passant de 65 BDD relationnelles à une seule base de données MongoDB

    Qu'en pensez-vous ?
    Entre les activités bancaires, boursières, de holding, de crédit, de prévoyance santé , de prévoyance retraite, d'épargne salarial, les services divers ... ajoutez à cela la fiscalité et le fonction institutionnel/administratif de chaque pays. J'aimerai bien voir la tronche du truc !

    Quid aussi des ODI , datawarehouse et datamart ?

    Êtes-vous pour ou contre l'utilisation de MongoDB pour un tel projet ? Pourquoi ?
    Ni pour , ni contre. Chaque logiciel de BDD a ces spéc d'utilisation (SQL Server, MYSQL, ORACLE ... )

    Quel SGBD recommanderiez-vous pour un tel projet et pourquoi ?
    SQL Server ou Oracle ou AS400 , j'ai déjà vu pour du super lourd . La BDD de la sécu en France tourne bien sur du Oracle. +/- 100 millions d’users enregistrés et +/- 80 millions de profils actifs.

  11. #11
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tanaka59 Voir le message
    Juste pour info HSBC c'est HongKong Shanghai Bank Corporation ... donc Chinois ...
    Faux, c'est anglais.

    Ca a été fondé effectivement à Hong Kong, mais par un anglais.
    Et maintenant le siège social est à Londres.

    https://fr.wikipedia.org/wiki/HSBC
    On ne jouit bien que de ce qu’on partage.

  12. #12
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 065
    Points : 2 567
    Points
    2 567
    Par défaut
    HSBC c'est une banque de filoux


    Ce qui me pose question.
    Si la base est mondiale, contenu que le groupe est implemté partout.
    Le soleil ne ce couche jamais dessus, comme c'était pour l'empire britanique.

    Ils vont les faire quand les batch et les opérations de maintenances ?
    Consultez mes articles sur l'accessibilité numérique :

    Comment rendre son application SWING accessible aux non voyants
    Créer des applications web accessibles à tous

    YES WE CAN BLANCHE !!!

    Rappelez-vous que Google est le plus grand aveugle d'Internet...
    Plus c'est accessible pour nous, plus c'est accessible pour lui,
    et meilleur sera votre score de référencement !

  13. #13
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Chez moi un modèle de données, ça vient tout droit de la modélisation MERISE (puis UML), et ça parle du modèle logique (ou physique) des données.
    Wikipedia semble d'accord avec moi : https://fr.wikipedia.org/wiki/Mod%C3...e_donn%C3%A9es

    C'est à dire des notions abstraites sans aucun rapport avec le support (SGBD, serveur, localisation). Simplement que quelque soit l'application, la base ou le pays, la table "client" est la même (en termes de structure).
    D'accord pour le modèle logique (MLD), mais le modèle physique (MPD) est au contraire la déclinaison du modèle logique en fonction du choix du SGBD et des optimisations mises en œuvre par les équipes techniques (DBA notamment).
    Par ailleurs, le modèle de données selon la méthode Merise commence en amont, certes facultativement mais c'est très fortement recommandé, car ça évite bien des erreurs, par le modèle conceptuel (le MCD).

  14. #14
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    D'accord pour le modèle logique (MLD), mais le modèle physique (MPD) est au contraire la déclinaison du modèle logique en fonction du choix du SGBD et des optimisations mises en œuvre par les équipes techniques (DBA notamment).
    Par ailleurs, le modèle de données selon la méthode Merise commence en amont, certes facultativement mais c'est très fortement recommandé, car ça évite bien des erreurs, par le modèle conceptuel (le MCD).
    Mise à part si tu parts sur un SGBD NoSQL, ou des fichiers séquentiels indexés ne supportant pas les clés étrangères ou contraintes, le MPD est le même quelque soit le SGBD-R utilisé.
    Je ne vois pas quelles "optimisations" ou "spécificités" tu vas y trouver.

    Peut-être quelques trucs genre décision entre stockée des données BLOB en base ou sur disque... et encore, j'ai envie de dire, cela n'a pas grand chose à faire dans le MPD : le concepteur n'a pas vraiment à se soucier dans l'implémentation programmatique finale : que la photo de la personne soit stockée dans un fichier ou dans une table, elle n'en reste pas moins membre de la table "personne", et doit apparaître dans le MPD en tant que telle.
    En revanche, je suis d'accord que dans le MLD, on fera apparaître non pas la photo en tant que colonne, mais le nom du fichier, et là, on pourra avoir quelques distinctions d'un SGBD à l'autre.

    Dans tous les cas, la décision d'éclater le modèle en plusieurs bases ne peut pas résulter de la conception, mais de problématiques ultérieures telles que :
    - comme mentionné, le besoin d'avoir des données endormies quelques heures par jour afin de pouvoir faire de la maintenance à froid (youpi, vive les années 90)
    - la nécessité de découper les données trop volumineuses pour une seule base (re-youpi, re-vive les années 90 avec ses disques dur de 80 Mo !)
    - la nécessité légale de séparer certaines des données (RGPD, fichier national des cartes volées, etc.)
    - l'historique de la fusion d'autres entreprises qui se sont greffées avec leur propre SI

    Dans tous les cas, au final, avoir plusieurs bases distinctes c'est plus d'emmerde qu'autre-chose (la preuve).
    Aujourd'hui seul les deux derniers points peuvent se justifier vraiment.
    Et HSBC semble avoir trouvé un moyen (qui me semble cependant plus proche de la verrue plantaire qu'autre-chose) pour faire abstraction de cette séparation des données... d'ailleurs, à mon sens ça ne résous pas du tout le souci du troisième point : si le fichier national des cartes volées ne doit être consultable que par des agences françaises par exemple, compliqué de le restreindre (et de justifier que cette restriction est effective et inviolable) dans un modèle qui expose la donnée au monde entier...
    Idem pour les données RGPD qui ne doivent pas sortir d'UE, compliqué de s'assurer qu'un traitement lancé dans la soupe d'abstraction ne va pas les traiter ailleurs.
    On ne jouit bien que de ce qu’on partage.

  15. #15
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Mise à part si tu parts sur un SGBD NoSQL, ou des fichiers séquentiels indexés ne supportant pas les clés étrangères ou contraintes, le MPD est le même quelque soit le SGBD-R utilisé.
    Je ne vois pas quelles "optimisations" ou "spécificités" tu vas y trouver.
    Non pas du tout, ne serait-ce que les types de données, la gestion des clefs primaires et des index, le partitionnement, le code SQL des vues, le stockage des données tout diffère au niveau du MPD.
    Prenez un MCD ou un MLD et générez-le sur Oracle DB ou MS SQL-Server vous verrez bien.

    Le MPD c'est le code DDL/DML qu'on exécute sur la base pour générer les objets.

  16. #16
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Non pas du tout, ne serait-ce que les types de données, la gestion des clefs primaires et des index, le partitionnement, le code SQL des vues, le stockage des données tout diffère au niveau du MPD.
    Prenez un MCD ou un MLD et générez-le sur Oracle DB ou MS SQL-Server vous verrez bien.

    Le MPD c'est le code DDL/DML qu'on exécute sur la base pour générer les objets.
    Euh, non, un MPD c'est ça :

    https://www.base-de-donnees.com/mpd/

    Et le MLD, c'est le DDL en pseudo-code ne décrivant QUE les colonnes des tables, clés primaires et clés étrangères :

    https://www.base-de-donnees.com/mld/

    L'un ET l'autre n'ont rien à voir avec le SGBD choisi.
    On ne jouit bien que de ce qu’on partage.

  17. #17
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Dans la méthodologie Merise, le MPD (Modèle Physique des Données) fait suite au MCD. Ensuite viendra le MLD.
    Votre source laisse à désirer non ?

  18. #18
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Je regarde quelques articles, et je suis perplexe.

    Soit MERISE a clairement évolué depuis 1998 quand je l'ai appris (ce qui m'étonnerait quelque peut, puisque cette méthodologie est bien plus ancienne et déjà à l'époque critiquée pour sa désuétitude) soit y'a vraiment des gens qui n'ont rien compris (mon prof de l'époque, ou des personnes formées depuis, notamment celle qui a rédigé l'article Wikipedia... qui est au demeurant parfaitement incomplet, manque d'exemples et d'explications... notamment sur la partie MPD qui n'est même pas présent dans l'index de l'article !)

    Vu que j'ai confiance dans mon prof, que je trouve plusieurs sources, et mêmes logiciels qui ont la même définition que moi du MPD, je pense donc que Wikipedia compris, pas mal de monde confond avec une autre notion, probablement héritée de l'UML.

    Pour résumer, en ce qui concerne les données, et uniquement les données (donc pas les traitements) :

    Dictionnaire des données -> Modèle Conceptuel des données -> Modèle Physique des données -> Modèle Logique des données

    Très généralement, on s'arrête au MCD, car le MPD est pour ainsi dire identique et 100% déductible à partir du MCD sans aucune interprétation possible, et le MLD n'a aucun intérêt comparé a un script SQL, si ce n'est être plus concis, car bien plus résumé.

    Le MCD définit donc les entités, contenant les données identifiées dans le dictionnaire, ainsi que les relations (porteuses elles aussi parfois de données) :
    Nom : mcd.png
Affichages : 684
Taille : 7,8 Ko

    Le MPD transforme les entités ainsi que relations porteuses de données en tables, et y indique les références d'intégrité :
    Nom : mpd.png
Affichages : 804
Taille : 5,8 Ko

    Quant au MLD, il sera utile ensuite au moment de la programmation pour visualiser d'un coup dans quelle table se trouve telle donnée du dictionnaire des données... sans plus d'information sur son type notamment, mais tout de même les infos de clés primaires, alternatives et étrangères) :

    client (id, matricule, nom, adresse)
    chambre (id, numero, prix)
    reservation (id, client_id, chambre_id, debut, fin)

    Un DDL/DML est un DDL/DML, je ne vois pas pourquoi MERISE se serait amusé à les renommer... d'autant que MERISE a été inventé avant le SQL !
    On ne jouit bien que de ce qu’on partage.

  19. #19
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 149
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Bon, me voilà rassuré...

    Le cours de Frédéric Brouard parle bien du MPD dans les mêmes termes (avec les inexactitudes en moins) :
    https://sqlpro.developpez.com/cours/...es-donnees-mpd
    => tu verras dans les schémas (que j'ai mis du temps à comprendre ) que la partie haute (MCD, qui ressemble au mien) est transformée en bas en MPD (qui ressemble aussi au mien).

    Et on voit bien que dans le MPD du cours, on parle toujours de "I, A7, etc." et non de "number, varchar2(7), etc."

    Personnellement j'évite de surcharger mes MPD/MCD avec les types, que je préfère indiquer une fois pour toute dans le dictionnaire de données : un seul document à maintenir, c'est plus simple... et plus lisible

    Edit : à noter même que le "vrai" MPD de Frédéric ne mentionne pas la clé technique "id" qui sera probablement créée au moment de l'implémentation dans le SGBD (puisque ça dépend du SGBD, pas de l'analyse, et donc pas de MERISE). Il préfère garder une clé (fonctionnelle) NUMERO_SECU en aplha13 alors que jamais de la vie on n'aura une PK sur un tel champ dans SQL Server, sous peine de plomber les performances. Mais ça MERISE n'en a rien à carrer, donc le MPD aussi. Donc dans mon MPD d'exemple, les ID que j'ai rajouté n'ont même pas lieu d'être. C'est au développeur/DBA que va créer la base de données de les mettre en place. En revanche, qu'ils soient présents ou non ne change rien au modèle des données, ce sont des clés techniques, qui n'ont aucun intérêt et ne figurent pas au dictionnaire des données.
    On ne jouit bien que de ce qu’on partage.

  20. #20
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 761
    Points : 52 547
    Points
    52 547
    Billets dans le blog
    5
    Par défaut
    Puisque je suis cité je vais faire quelques remarques et précisions.
    0) je suis en vacances en plongée et sur un téléphone portable avec un débit de merde don accès très restreint.. Je cite donc de mémoire...
    1) mes articles sur merise ont plus de 20 ans
    2) merise est passé à merise 2, avec l'héritage les associations n-aire, l'association identifiante...
    3) mld et mpd différent en plusieurs points...
    3.1) au niveau du mld il n'y a pas de types de données mais des domaines. Certains sgbdr supportent cette notion (db2, postgres...) d'autres non (oracle...), d'autres encore ont une notion similaire (sql server avec les "types"...)
    au niveau du mpd ce seront donc des domaines où des type suivant la cible. Si ce sont des types, ils différent d'un sgbdr à l'autre. Par exemple oracle ne connaît pas le nchar/nvarchar ni postgresl d'ailleurs...
    3.2) dans un modèle logique, aucun aspect physique ne doit etre abordé. Dans le modèle physique les notions de storage, index, partitions... Doivent être implémentée.
    ...
    4) le mld n'a pas d'intérêt majeur si :
    4.1) un affinement strictement mathématique du modèle n'est pas effectué (dépendances fonctionnelles, règles d'armstrong... Et tout le fourbi).
    4.2) on implémente la base sur un seul serveur cible.
    Dans tous les autres cas, il faut utiliser le mld
    5) le mpd est unique par rapport à un sgbdr cible. Il peut donc y avoir plusieurs mpd si la solution doit être implémentée sur oracle et postgresl par exemple
    6) on oublie trop souvent le med (modèle externe de données) indispensable et hélas incompris... (vues, déclencheurs, udf, procédures...)
    A ➕
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Connexion entre 2 serveurs avec une seule base de données
    Par komat dans le forum Administration
    Réponses: 1
    Dernier message: 02/07/2013, 08h55
  2. Plusieurs connexions à une seule base de données
    Par mabool dans le forum Développement Web en Java
    Réponses: 8
    Dernier message: 26/01/2010, 15h11
  3. Vérifier son modèle de données
    Par arthuro45 dans le forum Outils
    Réponses: 1
    Dernier message: 16/08/2009, 21h53
  4. Fusionner données vers une seule base
    Par stéphane_ais2 dans le forum Access
    Réponses: 3
    Dernier message: 02/04/2008, 22h18
  5. Plusieurs devices de données pour une seule base
    Par The Wretched dans le forum Sybase
    Réponses: 4
    Dernier message: 12/10/2006, 09h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo