Accéder au contenu principal Passer au contenu complémentaire

Architecture de l'ensemble de données dans un entrepôt de données cloud

Qlik Cloud 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 Cloud 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.

Architecture pour un pipeline de données Qlik Cloud Data Integration à l'aide de Qlik Data Gateway - Data Movement et de CDC

  • Dépôt temporaire

    La tâche de dépôt intermédiaire dans Qlik Cloud 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.

    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 Cloud 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 meilleure 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 meilleure 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.

Note InformationsL'ensemble des tables et vues sont gérées par Qlik Cloud Data Integration. N'altérez pas les données à l'aide d'autres outils.

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, voir 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 de ressource 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.

Champs d'en-tête des tables
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

  • Pour les données extraites d'un chargement complet, il s'agira de l'heure de début du chargement complet.

  • Pour un changement provenant des tables de modifications, il s'agira du champ d'horodatage de l'enregistrement.

hdr__operation string(1)

Dernière opération de cet enregistrement.

  • D - supprimé dépuis la table de modifications.

  • U - mis à jour depuis la table de modifications.

  • I - Inséré depuis la table de modifications.

  • L - Inséré par la tâche de chargement complet.

  • d - supprimé depuis comparer et appliquer.

  • u - mis à jour depuis comparer et appliquer.

  • i - inséré depuis comparer et appliquer.

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>

Champs d'en-tête des tables
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

  • Pour les données extraites d'un chargement complet, il s'agira de l'heure de début du chargement complet.

  • Pour un changement provenant des tables de modifications, il s'agira du champ d'horodatage de l'enregistrement.

hdr__operation string(1)

Dernière opération de cet enregistrement.

  • D - supprimé dépuis la table de modifications.

  • U - mis à jour depuis la table de modifications.

  • I - Inséré depuis la table de modifications.

  • L - Inséré par la tâche de chargement complet.

  • d - supprimé depuis comparer et appliquer.

  • u - mis à jour depuis comparer et appliquer.

  • i - inséré depuis comparer et appliquer.

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.

  • CURRENT : si l'enregistrement se trouve dans la table physique actuelle.

  • CHANGES : si l'enregistrement se trouve dans la tables des modifications.

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.

Champs d'en-tête de la table de modifications
Champ Type Description
hdr__change_identifier string(50)

L'identifiant de la modification est une chaîne composée de deux parties :

  • Horodatage du début exécuté par lot en secondes depuis le 1/1/1970 (chaîne à 10 caractères)

  • Séquence de modification depuis la passerelle Replication (35 caractères)

hdr__operation string(1)

Dernière opération de cet enregistrement.

  • D - supprimé dépuis la table de modifications.

  • U - mis à jour depuis la table de modifications.

  • I - Inséré depuis la table de modifications.

  • L - Inséré par la tâche de chargement complet.

  • d - supprimé depuis comparer et appliquer.

  • u - mis à jour depuis comparer et appliquer.

  • i - inséré depuis comparer et appliquer.

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>

Champs d'en-tête de la vue 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.

  • CURRENT : si l'enregistrement se trouve dans la table physique actuelle.

  • PRIORS : si l'enregistrement se trouve dans la table précédente avec les données historiques.

hdr__operation string(1)

Dernière opération de cet enregistrement.

  • D - supprimé dépuis la table de modifications.

  • U - mis à jour depuis la table de modifications.

  • I - Inséré depuis la table de modifications.

  • L - Inséré par la tâche de chargement complet.

  • d - supprimé depuis comparer et appliquer.

  • u - mis à jour depuis comparer et appliquer.

  • i - inséré depuis comparer et appliquer.

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>

Champs d'en-tête de la vue 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.

  • CURRENT : si l'enregistrement se trouve dans la table physique actuelle.

  • PRIORS : si l'enregistrement se trouve dans la table précédente avec les données historiques.

  • CHANGES : si l'enregistrement se trouve dans la tables des modifications.

hdr__operation string(1)

Dernière opération de cet enregistrement.

  • D - supprimé dépuis la table de modifications.

  • U - mis à jour depuis la table de modifications.

  • I - Inséré depuis la table de modifications.

  • L - Inséré par la tâche de chargement complet.

  • d - supprimé depuis comparer et appliquer.

  • u - mis à jour depuis comparer et appliquer.

  • i - inséré depuis comparer et appliquer.

hdr__deleted bit

Indique si la suppression de l'enregistrement est réversible, selon que l'opération hdr_operation est D ou d.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !