Architecture de l'ensemble de données dans un entrepôt de données cloud
Qlik Talend Data Integration vous permet de créer, gérer et contrôler un pipeline de données d'analyse, pour transporter les données jusqu'aux consommateurs. Lorsque vous générez des ensembles de données dans un entrepôt de données cloud avec Qlik Talend Data Integration, des tables de stockage, des tables de modifications et des vues sont générées.
L'interface utilisateur intuitive et assistée vous aide à créer, modéliser et exécuter des pipelines de données. Générez automatiquement des schémas pour les stocks de données opérationnelles (ODS) et les stocks de données historiques (HDS), sans codage manuel.
-
Dépôt temporaire
La tâche de dépôt intermédiaire dans Qlik Talend Data Integration contrôle le dépôt temporaire continu des données entre les sources de données et la zone de dépôt temporaire. L'exemple du diagramme décrit l'utilisation Qlik Data Gateway - Data Movement pour accéder aux sources de données à l'aide de CDC afin de garder à jour les données. Vous pouvez également utiliser les connexions de sources Qlik Cloud pour réaliser des chargements complets, pouvant être planifiés périodiquement.
Pour savoir quand utiliser Data Movement gateway, consultez Quand Data Movement gateway est-elle obligatoire ?.
Note InformationsLes tables d'une zone de dépôt temporaire sont générées pour usage interne par les tâches de données de stockage Qlik Talend Data Integration. N'utilisez pas les tables de dépôt temporaire dans un autre processus en aval. -
Stockage
La tâche de stockage contrôle le moment où les données sont appliquées aux tables de stockage, et crée et gère les tables et les vues externes.
-
Vues externes
Lors de la consommation de données, la bonne pratique consiste à utiliser des vues. Les vues offrent plusieurs avantages par rapport aux tables, notamment une meilleure simultanéité des données.
Utilisation des vues en direct
Vous pouvez accéder aussi bien aux données actuelles (ODS) qu'aux données historiques (HDS) à l'aide de vues en direct. Les vues en direct incluent les données des tables de modifications qui ne sont pas encore appliquées ou de tables antérieures. Cela vous permet de voir les données de latence inférieure sans avoir à appliquer fréquemment les données modifiées. La capacité à reporter la fusion permet de réduire les coûts et les exigences de traitement sur la plateforme cible.
Les vues en direct offrent un autre avantage : la couche de calcul n'a pas besoin d'être exécutée en permanence.
-
Le dépôt temporaire peut pointer vers un entrepôt explicite potentiellement petit, car il effectue seulement des opérations INSERT à des fins d'exécution rapide.
-
Le processus de stockage, exécuté une fois par jour par exemple, peut réveiller une couche de calcul importante pour le traitement.
-
La latence peut être améliorée, car nous n'avons plus besoin d'appliquer des modifications tout au long de la journée. Après leur insertion, les nouveaux enregistrements sont disponibles dans la table des modifications et immédiatement dans les vues en direct.
Schémas
Les artefacts sont générés dans un schéma interne et un schéma de tâche de données.
-
Le schéma interne contient des tables de données physiques.
-
Le schéma de tâche de données contient les vues que vous pouvez utiliser pour consommer les données.
Lorsqu'un schéma est associé à plus d'une tâche de données, chaque tâche de données doit utiliser un préfixe unique pour les tables et les vues. Vous pouvez définir le préfixe dans les paramètres de tâche de données.
Les conflits de nommage sont recherchés uniquement dans les schémas internes. Pour les autres schémas, vous devez vous assurer qu'il n'existe aucun conflit de nommage dans les noms de table. La bonne pratique consiste à donner au schéma interne le même nom que celui du schéma de tâche de données en y ajoutant _internal. Ainsi, vous êtes sûr que chaque combinaison de schéma et de préfixe est unique.
Tables
Les tables suivantes sont générées dans le schéma interne.
-
Table actuelle (ODS)
Cette table contient la réplique de la source de données mise à jour avec les modifications pendant le dernier intervalle d'application.
-
Table antérieure (HDS)
Cette table contient des données historiques de type 2. Elle est uniquement générée si l'option Historique est activée dans les paramètres des tâches de données.
Lorsqu'un enregistrement de table source est mis à jour, un nouvel enregistrement est ajouté à la table antérieure à chaque fois. L'enregistrement historique est une copie de l'enregistrement actuel, qui indique également les éléments mis à jour et la date de validité.
Utilisez une vue historique ou une vue en direct historique pour afficher les données historiques. Pour plus d'informations, consultez Vue Historique et Vue en direct Historique.
-
Table de modifications
Cette table contient toutes les modifications qui ne sont pas encore appliquées à la table actuelle. Elle est uniquement générée si le mode dépôt temporaire Chargement complet et CDC est utilisé.
Vues
Les vues suivantes sont créées dans le schéma cible de la tâche de données. Les vues créées ne sont pas les mêmes si vous avez activé les vues en direct et l'historique et si vous utilisez la gestion des modifications.
-
Vue actuelle
-
Vue en direct
-
Vue des modifications
-
Vue Historique
-
Vue en direct historique
Vue actuelle
Convention de nom : <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_current
Les colonnes d'en-tête suivantes sont ajoutées à la structure de la table.
Champ | Type | Description |
---|---|---|
hdr__key_hash | varbinary(20) |
Hachage de toutes les clés primaires des enregistrements. Le format de hachage est SHA1. Les colonnes sont séparées par un caractère de retour arrière. Cette colonne n'est pas générée dans les tâches de données Mini-data warehouse. |
hdr__key_id | int64 |
Séquence incrémentée par enregistrement Cette colonne n'est générée que les tâches de données Mini-data warehouse. |
hdr__from_timestamp | timestamp |
Horodatage UTC
|
hdr__operation | string(1) |
Dernière opération de cet enregistrement.
|
hdr__inserted_timestamp | timestamp | Horodatage UTC du premier ajout de la clé. En cas d'utilisation du chargement complet, il s'agit de l'heure de début du chargement complet. |
hdr__modified_timestamp | timestamp | Horodatage UTC de la dernière mise à jour. |
Vue en direct
Les vues en direct affichent une vue de chaque table source sélectionnée qui fusionne la table avec les modifications de la table de modifications. Cela fournit aux requêtes une vue en direct des données sans avoir à attendre le cycle d'application suivant. Les modifications fusionnées provenant de la vue de la table de modifications ne sont transactionnellement pas cohérentes entre les tables.
La création de vues en direct n'est possible que si vous activez Vues en direct dans les paramètres de la tâche de données.
Nommage : <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffixe des vues en direct>
Champ | Type | Description |
---|---|---|
hdr__key_hash | varbinary(20) |
Hachage de toutes les clés primaires des enregistrements. Le format de hachage est SHA1. Les colonnes sont séparées par un caractère de retour arrière. Cette colonne n'est pas générée dans les tâches de données Mini-data warehouse. |
hdr__key_id | int64 |
Séquence incrémentée par enregistrement Cette colonne n'est générée que les tâches de données Mini-data warehouse. |
hdr__from_timestamp | timestamp |
Horodatage UTC
|
hdr__operation | string(1) |
Dernière opération de cet enregistrement.
|
hdr__inserted_timestamp | timestamp | Horodatage UTC du premier ajout de la clé. En cas d'utilisation du chargement complet, il s'agit de l'heure de début du chargement complet. |
hdr__modified_timestamp | timestamp | Horodatage UTC de la dernière mise à jour. |
hdr__store | varchar(10) |
Indique l'emplacement de l'enregistrement.
|
Vue des modifications
Il s'agit d'une vue de la table de modifications dans le schéma de dépôt temporaire pour chaque table source sélectionnée.
Nommage : <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_changes
Les champs d'en-tête suivants sont ajoutés à la structure des tables.
Champ | Type | Description |
---|---|---|
hdr__change_identifier | string(50) |
L'identifiant de la modification est une chaîne composée de deux parties :
|
hdr__from_timestamp | timestamp |
Horodatage UTC
|
hdr__to_timestamp | timestamp |
Horodatage UTC
|
hdr__operation | string(1) |
Dernière opération de cet enregistrement.
|
hdr__timestamp | timestamp |
Horodatage UTC |
hdr__key_hash | binary(20) |
Hachage de toutes les clés primaires des enregistrements. Cette colonne n'est pas générée dans les tâches de données Mini-data warehouse. |
hdr__key_id | int64 |
Séquence incrémentée par enregistrement Cette colonne n'est générée que les tâches de données Mini-data warehouse. |
Vue Historique
Une vue Historique est générée dans le schéma de ressource de données pour chaque table source sélectionnée si Historique est activé dans les paramètres de la tâche de données. Les champs d'en-tête suivants sont ajoutés.
Nommage : <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffixe des vues Historique>
Champ | Type | Description |
---|---|---|
hdr__key_hash | binary(20) |
Hachage de toutes les clés primaires des enregistrements. Cette colonne n'est pas générée dans les tâches de données Mini-data warehouse. |
hdr__key_id | int64 |
Séquence incrémentée par enregistrement Cette colonne n'est générée que les tâches de données Mini-data warehouse. |
hdr__store | varchar(10) |
Indique l'emplacement de l'enregistrement.
|
hdr__operation | string(1) |
Dernière opération de cet enregistrement.
|
hdr__deleted | bit |
Indique si la suppression de l'enregistrement est réversible, selon que l'opération hdr_operation est D ou d. |
hdr__was _current_from_timestamp | timestamp |
Horodatage UTC de la première fois où l'enregistrement est apparu comme actuel. |
hdr__was _current_to_timestamp | timestamp |
Horodatage UTC de la dernière fois où l'enregistrement est apparu comme actuel. |
Vue en direct Historique
Une vue en direct Historique est générée dans le schéma de ressource de données pour chaque table source sélectionnée fusionnée avec les modifications de table des modifications. Les champs d'en-tête suivants sont ajoutés.
Nommage : <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffixe pour les vues en direct Historique>
Champ | Type | Description |
---|---|---|
hdr__key_hash | binary(20) |
Hachage de toutes les clés primaires des enregistrements. Cette colonne n'est pas générée dans les tâches de données Mini-data warehouse. |
hdr__key_id | int64 |
Séquence incrémentée par enregistrement Cette colonne n'est générée que les tâches de données Mini-data warehouse. |
hdr__store | varchar(10) |
Indique l'emplacement de l'enregistrement.
|
hdr__operation | string(1) |
Dernière opération de cet enregistrement.
|
hdr__deleted | bit |
Indique si la suppression de l'enregistrement est réversible, selon que l'opération hdr_operation est D ou d. |