Comment créer un mémo sur le pedigree des dieux grecs dans SAP HANA Cloud

Cette année, SAP propose une nouvelle solution SAP HANA Cloud qui offre un large éventail de fonctionnalités pour travailler avec les données, vous permet de créer, lancer, déployer de nouvelles applications et mettre à jour des applications existantes. La base de cette solution est SAP HANA, qui est utilisé pour travailler avec des données nécessitant une vitesse de traitement élevée. Nous appelons ces données chaudes car elles résident dans la RAM. Cela garantit un accÚs rapide et de hautes performances. De plus, un lac de données est intégré dans SAP HANA Cloud, et son déploiement est automatique et facile à gérer. Il est relationnel et vous permet d'optimiser le coût de stockage des informations structurées. Les données froides s'y trouvent, c'est-à-dire qu'elles seront traitées un peu plus lentement que les données chaudes.SAP HANA Cloud propose également un niveau intermédiaire de stockage de données - SAP HANA Native Storage Extension, stockage de données sur disque et chargement via le cache tampon. Les capacités de hiérarchisation offrent une évolutivité et une élasticité élevées, optimisant les coûts sans sacrifier les performances. Je propose de comprendre comment fonctionne la nouveauté sur l'exemple de la création d'une généalogie des dieux et héros grecs.



image



Nous prendrons comme base les scripts de l' annexe B - Exemple de graphique de mythologie grecque de la documentation de rĂ©fĂ©rence de graphique SAP HANA pour une plate-forme SAP HANA typique dĂ©ployĂ©e localement dans le centre de donnĂ©es. L'objectif principal de cet exemple est de montrer les capacitĂ©s analytiques de SAP HANA, de montrer comment vous pouvez analyser la relation des objets et des Ă©vĂ©nements Ă  l'aide d'algorithmes graphiques. Nous ne nous attarderons pas sur cette technologie en dĂ©tail; l'idĂ©e principale ressortira de la discussion ultĂ©rieure. Toute personne intĂ©ressĂ©e peut le dĂ©couvrir par elle-mĂȘme en testant les capacitĂ©s de SAP HANA Express Edition ou en suivant un cours gratuit sur l' analyse des donnĂ©es connectĂ©es avec SAP HANA Graph .



Plaçons les données dans le cloud relationnel SAP HANA Cloud et voyons les possibilités d'analyser la parenté des héros grecs. Rappelez-vous, dans "Mythes et légendes de la GrÚce antique", il y avait beaucoup de personnages et au milieu, vous ne vous souvenez plus qui est le fils et le frÚre de qui? Ici, nous nous ferons un mémo et nous n'oublierons jamais.



Commençons par créer une instance de SAP HANA Cloud. C'est assez simple à faire, vous devez renseigner les paramÚtres du futur systÚme et attendre quelques minutes le temps que l'instance soit déployée pour vous (Fig. 1).



image

Figure 1



Donc, cliquez sur le bouton Créer une instance et la premiÚre page de l'assistant de création s'ouvre devant nous, sur laquelle vous devez spécifier un nom court pour l'instance, définir un mot de passe et fournir une description (Figure 2)



image

Figure 2



Cliquez sur le bouton Étape 2, notre tĂąche consiste maintenant Ă  spĂ©cifier les paramĂštres de la future instance SAP HANA. Ici, vous ne pouvez rĂ©gler que la taille de la RAM du futur systĂšme, tous les autres paramĂštres seront dĂ©terminĂ©s automatiquement (Fig. 3).



image

Figure 3



Nous voyons que maintenant nous avons la possibilité de choisir la valeur minimale de 30 Go et la valeur maximale de 900 Go. Nous sélectionnons 30 Go et il est automatiquement déterminé qu'avec cette quantité de mémoire, deux processeurs virtuels sont nécessaires pour prendre en charge les calculs et 120 Go pour stocker les données sur le disque. Plus d'espace est alloué ici car nous pouvons utiliser la technologie SAP HANA Native Storage Extension (NSE). Si vous choisissez une taille de mémoire plus grande, par exemple 255 Go, vous aurez besoin de 17 processeurs virtuels et de 720 Go de mémoire disque (Fig. 4).



image

Figure 4



