Banques de données en mémoire. SAP BusinessObjects Data Services 4.1 Support Package 1
Banques de données
5.2.6.4 Réimportation d'objets
Si vous avez déjà importé un objet tel qu'une banque de données, une fonction ou une table, il est possible de le réimporter, ce qui met à jour les métadonnées de l'objet depuis la base de données (la réimportation remplace toutes les modifications que vous avez apportées à l'objet dans le logiciel).
Dans les anciennes versions du logiciel, pour réimporter les objets, vous ouvriez la banque de données, affichiez les métadonnées du référentiel et sélectionniez les objets à réimporter. Dans cette version du logiciel, il est possible de réimporter les objets à l'aide de la bibliothèque d'objets à plusieurs niveaux :
• Objets individuels : réimporte les métadonnées pour un objet individuel tel qu'une table ou une fonction
• Niveau de nœud de catégorie : réimporte les définitions de tous les objets de ce type dans cette banque de données, par exemple, toutes les tables dans la banque de données
• Niveau de banque de données : réimporte l'ensemble de la banque de données et tous les objets dépendants, dont les tables, les fonctions, les IDOC et les hiérarchies
5.2.6.4.1 Réimporter les objets depuis la bibliothèque d'objets
1.
Dans la bibliothèque d'objets, cliquez sur l'onglet Banques de données.
2.
Faites un clic droit sur un objet individuel et cliquez sur Réimporter, ou faites un clic droit sur un nœud de catégorie ou sur un nom de banque de données et cliquez sur Tout réimporter.
Il est également possible de sélectionner plusieurs objets individuels en appuyant sur Ctrl ou Shift et en cliquant.
3.
Cliquez sur Oui pour réimporter les métadonnées.
4.
Si vous avez sélectionné plusieurs objets à réimporter (par exemple avec Tout réimporter), le logiciel demande confirmation pour chaque objet à moins que vous cochiez la caseNe plus me
poser la question pour les objets restants.
Il est possible d'ignorer des objets à réimporter en cliquant sur Non pour cet objet.
Si vous n'êtes pas sur de vouloir réimporter (et donc remplacer) l'objet, cliquez sur Afficher utilisation pour afficher l'emplacement où l'objet est actuellement utilisé dans les jobs.
5.2.7 Banques de données en mémoire
Le logiciel permet de créer une banque de données de base de données à l'aide de la Mémoire comme
Type de la base de données. Les banques de données en mémoire sont conçues pour améliorer la performance de traitement des flux de données qui exécutent des jobs en temps réel. Les données
91 2012-11-22
Banques de données
92
(en petite quantité en général dans un job en temps réel) sont stockées en mémoire pour offrir un accès immédiat plutôt que d'accéder aux données sources d'origine.
Une banque de données en mémoire est un conteneur pour des tables en mémoire. Une banque de données offre normalement une connexion à une base de données, à une application ou à un adaptateur.
En revanche, une banque de données en mémoire contient des schémas de tables en mémoire enregistrés dans le référentiel.
Les tables en mémoire sont des schémas qui permettent de cacher les données intermédiaires. Les tables en mémoire peuvent cacher les données des tables de base de données relationnelles ou des fichiers de données hiérarchiques tels que les messages XML et les IDocs SAP (qui contiennent tous les deux des schémas imbriqués).
Les tables en mémoire peuvent être utilisées pour :
• Déplacer les données entre des flux de données dans des jobs en temps réel. En cachant les données intermédiaires, la performance des jobs en temps réel avec plusieurs flux de données est largement meilleure qu'elle le serait si des fichiers ou des tables ordinaires étaient utilisés pour stocker les données intermédiaires. Pour obtenir la meilleure performance, utilisez uniquement les tables en mémoire lors du traitement de petites quantités de données.
• Stockez les données de table en mémoire pour la durée du job. En enregistrant les données de table en mémoire, la fonction LOOKUP_ECT et les autres transformations et fonctions qui ne nécessitent pas d'opérations de base de données peuvent accéder aux données sans avoir à les lire depuis une base de données distante.
La durée de vie des données de table en mémoire correspond à la durée du job. Les données des tables en mémoire ne peuvent pas être partagées entre plusieurs jobs en temps réel. La prise en charge de l'utilisation des tables en mémoire pour les jobs batch n'est pas disponible.
5.2.7.1 Création de banques de données en mémoire
Il est possible de créer des banques de données en mémoire à l'aide de la fenêtre Editeur de banque de données.
5.2.7.1.1 Définir une banque de données en mémoire
1.
A partir du menu Projet, sélectionnez Nouveau > Banque de données.
2.
Dans la case Nom, saisissez le nom de la nouvelle banque de données.
Assurez-vous d'utiliser la convention d'appellation ''Memory_DS". Les noms des banques de données sont ajoutés aux noms des tables lorsque les icônes de table apparaissent dans l'espace de travail.
Les tables en mémoire sont représentées dans l'espace de travail avec des icônes de table ordinaires.
Par conséquent, étiquetez une banque de données en mémoire pour distinguer ses tables en mémoire des tables de base de données ordinaires dans l'espace de travail.
3.
Dans la case Type de la banque de données, laissez le paramètre par défaut Base de données.
4.
Dans la case Type de la base de données, sélectionnez Mémoire.
2012-11-22
Banques de données
Aucun attribut supplémentaire n'est requis pour la banque de données en mémoire.
5.
Cliquez sur OK.
5.2.7.2 Création de tables en mémoire
Lors de la création d'une table en mémoire, il n'est pas nécessaire d'indiquer le schéma de la table ou d'importer les métadonnées de la table. A la place, le logiciel crée automatiquement le schéma pour chaque table en mémoire en fonction du schéma précédent, qui peut être soit un schéma d'une table de base de données relationnelle, soit un schéma des fichiers de données hiérarchiques tels que les messages XML. Lors de la première sauvegarde du job, le logiciel définit le schéma de la table en mémoire et enregistre la table. Par la suite, la table apparait avec une icône de table dans l'espace de travail et dans la bibliothèque d'objets sous la banque de données en mémoire.
5.2.7.2.1 Créer une table en mémoire
1.
A partir de la palette d'outils, cliquez sur l'icône de table de modèle.
2.
Cliquez dans un flux de données pour placer la table de modèle.
La fenêtre Créer une table s'ouvre.
3.
A partir de la fenêtre Créer une table, sélectionnez la banque de données en mémoire.
4.
Saisissez un nom de table.
5.
Si vous souhaitez une colonne d'ID de ligne générée par le système dans la table, cliquez sur la case à cocher Créer un ID de ligne.
6.
Cliquez sur OK.
La table en mémoire apparait dans l'espace de travail comme une icône de table de modèle.
7.
Connectez la table en mémoire au flux de données comme une cible.
8.
Depuis le menu Projet, sélectionnez Enregistrer.
Dans l'espace de travail, l'icône de la table en mémoire est remplacée par une icône de table cible, et la table apparait dans la bibliothèque d'objets sous la liste des tables de la banque de données en mémoire.
Rubriques associées
•
5.2.7.3 Utilisation des tables en mémoire comme des sources et des cibles
93 2012-11-22
Banques de données
Après avoir créé une table en mémoire comme une cible dans un flux de données, il est possible d'utiliser une table en mémoire comme une source ou une cible dans n'importe quel flux de données.
Rubriques associées
•
5.2.7.3.1 Utiliser une table en mémoire comme une source ou une cible
1.
Dans la bibliothèque d'objets, cliquez sur l'onglet Banques de données.
2.
Développez la banque de données en mémoire qui contient la table en mémoire que vous souhaitez utiliser.
3.
Développez Tables.
Une liste des tables apparait.
4.
Sélectionnez la table en mémoire que vous souhaitez utiliser comme une source ou une cible, et faites-la glisser dans un flux de données ouvert.
5.
Connectez la table en mémoire comme une source ou une cible dans le flux de données.
Si vous utilisez une table en mémoire comme une cible, ouvrez l'éditeur de table cible de la table en mémoire pour définir les options de table.
6.
Enregistrez le job
Rubriques associées
•
Options de cible de la table en mémoire
5.2.7.4 Option Mettre à jour le schéma
Il est possible que vous souhaitiez mettre à jour rapidement un schéma de table cible en mémoire si le schéma précédent a été modifié. Pour ce faire, utilisez l'option Mettre à jour le schéma. Autrement, vous devriez ajouter une nouvelle table en mémoire pour mettre à jour un schéma.
5.2.7.4.1 Mettre à jour le schéma d'une table cible en mémoire
1.
Faites un clic droit sur l'icône de la table cible en mémoire dans l'espace de travail.
2.
Sélectionnez Mettre à jour le schéma.
Le schéma de l'objet précédent est utilisé pour mettre à jour le schéma de la table cible en mémoire.
La table en mémoire actuelle est mise à jour dans le référentiel. Toutes les occurrences de la table en mémoire actuelle sont mises à jour avec le nouveau schéma.
94 2012-11-22
Banques de données
95
5.2.7.5 Options de cible de la table en mémoire
L'option Supprimer les données de la table avant le chargement est disponible pour les cibles de la table en mémoire. L'option est activée par défaut (la case est sélectionnée). Pour définir cette option, ouvrez l'éditeur de table cible en mémoire. Si vous décochez cette option, de nouvelles données sont ajoutées aux données de table existantes.
5.2.7.6 Option Créer un ID de ligne
Si l'option Créer un ID de ligne est cochée dans la fenêtre Créer table en mémoire, le logiciel génère une colonne d'entier appelée DI_Row_ID dans laquelle la première ligne insérée obtient la valeur 1, la deuxième ligne insérée obtient la valeur 2, etc. Cette nouvelle colonne permet d'utiliser une expression
LOOKUP_EXT comme un itérateur dans un script.
Remarque :
La même fonctionnalité est disponible pour les autres types de banque de données qui utilisent la fonction SQL.
Utilisez la colonne DI_Row_ID pour itérer sur une table à l'aide d'une fonction lookup_ext dans un script. Par exemple :
$NumOfRows = total_rows (memory_DS..table1)
$I = 1;
$count=0 while ($count < $NumOfRows) begin
$data = lookup_ext([memory_DS..table1, 'NO_CACHE','MAX'],[A],[O],[DI_Row_ID,'=',$I]);
$1 = $I + 1; if ($data != NULL) begin
$count = $count + 1; end end
Dans le script précédent, table1 est une table en mémoire. Le nom de la table est précédé par son nom de banque de données (memory_DS), d'un point, d'un espace vide (où se trouverait le propriétaire de la table pour une table ordinaire), puis d'un second point. Il n'existe pas de propriétaires pour les banques de données en mémoire, donc les tables sont uniquement identifiées par le nom de la banque de données et le nom de la table comme indiqué.
Sélectionnez les arguments de la fonction LOOKUP_EXT (ligne 7) depuis l'éditeur de fonctions lorsque vous définissez une fonction LOOKUP_EXT.
La fonction TOTAL_ROWS(DatastoreName.Owner.TableName) renvoie le nombre de lignes d'une table particulière dans une banque de données. Cette fonction peut être utilisée avec tout type de
2012-11-22

Lien public mis à jour
Le lien public vers votre chat a été mis à jour.