MLTV est désormais en direct ! Nouvelles vidéos, nouveau hub de contenu.

Représentation de la base de données multi-modèle

Les bases de données multi-modèles proposent une solution sophistiquée au défi que représente la gestion de données hétérogènes. Contrairement à la persistance polyglotte, où une application intègre plusieurs modèles de base de données, une base de données multi-modèle prend naturellement en charge plusieurs modèles de données dans leur forme native à l'aide d'un serveur principal intégré unique. Alors que la persistance polyglotte se traduit par des silos de données et de multiples interfaces qui nécessitent des flux de travail d'intégration complexes, une base de données multi-modèle facilite l'intégration des données et fournit une interface unifiée pour la cohérence, la sécurité et l'accès aux données.

Imaginez simplement à quel point votre architecture de données peut être simplifiée en modélisant des entités (comme le dossier médical d'un patient) à l'aide de la bonne combinaison de modèles de données dans une base de données multi-modèle au lieu d'utiliser la persistance polyglotte, qui nécessitera l'orchestration de divers services par applications pour maintenir la cohérence et la sécurité des données en vue de leur utilisation par les utilisateurs finaux.

Autres fonctionnalités du serveur multi-modèle MarkLogic Server

MarkLogic Server est une base de données multi-modèle qui combine les avantages des modèles documentaires, graphiques sémantiques, géospatiaux et relationnels en une base de données opérationnelle unique, évolutive et haute performance. Il fournit un stockage natif pour les formats JSON, XML, texte, triplets RDF, géospatiaux et binaires (par exemple, PDF, images, vidéos) avec une interface de recherche unifiée. Par conséquent, vous avez la possibilité de choisir la bonne combinaison de modèles de données pour votre cas d'utilisation sans sacrifier la cohérence des données. Par exemple, vous pouvez créer une vue à 360° fiable de vos entités commerciales (comme les clients, etc.) pour activer plusieurs cas d'utilisation (comme les programmes de fidélité, la personnalisation, etc.).

Trois façons de représenter une personne : un document, des triplets RDF et une vue relationnelle
Sur cette illustration, vous pouvez voir un document décrivant une personne, Jen et des triplets qui décrivent les faits et les relations de Jen. Vous pouvez aussi, si vous le souhaitez, représenter Jen en vue relationnelle.

Comment l'approche multi-modèle améliore-t-elle l'intégration des données ?

La capacité de stocker et d'interroger plusieurs modèles de données dans des bases de données multi-modèles se traduit par une flexibilité, une efficacité opérationnelle et une agilité DevOps sans précédent lors de l'intégration de données provenant de silos. Par exemple, les bases de données relationnelles vous obligent à définir un schéma uber convenu à l'avance et à mapper toutes vos données source à l'aide de processus ETL lourds qui sont difficiles à gérer, à mesure que les besoins de l'entreprise évoluent. En revanche, les bases de données multi-modèles sont indépendantes des schémas, si bien que plusieurs schémas (ou modèles de données) peuvent coexister et que vous pouvez faire évoluer le schéma de manière flexible pour répondre rapidement aux nouveaux besoins de l'entreprise.

En tant que base de données multi-modèle, MarkLogic Server facilite le chargement des données en l'état et offre la flexibilité nécessaire pour effectuer des changements itératifs plus rapidement, tout en préservant le lignage, la provenance et d'autres métadonnées. Vous pouvez ajouter des sources de données selon vos besoins, charger des données structurées et non structurées, et apporter des modifications au schéma pour activer de nouveaux cas d'utilisation sans impact sur les applications existantes ni ré-ingestion des données source. C'est pour cette raison que MarkLogic Server constitue la base de la plate-forme de hub de données MarkLogic pour intégrer, conserver et gérer des données multi-structurées. Il permet d'intégrer des données de tout type (comme IoT, Clickstream, Mainframe, ERP, etc.) à partir de n'importe quelle source (comme Oracle, SQL Server, Teradata, Hadoop etc.).

Quelles sont les principales fonctions d'une base de données multi-modèle ?

Une base de données multi-modèle prend en charge plusieurs modèles de données, index et langages de programmation pour activer plusieurs cas d'utilisation, tout en offrant un modèle unifié de sécurité, de gouvernance et de cohérence des données. Avec MarkLogic Server, vous constatez les points suivants :

Le modèle de base de données centrée sur les documents est le modèle de données NoSQL le plus flexible et le plus apprécié. Les documents sont parfaitement adaptés pour gérer des données hiérarchiques variées et complexes. Ils sont lisibles par les utilisateurs, s'adaptent au modèle conceptuel ou commercial des données et évitent les problèmes de décalage d'impédance que rencontrent les bases de données relationnelles.

Qu'il s'agisse d'objets Java représentant des entités commerciales ou d'un texte libre d'un « document » plus traditionnel (documents Microsoft Word, PDF, etc.), ils sont stockés naturellement en tant que documents JSON et XML dans MarkLogic avec une forte cohérence dans MarkLogic Server.

Pour accéder aux documents et les partager en toute sécurité, MarkLogic Server fournit un moteur de recherche intégré, des contrôles de sécurité au niveau des documents et des éléments, des politiques de rédaction, et bien plus encore. Le moteur de recherche indexe automatiquement les documents pour une recherche en texte intégral lors de l'ingestion et vous donne la possibilité de définir des index supplémentaires (par exemple, des index de plage, des index géospatiaux) et de personnaliser le classement par pertinence. Ces fonctionnalités, ainsi que plusieurs autres prêtes à l'emploi (comme les facettes, les snippets, etc.) vous permettent de créer rapidement des applications de recherche avancée.

En résumé, voici les principaux avantages que présente l'utilisation du modèle de base de données centrée sur les documents :

  • Développement rapide
  • Schema-agnostic
  • Données « dénormalisées »
  • Utilise tous les attributs
  • Requêtes en contexte
  • Idéal pour l'intégration des données

Les documents sont parfaitement adaptés pour stocker des entités commerciales, mais lorsqu'il s'agit de relations d'entité, un modèle de base de données de graphique sémantique (autre modèle NoSQL prisé) est plus adapté. Il est conçu pour stocker et gérer les relations entre les personnes, les clients, les fournisseurs, ou tout autre entité digne d'intérêt.

En outre, MarkLogic Server fournit un modèle de données de graphique sémantique sous la forme d'une unité de stockage de triplets RDF intégrée, qui stocke et gère les données sémantiques. Nous nommons cette fonctionnalité la sémantique MarkLogic. La sémantique améliore le modèle centré sur les documents en fournissant un moyen intelligent de connecter et d'améliorer les documents JSON et XML. Cela facilite l'intégration des données et permet des recherches plus puissantes pour détecter les relations et effectuer des inférences.

La sémantique fournit également un contexte à vos données en stockant des métadonnées (par exemple, des ontologies). On peut par exemple imaginer un catalogue de produits qui regroupe des informations sur des pièces et que l'une d'elles est répertoriée avec une taille « 42 ». Il manque les informations contextuelles : quelle est l'unité de « 42 » ? Quelle est la tolérance ? Qui a effectué cette mesure ? Quand la mesure a-t-elle été effectuée ? Ces informations contextuelles constituent les données sémantiques, qui peuvent être stockées sous forme de triplets RDF dans MarkLogic Server.

Tout comme le modèle de document, le moteur de recherche intégré de MarkLogic Server indexe les triplets RDF pour une exécution rapide des recherches sémantiques à l'aide de requêtes SPARQL. Vous pouvez facilement composer des requêtes complexes qui combinent des recherches sémantiques et documentaires pour détecter des informations.

Le modèle de données centré sur les documents permet de stocker des données géospatiales avec une grande souplesse. MarkLogic Server peut stocker, gérer et rechercher en natif les données géospatiales, notamment les points d'intérêt, les chemins qui se croisent et les régions dignes d'intérêt. Cela vous permet de répondre à la question « où ? » dans le contexte de toutes vos autres données (entités, relations, etc.).

Le moteur de recherche intégré de MarkLogic Server indexe les données géospatiales pour alimenter les requêtes de recherche géolocalisées et les alertes pour les applications géospatiales. Découvrez comment les clients utilisent Geospatial pour implémenter de puissantes applications de recherche géolocalisées.

Les modèles de données relationnels sont utiles pour une bonne raison. Il est parfois pratique d'obtenir des vues structurées de vos données sous forme de tableau que vous pouvez interroger avec le bon vieux SQL. Avec MarkLogic, vos développeurs ne seront pas perdus.

MarkLogic Server prend en charge SQL. Il vous permet de créer des vues relationnelles au-dessus de vos données pour l'analyse SQL, sans compromettre la sécurité des données. Les données sous-jacentes ne changent jamais : elles restent disponibles dans leur format d'origine dans MarkLogic Server.

La technologie qui permet ce niveau de prise en charge SQL est unique et exclusive à MarkLogic Server. Cette technologie se nomme extraction pilotée par modèle (TDE). Elle vous permet de définir un objectif relationnel sur l'ensemble de vos données (ou entités) afin de pouvoir les interroger en utilisant SQL. Par conséquent, vous pouvez utiliser des outils de stratégie d'entreprise familiers pour l'analyse opérationnelle.

Les bases de données multi-modèles fournissent une interface de recherche unifiée pour interroger plusieurs modèles de données à l'aide d'index intégrés. En général, vous devez choisir et gérer des index spécifiques pour chaque type de données. En revanche, MarkLogic Server possède une suite d'index intégrés qui permet l'accès rapide aux données dès le chargement. Une base de données multi-modèle fonctionne plus comme Google : Google n'exige pas qu'une page Web soit dans un format particulier, il se contente de l'indexer et de la rendre accessible via une interface de recherche unifiée.

Le moteur de recherche intégré de MarkLogic Server indexe tous les types de données et fournit des performances de recherche exceptionnelles. Par conséquent, les utilisateurs peuvent, à l'aide d'une seule requête personnalisable, chercher rapidement des données dans plusieurs modèles de données. Par exemple, vous pouvez combiner des requêtes sémantiques et de recherche pour trouver les patients qui ne sont pas assurés et qui souffrent d'une maladie chronique.

Les bases de données multi-modèles fournissent des langages de requête et des API standard pour stocker de manière flexible les données et y accéder pour tous les modèles de données pris en charge. Avec MarkLogic Server, les utilisateurs peuvent interroger des données à l'aide de Search, SQL, SPARQL ou de l'API REST. Il prend également en charge plusieurs langages de programmation comme JavaScript, Node, Java et XQuery.

En tant que véritable base de données multi-modèle, MarkLogic Server fournit également son API Optic comme interface de requête unifiée pour l'accès aux données multi-modèle. Il offre un accès flexible et facile aux données sur tous les modèles de données. Vous pouvez créer une requête unique et personnalisable sur des documents, des vues relationnelles et des graphiques sémantiques (avec n'importe quelle combinaison). Par exemple, vous pouvez utiliser l'API Optic pour rechercher et filtrer des documents, exécuter des opérations relationnelles (comme une association ou une agrégation) et récupérer (ou créer) des documents en sortie. Essayez un peu de faire cela avec une autre base de données multi-modèle !

Une base de données multi-modèle complète la flexibilité offerte par la modélisation des données et son interface de requête unifiée avec un modèle unique de sécurité des données, de gouvernance et transactionnel. En tant que plate-forme de données unifiée, elle augmente la productivité et l'efficacité opérationnelle des développeurs.

Véritable base de données multi-modèle, MarkLogic Server fournit un modèle unifié de sécurité, de gouvernance et de cohérence des données. Il utilise une architecture de type « shared-nothing » pour fournir évolutivité et disponibilité, et réduit l'impact opérationnel pour le développement, les tests, les mises à niveau, la sauvegarde et la restauration, etc.

Ne vous laissez pas berner par les faux multi-modèles

Ne vous y trompez pas, il existe de faux multi-modèles, car de nombreux fournisseurs promettent des bases de données multi-modèles. Il existe deux types de faux multi-modèles sur le marché :

  • La première catégorie contient les produits qui ne sont en fait que plusieurs produits assemblés, sans couche de stockage et de requête unifiée. Dans ce cas, aucune personnalisation de la recherche n'est possible, une gestion rigoureuse des index est requise, la cohérence des données est généralement inexistante et aucune évolutivité n'est prévue.
  • La deuxième catégorie est constituée de bases de données relationnelles revendiquant un statut multi-modèle. Elle est actuellement à la mode car les véritables bases de données multi-modèles sont plus fréquemment adoptées, et même Oracle revendique désormais le statut de base de données multi-modèle.