Mais nous n'avons pas besoin de tant de mémoire pour l'exemple. Nous remettons les paramÚtres à leurs valeurs d'origine et cliquez sur l'étape 3. Maintenant, nous devons choisir d'utiliser ou non le lac de données. La réponse est évidente pour nous. Bien sûr, nous le ferons. Nous voulons également mener une telle expérience (Fig. 5).



image

Figure 5



À cette Ă©tape, nous avons beaucoup plus de pouvoir et de libertĂ© pour crĂ©er une instance du lac de donnĂ©es. Vous pouvez choisir la taille des ressources informatiques et du stockage sur disque requis. Les paramĂštres des composants / nƓuds utilisĂ©s sont sĂ©lectionnĂ©s automatiquement. Le systĂšme dĂ©terminera lui-mĂȘme les ressources informatiques nĂ©cessaires pour les nƓuds «coordinateur» et «opĂ©rationnel». Si vous souhaitez en savoir plus sur ces composants, il est prĂ©fĂ©rable de se tourner vers les ressources SAP IQ et le lac de donnĂ©es SAP HANA Cloud... Et nous passons Ă  l'Ă©tape 4.



image

Figure 6



Dans cette étape, nous allons définir ou restreindre les adresses IP qui peuvent accéder à la future instance SAP HANA. Comme vous pouvez le voir, c'est la derniÚre étape de notre assistant (Fig. 6), il ne reste plus qu'à cliquer sur Créer une instance et aller vous servir du café.



image

Figure 7



Le processus est lancé (Fig. 7) et trÚs peu de temps passera, nous avons juste eu le temps de boire du café fort, malgré la fin de la nuit. Et quand d'autre pouvez-vous expérimenter calmement avec le systÚme et visser différentes puces? Ainsi, notre systÚme est créé (Fig. 8).



image

Figure 8



Nous avons deux options: ouvrir SAP HANA Cockpit ou SAP HANA Database Explorer. Nous savons que le deuxiĂšme produit peut ĂȘtre lancĂ© depuis Cockpit. Par consĂ©quent, nous ouvrons simultanĂ©ment le cockpit SAP HANA et voyons ce qui s'y trouve. Mais d'abord, vous devrez spĂ©cifier l'utilisateur et son mot de passe. Veuillez noter que l'utilisateur SYSTEM n'est pas disponible pour vous, vous devez utiliser DBADMIN. Dans le mĂȘme temps, spĂ©cifiez le mot de passe que vous avez dĂ©fini lors de la crĂ©ation de l'instance, comme sur la figure 9.



image

Figure 9



Nous sommes allés à Cockpit et nous voyons l'interface SAP traditionnelle sous la forme de tuiles, lorsque chacun d'entre eux est responsable de sa propre tùche. Dans le coin supérieur droit, nous voyons un lien vers la console SQL (Fig. 10).



image

Figure 10



C'est elle qui nous permet d'aller dans l'explorateur de base de données SAP HANA.



image



L'interface de cet outil est similaire à SAP Web IDE, mais uniquement pour travailler avec des objets de base de données. Tout d'abord, bien sûr, nous nous intéressons à la maniÚre d'entrer dans le lac de données. AprÚs tout, nous avons maintenant ouvert un outil pour travailler avec HANA. Allons à l'élément Source distante dans le navigateur et voyons un lien vers le lac (SYSRDL, RDL - Relation Data Lake). Il s'agit de l'accÚs souhaité (Fig. 11).



image

Figure 11



Passons à autre chose, nous ne devrions pas travailler sous l'administrateur. Nous devons créer un utilisateur de test, sous lequel nous allons expérimenter avec le moteur graphique HANA, mais placer les données dans un lac de données relationnelles.



image



SCÉNARIO:



CREATE USER tstuser PASSWORD Password1 NO FORCE_FIRST_PASSWORD_CHANGE SET USERGROUP DEFAULT;


Nous prévoyons de travailler avec le lac de données, il est donc impératif de donner des droits, par exemple, HANA_SYSRDL # CG_ADMIN_ROLE, afin que vous puissiez créer librement des objets, faites ce que nous voulons.



image



SCÉNARIO:



