Ce document fournit des conseils sur les bonnes pratiques relatives à l’organisation des ressources de données, notamment les jeux de données, les vues et les tableaux temporaires, en vue de leur utilisation avec Adobe Experience Platform Query Service. Il explique comment structurer vos données et comment accéder à ces informations, les mettre à jour et les supprimer.
Il est important d’organiser logiquement vos ressources de données dans Platform. Data Lake à mesure qu'ils grandissent. Query Service étend les constructions SQL qui vous permettent de regrouper logiquement les ressources de données dans un environnement de test. Cette méthode d’organisation permet le partage de ressources de données entre les schémas sans avoir à les déplacer physiquement.
Avant de poursuivre ce document, vous devez bien comprendre les Query Service et avoir lu les guide de l’interface utilisateur.
Les exemples suivants montrent les éléments disponibles par le biais de Adobe Experience Platform Query Service pour organiser logiquement vos données à l’aide de la syntaxe SQL standard. Vous devez commencer par créer une base de données qui servira de conteneur à vos points de données. Une base de données peut contenir un ou plusieurs schémas, et chaque schéma peut alors comporter une ou plusieurs références à une ressource de données (jeux de données, vues, tables temporaires, etc.). Ces références incluent toute relation ou association entre les jeux de données.
Voir Guide d’utilisation de Query Editor pour obtenir des instructions détaillées sur l’utilisation de l’interface utilisateur de Query Service pour créer des requêtes SQL.
Les éléments SQL suivants pour organiser logiquement les jeux de données dans un environnement de test sont pris en charge.
CREATE DATABASE databaseA;
CREATE SCHEMA databaseA.schema1;
CREATE table t1 ...;
CREATE view v1 ...;
ALTER TABLE t1 ADD PRIMARY KEY (c1) NOT ENFORCED;
ALTER TABLE t2 ADD FOREIGN KEY (c1) REFERENCES t1(c1) NOT ENFORCED;
L'exemple (légèrement tronqué pour la concision) illustre cette méthode : databaseA
contient le schéma schema1
.
Une fois qu’un schéma a été créé pour agir comme conteneur pour les ressources de données, chaque jeu de données peut être associé à un ou plusieurs schémas de la base de données en utilisant la syntaxe SQL ALTER TABLE standard.
L’exemple suivant ajoute : dataset1
, dataset2
, dataset3
et v1
au databaseA.schema1
conteneur créé dans l’exemple précédent.
ALTER TABLE dataset1 SET SCHEMA databaseA.schema1;
ALTER TABLE dataset2 SET SCHEMA databaseA.schema1;
ALTER TABLE dataset3 SET SCHEMA databaseA.schema1;
ALTER VIEW v1 SET SCHEMA databaseA.schema1;
En qualifiant correctement le nom de la base de données, toute PostgreSQL Le client peut se connecter à l’une des structures de données que vous avez créées à l’aide du mot-clé SHOW. Pour plus d’informations sur le mot-clé SHOW, reportez-vous à la section SHOW dans la documentation sur la syntaxe SQL.
“all” est le nom de base de données par défaut qui contient chaque conteneur de base de données et de schéma dans un environnement de test. Lorsque vous effectuez une PostgreSQL connexion dbname="all"
, vous pouvez accéder à any base de données et schéma que vous avez créés pour organiser logiquement vos données.
Répertorier toutes les bases de données sous dbname="all"
affiche trois bases de données disponibles.
SHOW DATABASES;
name
---------
databaseA
databaseB
databaseC
Liste de tous les schémas sous dbname="all"
affiche les trois schémas liés à chaque base de données de l’environnement de test.
SHOW SCHEMAS;
database | schema
----------------------
databaseA | schema1
databaseA | schema2
databaseB | schema3
Lorsque vous effectuez une PostgreSQL connexion dbname="databaseA"
, vous pouvez accéder à n’importe quel schéma associé à cette base de données spécifique, comme illustré dans l’exemple ci-dessous.
SHOW DATABASES;
name
---------
databaseA
SHOW SCHEMAS;
database | schema
----------------------
databaseA | schema1
databaseA | schema2
La notation par points permet d'accéder à chaque table associée à un schéma spécifique connecté à la base de données de votre choix. En se connectant à DBNAME = databaseA.schema1;
, toutes les tables associées à ce schéma spécifique (schema1
) s’affichent. Vous obtenez ainsi des informations sur le jeu de données contenant le tableau.
SHOW DATABASES;
name
---------
databaseA
SHOW SCHEMAS;
database | schema
----------------------
databaseA | schema1
SHOW tables;
name | type
----------------------
dataset1| table
dataset2| table
dataset3| table
À mesure que le nombre de ressources de données de votre organisation IMS (ou sandbox) augmente, il devient nécessaire de mettre à jour ou de supprimer des ressources de données d’un conteneur de données. Les ressources individuelles peuvent être supprimées du conteneur de l’organisation en référençant la base de données et le nom de schéma appropriés à l’aide de la notation par points. Le tableau et la vue (t1
et v1
ajouté à databaseA.schema1
dans le premier exemple, sont supprimés en utilisant la syntaxe de l’exemple suivant.
ALTER TABLE databaseA.schema2.t1 REMOVE SCHEMA databaseA.schema2;
ALTER VIEW databaseA.schema2.v1 REMOVE SCHEMA databaseA.schema2;
Le DROP TABLE supprime physiquement une ressource de données de la fonction Data Lake lorsqu’il existe une référence unique à la table dans toutes les bases de données de votre organisation IMS.
DROP TABLE databaseA.schema2.t1;
La base de données et le schéma peuvent également être supprimés à l’aide de fonctions SQL standard.
Si d’autres références aux ressources de données sont associées à la base de données, la fonction renvoie une erreur lors de la tentative de suppression de la base de données.
DROP DATABASE databaseA;
Trois points importants doivent être pris en compte lors de la suppression d’un schéma :
DROP SCHEMA databaseA.schema2;
En lisant ce document, vous comprenez mieux les bonnes pratiques concernant l’organisation et la structure de vos ressources de données à utiliser avec Adobe Experience Platform Query Service. Il est recommandé de continuer à en apprendre davantage sur les bonnes pratiques de Query Service en lisant la section documentation sur la déduplication des données.