Cependant, si l'on creuse, ces bases de données relationnelles sont toujours relationnelles, pas vraiment multi-modèles. La documentation d'Oracle indique même qu'Oracle 19c ne stocke pas JSON de manière native : « Dans la base de données Oracle, les données JSON sont stockées en utilisant le type de données SQL commun VARCHAR2, CLOB et BLOB (contrairement aux données XML, qui sont stockées en utilisant le type de données SQL abstrait XMLType). » Par conséquent, afin de récupérer une valeur, la totalité du document JSON doit être parcourue pour localiser les données. Cette opération prend du temps. Il existe deux approches recommandées par Oracle pour améliorer les performances. La première consiste à extraire les données afin de les placer dans une vue matérialisée, en insérant les valeurs dans une autre table (à savoir, le morcelage). L'autre est un index de recherche JSON, qui ne conserve pas la conformité ACID : il n'est mis à jour que périodiquement lors de son déclenchement. D'autres bases de données relationnelles revendiquant un statut multi-modèle rencontrent des problèmes similaires lorsqu'elles ne stockent pas les types de données NoSQL de manière native.

En général, les charges de travail multi-modèles avec de faux multi-modèles sont complexes et/ou fragiles. En plus de relever des défis simples comme l'interrogation de documents, elles ne sont pas non plus en mesure d'exécuter des fonctions plus avancées comme lier des documents avec des triplets ou interroger XML et JSON ensemble - des tâches qui sont faciles avec MarkLogic Server.

Ressources

White Paper

Repenser la modélisation des données

e-book pour les architectes

Avantages techniques d'une base de données multi-modèle

Formation pour les développeurs

Modélisation multi-modèle de données en 16 minutes

Très complet et conçu pour les entreprises

Ce site utilise des cookies.

En continuant votre navigation sur ce site, vous acceptez l'utilisation de cookies en accord avec la Déclaration de confidentialité MarkLogic.