GRANT HANA_SYSRDL#CG_ADMIN_ROLE TO tstuser;


Maintenant que le travail sous l'administrateur SAP HANA est terminĂ©, SAP HANA Database Explorer peut ĂȘtre fermĂ© et nous devons nous connecter sous le nouvel utilisateur crĂ©Ă©: tstuser. Pour plus de simplicitĂ©, revenons au cockpit SAP HANA et terminons la session d'administration. Pour ce faire, dans le coin supĂ©rieur gauche se trouve un lien appelĂ© Clear Credentials (Fig.12).



image

Figure 12



AprÚs avoir cliqué dessus, nous devons nous reconnecter, mais maintenant sous l'utilisateur tstuser (Figure 13).



image

Figure 13



Et nous pouvons Ă  nouveau ouvrir la console SQL pour revenir Ă  SAP HANA Database Explorer, mais sous un nouvel utilisateur (Figure 14).



image



image

Figure 14



SCRIPT:



SELECT SESSION_USER, CURRENT_SCHEMA FROM DUMMY;


C'est tout, maintenant nous sommes sûrs que nous travaillons avec HANA sous le bon utilisateur. Il est temps de créer des tables dans le lac de données. Pour ce faire, il existe une procédure spéciale SYSRDL # CG.REMOTE_EXECUTE, dans laquelle vous devez passer un paramÚtre - line = command. En utilisant cette fonction, nous créons une table dans le data lake (Fig. 15), dans laquelle tous nos personnages seront stockés: héros, dieux grecs et titans.



image

Figure 15



SCRIPT:



CALL SYSRDL#CG.REMOTE_EXECUTE ('
BEGIN

	CREATE TABLE "MEMBERS" (
		"NAME"       VARCHAR(100) PRIMARY KEY,
		"TYPE"       VARCHAR(100),
		"RESIDENCE"  VARCHAR(100)
	);


END');


Et puis nous créons un tableau dans lequel nous allons stocker les relations de ces caractÚres (Fig. 16).



image

Figure 16



SCRIPT:



CALL SYSRDL#CG.REMOTE_EXECUTE ('
BEGIN
	CREATE TABLE "RELATIONSHIPS" (
		"KEY"    INTEGER UNIQUE NOT NULL,
		"SOURCE" VARCHAR(100) NOT NULL,
		"TARGET" VARCHAR(100) NOT NULL,
		"TYPE"   VARCHAR(100),
		FOREIGN KEY RELATION_SOURCE ("SOURCE") references "MEMBERS"("NAME") ON UPDATE RESTRICT ON DELETE RESTRICT, 
		FOREIGN KEY RELATION_TARGET ("TARGET") references "MEMBERS"("NAME") ON UPDATE RESTRICT ON DELETE RESTRICT 
	);
END');


Nous ne traiterons pas des problÚmes d'intégration maintenant, c'est une autre histoire. Dans l'exemple d'origine, il existe des commandes INSERT pour créer les dieux grecs et leur parenté. Nous utilisons ces commandes. Nous devons simplement nous rappeler que nous transmettons la commande via une procédure au lac de données, nous devons donc doubler les guillemets, comme le montre la figure 17.



image

Figure 17



SCRIPT:



CALL SYSRDL#CG.REMOTE_EXECUTE ('
BEGIN
	INSERT INTO "MEMBERS"("NAME", "TYPE")
    	VALUES (''Chaos'', ''primordial deity'');
	INSERT INTO "MEMBERS"("NAME", "TYPE")
    	VALUES (''Gaia'', ''primordial deity'');
	INSERT INTO "MEMBERS"("NAME", "TYPE")
    	VALUES (''Uranus'', ''primordial deity'');
	INSERT INTO "MEMBERS"("NAME", "TYPE", "RESIDENCE")
    	VALUES (''Rhea'', ''titan'', ''Tartarus'');
	INSERT INTO "MEMBERS"("NAME", "TYPE", "RESIDENCE")
    	VALUES (''Cronus'', ''titan'', ''Tartarus'');
	INSERT INTO "MEMBERS"("NAME", "TYPE", "RESIDENCE")
    	VALUES (''Zeus'', ''god'', ''Olympus'');
	INSERT INTO "MEMBERS"("NAME", "TYPE", "RESIDENCE")
    	VALUES (''Poseidon'', ''god'', ''Olympus'');
	INSERT INTO "MEMBERS"("NAME", "TYPE", "RESIDENCE")
    	VALUES (''Hades'', ''god'', ''Underworld'');
	INSERT INTO "MEMBERS"("NAME", "TYPE", "RESIDENCE")
    	VALUES (''Hera'', ''god'', ''Olympus'');
	INSERT INTO "MEMBERS"("NAME", "TYPE", "RESIDENCE")
    	VALUES (''Demeter'', ''god'', ''Olympus'');
	INSERT INTO "MEMBERS"("NAME", "TYPE", "RESIDENCE")
    	VALUES (''Athena'', ''god'', ''Olympus'');
	INSERT INTO "MEMBERS"("NAME", "TYPE", "RESIDENCE")
    	VALUES (''Ares'', ''god'', ''Olympus'');
	INSERT INTO "MEMBERS"("NAME", "TYPE", "RESIDENCE")
    	VALUES (''Aphrodite'', ''god'', ''Olympus'');
	INSERT INTO "MEMBERS"("NAME", "TYPE", "RESIDENCE")
    	VALUES (''Hephaestus'', ''god'', ''Olympus'');
	INSERT INTO "MEMBERS"("NAME", "TYPE", "RESIDENCE")
    	VALUES (''Persephone'', ''god'', ''Underworld'');
END');


Et le deuxiĂšme tableau (Fig.18)



image

Figure 18



SCRIPT:



CALL SYSRDL#CG.REMOTE_EXECUTE ('
BEGIN
	INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    	VALUES (1, ''Chaos'', ''Gaia'', ''hasDaughter'');
	INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    	VALUES (2, ''Gaia'', ''Uranus'', ''hasSon'');
	INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    	VALUES (3, ''Gaia'', ''Cronus'', ''hasSon'');
	INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    	VALUES (4, ''Uranus'', ''Cronus'', ''hasSon'');
	INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    	VALUES (5, ''Gaia'', ''Rhea'', ''hasDaughter'');
	INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (6, ''Uranus'', ''Rhea'', ''hasDaughter'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (7, ''Cronus'', ''Zeus'', ''hasSon'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (8, ''Rhea'', ''Zeus'', ''hasSon'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (9, ''Cronus'', ''Hera'', ''hasDaughter'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (10, ''Rhea'', ''Hera'', ''hasDaughter'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (11, ''Cronus'', ''Demeter'', ''hasDaughter'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (12, ''Rhea'', ''Demeter'', ''hasDaughter'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (13, ''Cronus'', ''Poseidon'', ''hasSon'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (14, ''Rhea'', ''Poseidon'', ''hasSon'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (15, ''Cronus'', ''Hades'', ''hasSon'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (16, ''Rhea'', ''Hades'', ''hasSon'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (17, ''Zeus'', ''Athena'', ''hasDaughter'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (18, ''Zeus'', ''Ares'', ''hasSon'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (19, ''Hera'', ''Ares'', ''hasSon'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (20, ''Uranus'', ''Aphrodite'', ''hasDaughter'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (21, ''Zeus'', ''Hephaestus'', ''hasSon'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (22, ''Hera'', ''Hephaestus'', ''hasSon'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (23, ''Zeus'', ''Persephone'', ''hasDaughter'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (24, ''Demeter'', ''Persephone'', ''hasDaughter'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (25, ''Zeus'', ''Hera'', ''marriedTo'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (26, ''Hera'', ''Zeus'', ''marriedTo'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (27, ''Hades'', ''Persephone'', ''marriedTo'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (28, ''Persephone'', ''Hades'', ''marriedTo'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (29, ''Aphrodite'', ''Hephaestus'', ''marriedTo'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (30, ''Hephaestus'', ''Aphrodite'', ''marriedTo'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (31, ''Cronus'', ''Rhea'', ''marriedTo'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (32, ''Rhea'', ''Cronus'', ''marriedTo'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (33, ''Uranus'', ''Gaia'', ''marriedTo'');
INSERT INTO "RELATIONSHIPS"("KEY", "SOURCE", "TARGET", "TYPE")
    VALUES (34, ''Gaia'', ''Uranus'', ''marriedTo'');
END');


Maintenant, ouvrons à nouveau Remote Source. Sur la base de la description des tables dans le lac de données, nous devons créer des tables virtuelles dans HANA (Fig. 19).



image

Figure 19



Trouvez les deux tables, cochez les cases devant les tables et cliquez sur le bouton Créer des objets virtuels, comme illustré à la Figure 20.



image

Figure 20



Nous avons la possibilité de spécifier le schéma dans lequel les tables virtuelles seront créées. Et là, vous devez spécifier un préfixe pour rendre ces tables plus faciles à trouver. AprÚs cela, nous pouvons sélectionner Table dans le navigateur, voir nos tableaux et voir les données (Fig. 21).



image

Figure 21



À cette Ă©tape, il est important de faire attention au filtre en bas Ă  gauche. Il devrait y avoir notre nom d'utilisateur ou notre schĂ©ma TSTUSER.



Tu as presque fini. Nous avons crĂ©Ă© des tables dans le lac et y avons chargĂ© des donnĂ©es, et pour y accĂ©der Ă  partir du niveau HANA, nous avons des tables virtuelles. Nous sommes prĂȘts Ă  crĂ©er un nouvel objet - un graphique (Fig.22).



image

Figure 22



SCRIPT:



CREATE GRAPH WORKSPACE "GREEK_MYTHOLOGY"
  EDGE TABLE "TSTUSER"."RDL_RELATIONSHIPS"
    SOURCE COLUMN "SOURCE"
    TARGET COLUMN "TARGET"
    KEY COLUMN "KEY"
  VERTEX TABLE "TSTUSER"."RDL_MEMBERS"
    KEY COLUMN "NAME";


Tout a fonctionnĂ©, le graphique est prĂȘt. Et vous pouvez immĂ©diatement essayer de faire une simple requĂȘte sur les donnĂ©es du graphique, par exemple, trouver toutes les filles du Chaos et toutes les filles de ces filles. Pour ce faire, Cypher, un langage d'analyse de graphes, nous aidera. Il a Ă©tĂ© spĂ©cialement crĂ©Ă© pour travailler avec des graphiques, pratique, simple et aide Ă  rĂ©soudre des problĂšmes complexes. Nous devons juste nous rappeler que le script Cypher doit ĂȘtre encapsulĂ© dans une requĂȘte SQL Ă  l'aide d'une fonction de table. Regardez comment notre tĂąche est rĂ©solue dans ce langage (Fig. 23).



image

Figure 23



SCRIPT:



SELECT * FROM OPENCYPHER_TABLE( GRAPH WORKSPACE "GREEK_MYTHOLOGY" QUERY
    '
	MATCH p = (a)-[*1..2]->(b)
	WHERE a.NAME = ''Chaos'' AND ALL(e IN RELATIONSHIPS(p) WHERE e.TYPE=''hasDaughter'')
	RETURN b.NAME AS Name
	ORDER BY b.NAME
    '
)


Voyons comment fonctionne l'outil d'analyse graphique de SAP HANA. Pour ce faire, sélectionnez Graph Workspace dans le navigateur (Fig. 24).



image

Figure 24



Et maintenant vous pouvez voir notre graphique (fig. 25).



image

Figure 25.



Vous voyez le graphique dĂ©jĂ  «coloré». Nous l'avons fait en utilisant les paramĂštres sur le cĂŽtĂ© droit de l'Ă©cran. Dans le coin supĂ©rieur gauche, des informations dĂ©taillĂ©es sur le nƓud actuellement sĂ©lectionnĂ© sont affichĂ©es.



Eh bien ... nous l'avons fait. Les donnĂ©es se trouvent dans le lac de donnĂ©es et nous les analysons Ă  l'aide des outils de SAP HANA. Une technologie calcule les donnĂ©es, tandis que l'autre est responsable de leur stockage. Lorsque les donnĂ©es du graphique sont traitĂ©es, elles sont demandĂ©es Ă  partir du lac de donnĂ©es et transfĂ©rĂ©es vers SAP HANA. Pouvons-nous accĂ©lĂ©rer nos enquĂȘtes? Comment rendre les donnĂ©es stockĂ©es dans la RAM et non chargĂ©es Ă  partir du lac de donnĂ©es? Il existe un moyen simple mais pas trĂšs beau - de crĂ©er une table dans laquelle charger le contenu de la table du lac de donnĂ©es (Fig. 26).



image

Figure 26



SCRIPT:



CREATE COLUMN TABLE MEMBERS AS (SELECT * FROM "TSTUSER"."RDL_MEMBERS")


Mais il existe un autre moyen: il s'agit de l'utilisation de la rĂ©plication de donnĂ©es dans la RAM SAP HANA. Cela peut fournir de meilleures performances pour les requĂȘtes SQL que l'accĂšs aux donnĂ©es stockĂ©es dans un lac de donnĂ©es Ă  l'aide d'une table virtuelle. Vous pouvez basculer entre les tables virtuelles et de rĂ©plication. Pour ce faire, ajoutez une table rĂ©plique Ă  la table virtuelle. Cela peut ĂȘtre fait Ă  l'aide de l'instruction ALTER VIRTUAL TABLE. AprĂšs cela, une requĂȘte utilisant une table virtuelle accĂšde automatiquement Ă  la table de rĂ©plique, qui se trouve dans la RAM SAP HANA. Voyons comment procĂ©der, expĂ©rimentons. Nous exĂ©cutons une telle demande (Fig. 27).



image

Figure 27



SCRIPT:



SELECT R.KEY, R.SOURCE, R.TYPE
FROM "TSTUSER"."RDL_RELATIONSHIPS"  R inner join "TSTUSER"."MEMBERS" M on R.SOURCE=M.NAME


Et voyons combien de temps il a fallu pour répondre à cette demande (Fig. 28).



image

Figure 28



Nous pouvons voir que cela a pris 92 millisecondes. Allumons le mécanisme de réplication. Pour ce faire, vous devez créer ALTER VIRTUAL TABLE de la table virtuelle, aprÚs quoi les données Lake seront répliquées dans la RAM SAP HANA.



image



SCÉNARIO:



ALTER VIRTUAL TABLE "RDL_RELATIONSHIPS" ADD SHARED SNAPSHOT REPLICA COLUMN LOADABLE;


Vérifions le temps d'exécution, comme dans la figure 29.



image

Figure 29 Vous



avez 7 millisecondes. C'est un excellent rĂ©sultat! Avec un minimum d'effort, nous avons dĂ©placĂ© les donnĂ©es dans la RAM. De plus, si vous avez terminĂ© l'analyse et que vous ĂȘtes satisfait des performances, vous pouvez Ă  nouveau dĂ©sactiver la rĂ©plication (Fig. 30).



image

Figure 30



SCRIPT:



ALTER VIRTUAL TABLE "RDL_RELATIONSHIPS" DROP REPLICA;


Maintenant, les donnĂ©es sont Ă  nouveau chargĂ©es Ă  partir du lac uniquement sur demande, et la RAM SAP HANA est gratuite pour de nouvelles tĂąches. Aujourd'hui, nous avons fait, Ă  mon avis, un travail intĂ©ressant et testĂ© SAP HANA Cloud pour la rapiditĂ© et la facilitĂ© d'organisation d'un point d'accĂšs unique aux donnĂ©es. Le produit se dĂ©veloppera et nous prĂ©voyons que dans un proche avenir, une connexion directe au lac de donnĂ©es apparaĂźtra. La nouvelle capacitĂ© permettra des tĂ©lĂ©chargements plus rapides de grandes quantitĂ©s d'informations, Ă©liminera les frais gĂ©nĂ©raux inutiles et amĂ©liorera les performances des opĂ©rations spĂ©cifiques aux lacs de donnĂ©es. Nous allons crĂ©er et exĂ©cuter des procĂ©dures stockĂ©es directement dans le cloud de donnĂ©es Ă  l'aide de la technologie SAP IQ, c'est-Ă -dire que nous pourrons appliquer le traitement et la logique mĂ©tier lĂ  oĂč se trouvent les donnĂ©es elles-mĂȘmes.



Alexander Tarasov, architecte commercial principal, SAP CIS



All Articles