Description de la mise à disposition de données

Objective

After completing this lesson, you will be able to expliquez les concepts clés de la mise à disposition de données.

Data Provisioning

Introduction

La mise à disposition de données est un terme très large qui fait référence à l'acquisition de données d'un système source vers un système cible. L'acquisition de mots est préférée, et non le chargement de données car les données peuvent être acquises sans qu'il soit nécessaire de les charger physiquement dans un système cible. En fait, avec les progrès technologiques, le transfert de données dans une entreprise devient de moins en moins courant. Il est souvent beaucoup plus simple de lire les données à distance.

Il existe de nombreuses raisons pour lesquelles la mise à disposition des données est nécessaire. Ils comprennent :

  • Extraire les données des applications de gestion et les charger dans un entrepôt de données central
  • Fournir un accès en temps réel aux sources de données pour l'analyse
  • Distribuer les données d'un système central vers des systèmes régionaux
  • Consolider les données de plusieurs systèmes dans un système central
  • Maintenir les systèmes synchronisés
  • Migrer les données d'un système hérité vers un nouveau système

Dans les scénarios de mise à disposition de données les plus simples, seuls deux systèmes sont impliqués : la source et la cible. Mais il y a souvent plusieurs systèmes impliqués. Par exemple, vous pouvez combiner des données de plusieurs systèmes source dans un seul système cible. Cela peut également aller dans l'autre sens : un seul système source qui répartit ses données dans plusieurs systèmes cibles. Et, enfin, nous pouvons même avoir une combinaison des deux : plusieurs systèmes source consolidant les données et les distribuant à plusieurs systèmes cibles.

Lancez la vidéo ci-dessous pour en savoir plus sur les concepts de base de la mise à disposition de données :

Contrôle de l'application ou de la base de données de la mise à disposition des données

La mise à disposition des données peut être contrôlée par des applications autonomes et spécialisées ou à l'aide des outils intégrés d'une base de données. Considérons chaque approche.

La mise à disposition de données contrôlée par l'application se produit lorsqu'une application dédiée contrôle le flux de données. Ces applications fournissent des outils pour se connecter aux sources de données et aux cibles de données et pour définir des règles de flux de données qui déterminent la manière dont les données se déplacent entre les systèmes. SAP Data Services, SAP Landscape Transformation et SAP Datasphere sont des exemples d'applications de mise à disposition de données dédiées.

Avec cette approche pilotée par l'application, l'application extrait les données d'une base de données source et les charge dans une base de données cible. Les règles d'extraction, la logique d'exécution et les méthodes de chargement sont gérées par l'application. Considérez l'application de mise à disposition des données comme l'orchestrateur du mouvement de données entre les systèmes. Dans certains cas, l'application de mise à disposition de données extrait les données source et les stocke temporairement, avant de les envoyer dans le système cible. Cela se trouve souvent dans les cas où plusieurs sources de données doivent être combinées et une zone intermédiaire est nécessaire pour synchroniser les données, qui peuvent arriver à des moments différents.

L'une des principales raisons d'utiliser une application de mise à disposition de données dédiée est lorsque vous travaillez avec plusieurs sources de données qui utilisent différentes technologies ou proviennent de différents fournisseurs. Ces applications dédiées peuvent généralement traiter des données de n'importe quelle source, par exemple des bases de données, des fichiers CSV, des fichiers JSON et des services Web. Certains peuvent même se connecter directement aux applications de gestion, par exemple, des extraits SAP BW/4HANA de SAP S/4HANA au niveau de l'application et non des tables de base de données. Dans ce cas, la logique de flux de données est créée à un niveau supérieur à la technologie de stockage physique.

Cette diapositive montre comment fonctionne la mise à disposition de données contrôlée par l'application.

Examinons maintenant la mise à disposition de données contrôlée par la base de données.

L'exigence de base est que la base de données fournisse les outils de mise à disposition de données. Le type le plus simple d'outil de mise à disposition de données peut être un outil d'exportation et d'importation pour déplacer des données d'une base de données à une autre. Mais certaines bases de données, y compris SAP HANA, fournissent des outils sophistiqués pour gérer des scénarios de mise à disposition de données complexes tels que ceux qui nécessitent de combiner des données, de valider des données et d'enrichir des données. En utilisant les outils intégrés d'une base de données pour gérer la mise à disposition des données, vous n'avez pas besoin d'implémenter des applications de mise à disposition de données distinctes, comme nous l'avons décrit précédemment. Cette approche prend en charge une infrastructure plus simple.

Travailler avec des outils fournis par la base de données est ce que nous entendons par mise à disposition de données contrôlées par la base de données. Le flux de données est contrôlé à l'aide d'outils qui font partie de la base de données.

Cette diapositive montre comment la mise à disposition de données contrôlée par la base de données peut être utilisée.

Ce cours couvre les outils de mise à disposition de données intégrés de SAP HANA sur site et SAP HANA Cloud.

Capture des modifications de données

Considérez le scénario suivant : vous avez implémenté une application de reporting qui s'exécute sur une base de données SAP HANA. L'application de reporting est utilisée par la direction pour analyser les dépenses de la société. Vous décidez de charger quotidiennement les transactions de commande d'achat de votre application d'approvisionnement vers la base de données cible SAP HANA. Vous commencez par extraire l'ensemble des enregistrements de commande d'achat de l'application d'approvisionnement et vous les chargez dans la base de données cible SAP HANA. Les données source et les données cible sont désormais synchronisées. Mais ce n'est que pour un moment. En effet, le jour suivant, de nouveaux enregistrements d'approvisionnement sont ajoutés à la base de données source, certains enregistrements existants sont modifiés et certains enregistrements sont supprimés.

Ainsi, que faut-il charger la prochaine fois à partir de la base de données source pour garantir que les bases de données source et cible sont synchronisées ? L'ensemble de données complet ou seulement les modifications ?

Bien sûr, vous pouvez supprimer toutes les données dans la base de données cible et recharger tous les enregistrements. Cela signifie que vous êtes de nouveau synchronisé. Mais cette approche serait plutôt inutile, surtout si un ou deux enregistrements seulement avaient été modifiés dans un très grand ensemble de données. Imaginez qu'aucun enregistrement n'ait changé. Supprimer le contenu des tables, puis les recharger n'est pas très intelligent et représente un gaspillage de ressources système. De plus, il est risqué de supprimer des ensembles de données entiers car si quelque chose tournait mal lors du rechargement, vous risquez de vous retrouver sans données.

Une approche plus efficace consiste à capturer uniquement les modifications apportées aux enregistrements et à mettre à jour la base de données cible uniquement avec les modifications. La capture des modifications apportées aux enregistrements est souvent appelée chargement delta. Il est également appelé capture des données de modification (CDM).

Cette diapositive montre comment fonctionne la capture des modifications de données.

Comment identifier les enregistrements qui ont été modifiés dans l'application source ?

Certaines sources de données fournissent des fonctionnalités de capture des données de modification (CDM) intégrées. Cela signifie que la responsabilité d'identifier les enregistrements modifiés incombe au système source. Votre mécanisme d'extraction de données demande simplement les données delta du mécanisme de capture des données de modification au lieu d'un chargement complet. Mais toutes les sources ne fournissent pas une fonctionnalité CDM, vous devez donc trouver un autre moyen de sélectionner les enregistrements qui ont changé par rapport à ceux qui ne l'ont pas fait.

Différentes techniques sont disponibles, notamment :

  • Lisez le redo log du système source (s'il en a un). C'est ici que sont collectées les modifications apportées à la base de données.
  • Configurez des déclencheurs sur les tables du système source qui se déclenchent lorsqu'un enregistrement est modifié, afin qu'il puisse être envoyé au système cible.
  • Indiquez un champ dans l'enregistrement source, tel qu'un horodatage, qui capture l'heure de la modification de l'enregistrement afin que nous puissions identifier les enregistrements récemment modifiés et filtrer ceux que nous ne voulons pas. De nombreuses applications incluent déjà un tel domaine.
  • Utilisez les outils de comparaison de données souvent fournis par le logiciel de mise à disposition de données pour comparer les tables source et cible. L'outil peut alors isoler les différences afin que seuls ces enregistrements soient mis à jour dans le système cible.

Enfin, dans le contexte de la capture des données de modification, vous devez connaître le terme instantané. Ce terme est souvent utilisé lors de la description de la mise à disposition de données.

Un instantané est une capture complète de toutes les données du système source à un moment précis. L'une des raisons pour lesquelles nous utilisons des instantanés est de conserver un ensemble de données pendant une période avant qu'il ne soit écrasé par de nouvelles données. Par exemple, nous pouvons charger un instantané des données à la fin du mois pour capturer la position de nos commandes. Nous pourrions alors répéter l'instantané à la fin du mois suivant. Les instantanés nous donnent un ensemble de données stable sur lequel nous pouvons travailler. Parfois, nous conservons même les instantanés pour construire une histoire. Mais si nous décidons de conserver nos instantanés, la croissance des données doit être prise en compte, en particulier si l'instantané inclut votre ensemble de données complet.

Dans ce cours, vous découvrirez les fonctionnalités de SAP HANA concernant la capture des données de modification.

Types de mise à disposition de données

Virtualisation des données

Comme indiqué précédemment, la mise à disposition des données ne signifie pas toujours que nous devons charger les données dans un système cible. Les données peuvent être lues à partir d'un système source et fournies à un système cible au moment où les données sont nécessaires. Lorsque le système cible a fini de lire les données, la connexion est interrompue et aucune donnée n'est déplacée. C'est ce que l'on appelle la virtualisation des données. Elle peut également être appelée fédération de données, en particulier lorsque vous avez un réseau de systèmes connectés à l'aide de cette technique.

Cette diapositive explique la visualisation des données.

L'une des principales raisons de prendre en compte cette approche est lorsque les données changent fréquemment et que vous voulez vous assurer que seule la dernière version des données est lue. En outre, il se peut que les données source ne soient lues que très occasionnellement, il n'est donc pas judicieux d'en faire une copie en les chargeant continuellement et en remplissant un système cible.

L'une des préoccupations liées à la virtualisation des données est que les performances peuvent ne pas être satisfaisantes car les données doivent circuler sur le réseau chaque fois qu'une application cible en a besoin. Cela peut ne pas poser de problème alors que les volumes de données sont faibles, mais, comme nous le savons, les volumes de données augmentent généralement au fil du temps, de sorte que ce qui peut commencer comme une solution réalisable peut rapidement devenir inexploitable. Cependant, la virtualisation des données doit toujours être prise en compte avant de prendre la décision de déplacer les données vers un système cible.

Réplication de données

Lorsque les données doivent être synchronisées entre les systèmes, c'est lorsque vous implémentez la réplication de données. Les données sont copiées d'un système à un autre, généralement sans modification. L'idée est que le système cible capture les données au fur et à mesure qu'il change dans le système source, de sorte que les applications exécutées dans le système cible utilisent toujours les données les plus récentes. La réplication a lieu en temps réel (synchrone) ou presque en temps réel (asynchrone).

Cette diapositive explique la réplication des données.

La réplication est une option populaire lorsque la virtualisation n'est pas un bon choix, et également lorsque les données ne nécessitent pas de transformation ou d'agrégation avant leur chargement dans un système cible.

Lorsque vous répliquez des données, vous devez surveiller attentivement les volumes de données. En effet, lorsque vous répliquez à partir de systèmes qui génèrent beaucoup de données, le système cible peut être renseigné très rapidement. Cela est particulièrement vrai lorsque les données source sont très granulaires, car la réplication extrait généralement les données un à un sans filtrer ni agréger les enregistrements.

Transformation des données

Si vous devez apporter des modifications aux données extraites avant qu'elles ne soient chargées dans un système cible, on parle de transformation des données. La transformation est un terme très large et peut signifier quelque chose d'aussi simple que l'application de filtres aux données afin que vous ne chargiez que ce dont vous avez besoin. Cela peut également signifier la génération de nouvelles valeurs à partir des données source. Par exemple, le calcul du bénéfice à partir de chaque enregistrement fournissant le prix de vente et le coût. La transformation peut également faire référence à la saisie de zones manquantes et à la vérification des valeurs. Avec la transformation, vous pouvez fusionner les données de plusieurs systèmes. Vous pouvez également définir des règles pour déterminer comment fractionner les données et les répartir dans plusieurs systèmes cibles.

Cette diapositive explique la transformation des données.

Comme pour la réplication, la transformation des données extrait les données d'un ou de plusieurs systèmes source et les charge dans un système cible. La principale différence réside dans le fait que la réplication n'apporte généralement aucune modification aux données, contrairement à la transformation.

L'un des avantages de la transformation par rapport à la réplication est que vous pouvez appliquer des règles d'agrégation pour comprimer les données au lieu de charger un grand nombre de transactions individuelles. Ainsi, la croissance des données peut être contrôlée. Cependant, les transformations peuvent rapidement devenir complexes et difficiles à gérer à mesure que l'infrastructure de données change.