Architettura del dataset in un data warehouse cloud
Qlik Talend Data Integration consente di creare, gestire e controllare una data pipeline di analisi, distribuendo i dati fino ai consumatori. Quando si generano dataset in un data warehouse cloud con Qlik Talend Data Integration, vengono generate tabelle di archiviazione, tabelle delle modifiche e viste.
Un'interfaccia utente intuitiva e guidata aiuta a creare, modellare ed eseguire data pipeline. Genera automaticamente schemi per archivi dati operativi (ODS) e archivi dati storici (HDS) senza codifica manuale.
Architettura per una data pipeline di Qlik Talend Data Integration utilizzando Qlik Data Gateway - Movimento dati e CDC
-
Trasferimento
L'attività di trasferimento in Qlik Talend Data Integration controlla il trasferimento continuo dei dati dalle sorgenti dati alla zona di trasferimento. L'esempio nel diagramma descrive l'utilizzo di Qlik Data Gateway - Movimento dati per accedere alle sorgenti dati utilizzando CDC per mantenere i dati aggiornati. È inoltre possibile utilizzare le connessioni di origine di Qlik Cloud per eseguire caricamenti completi che possono essere programmati per ricaricarsi periodicamente.
Per informazioni su quando è necessario utilizzare Gateway Data Movement, vedere Quando è richiesto il Gateway Data Movement?
Nota informaticaLe tabelle nella zona di trasferimento sono generate per uso interno dalle attività dati di archiviazione di Qlik Talend Data Integration. Non utilizzare le tabelle di trasferimento in nessun altro processo a valle. -
Archiviazione
L'attività di archiviazione controlla quando i dati vengono applicati alle tabelle di archiviazione e crea e gestisce le tabelle e le viste esterne.
-
Viste esterne
Quando si consumano dati, la best practice è utilizzare le viste. Le viste offrono diversi vantaggi rispetto alle tabelle, tra cui una migliore concorrenza dei dati.
Utilizzo delle viste live
È possibile accedere sia ai dati correnti (ODS) che ai dati storici (HDS) utilizzando le viste live. Le viste live includono i dati delle tabelle delle modifiche che non sono ancora stati applicati alle tabelle correnti o precedenti. Ciò consente di visualizzare i dati con una latenza inferiore senza dover applicare frequentemente i dati modificati. La capacità di ritardare l'unione consente di ridurre i costi e i requisiti di elaborazione nella piattaforma di destinazione.
Un altro vantaggio delle viste live è che il livello di calcolo non deve essere sempre in esecuzione.
-
Il trasferimento può puntare a un warehouse esplicito che può essere di piccole dimensioni, poiché esegue solo operazioni INSERT per un'esecuzione rapida.
-
Il processo di archiviazione, in esecuzione ad esempio una volta al giorno, può riattivare un livello di calcolo di grandi dimensioni per l'elaborazione.
-
La latenza può essere migliorata, poiché non è più necessario applicare le modifiche durante il giorno. Quando i nuovi record inseriti sono disponibili nella tabella delle modifiche, sono immediatamente disponibili nelle viste live.
Schemi
Gli artefatti vengono generati in uno schema interno e in uno schema dell'attività dati.
-
Lo schema interno contiene le tabelle dati fisiche.
-
Lo schema dell'attività dati contiene le viste che è possibile utilizzare per consumare i dati.
Quando uno schema è associato a più di un'attività dati, ogni attività dati deve utilizzare un prefisso univoco per tabelle e viste. È possibile impostare il prefisso nelle impostazioni dell'attività dati.
Solo gli schemi interni vengono controllati per eventuali conflitti di denominazione. Per gli altri schemi, è necessario assicurarsi che non vi siano conflitti di denominazione nei nomi delle tabelle. La best practice consiste nel denominare lo schema interno con lo stesso nome dello schema dell'attività dati con l'aggiunta di _internal. Ciò assicurerà efficacemente che ogni combinazione di schema e prefisso sia univoca.
Gli schemi creati da Qlik Talend Data Integration non verranno eliminati quando si eliminano attività o progetti.
Tabelle
Le seguenti tabelle vengono create nello schema interno.
-
Tabella corrente (ODS)
Questa tabella contiene la replica della sorgente dati aggiornata con le modifiche durante l'ultimo intervallo di applicazione.
-
Tabella precedente (HDS)
Questa tabella contiene dati storici di tipo 2. Viene generata solo se Cronologia è abilitata nelle impostazioni dell'attività dati.
Quando un record della tabella di origine viene aggiornato, ogni volta viene aggiunto un nuovo record alla tabella precedente. Il record della cronologia è una copia del record corrente precedente, che include anche ciò che è stato aggiornato e quando era valido.
Utilizzare una vista cronologia o una vista live della cronologia per visualizzare i dati storici. Per ulteriori informazioni, vedere Vista cronologia e Vista live della cronologia.
-
Tabella delle modifiche
Questa tabella contiene tutte le modifiche che non sono ancora state applicate alla tabella corrente. Viene generata solo se viene utilizzata la modalità di trasferimento Caricamento completo e CDC.
Quando si reinserisce un record che era stato precedentemente eliminato e i record hanno lo stesso valore di chiave primaria, hdr__operation avrà il valore U - aggiornato.
I nomi delle colonne che iniziano con hdr__ sono riservati per l'uso nelle colonne di intestazione da parte di Qlik Talend Data Integration. Per ulteriori informazioni, vedere Nomi di colonna ambigui.
Tabella corrente
Denominazione: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_current
Le seguenti colonne di intestazione vengono aggiunte alla struttura della tabella.
| Campo | Tipo | Descrizione |
|---|---|---|
| hdr__key_hash | varbinary(20) |
Hash di tutte le chiavi primarie del record. Il formato dell'hash è SHA1. Le colonne sono separate da un carattere backspace. Questa colonna non viene generata nelle attività dati Data mart. |
| hdr__key_id | int64 |
Sequenza incrementata per record. Questa colonna viene generata solo nelle attività dati Data mart. |
| hdr__from_timestamp | timestamp |
Timestamp in UTC
|
| hdr__operation | string(1) |
Ultima operazione di questo record.
|
| hdr__inserted_timestamp | timestamp | Timestamp UTC della prima volta in cui è stata aggiunta la chiave. Quando si utilizza il caricamento completo, l'ora di inizio del caricamento completo. |
| hdr__modified_timestamp | timestamp | Timestamp UTC di quando è stato applicato l'ultimo aggiornamento. |
Tabella precedente
Vengono aggiunti i seguenti campi di intestazione.
Denominazione: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_prior
| Campo | Tipo | Descrizione |
|---|---|---|
| hdr__key_hash | varbinary(20) |
Hash di tutte le chiavi primarie del record. Questa colonna non viene generata nelle attività dati Data mart. |
| hdr__key_id | int64 |
Sequenza incrementata per record. Questa colonna viene generata solo nelle attività dati Data mart. |
| hdr__from_timestamp | timestamp |
Timestamp in UTC |
| hdr__to_timestamp | timestamp |
Timestamp in UTC |
| hdr__operation | string(1) |
Ultima operazione di questo record.
|
| hdr__was_current_from_timestamp | timestamp |
Timestamp in UTC per la prima volta in cui il record era corrente. |
| hdr__was_current_to_timestamp | timestamp |
Timestamp in UTC per l'ultima volta in cui il record era corrente. |
Tabella delle modifiche
Denominazione: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_ct
I seguenti campi di intestazione vengono aggiunti alla struttura della tabella.
| Campo | Tipo | Descrizione |
|---|---|---|
| hdr__change_identifier | varchar(50) |
L'identificatore della modifica è una stringa composta da due parti:
|
| hdr__operation | varchar(1) |
Ultima operazione di questo record.
|
| hdr__timestamp | timestamp |
Timestamp in UTC. |
| hdr__key_hash | binary(20) |
Hash di tutte le chiavi primarie del record. Questa colonna non viene generata nelle attività dati Data mart. |
| hdr__key_id | int64 |
Sequenza incrementata per record. Questa colonna viene generata solo nelle attività dati Data mart. |
Viste
Le seguenti viste vengono create nello schema di destinazione dell'attività dati. Le viste create dipendono dall'abilitazione delle viste live e della cronologia e dall'utilizzo della gestione delle modifiche.
-
Vista standard
-
Vista live
-
Vista delle modifiche
-
Vista cronologia
-
Vista live della cronologia
Vista standard
Denominazione: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>
Nessuna colonna di intestazione viene aggiunta alla struttura della tabella.
Vista live
Le viste live mostrano una vista per ogni tabella di origine selezionata che unisce la tabella con le modifiche dalla tabella delle modifiche. Ciò fornisce alle query una vista live dei dati senza dover attendere il ciclo di applicazione successivo. Le modifiche unite dalla vista della tabella delle modifiche non sono coerenti a livello di transazione tra le tabelle.
Le viste live vengono create solo se si abilita Viste live nelle impostazioni dell'attività dati.
Denominazione: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffisso per le viste live>
| Campo | Tipo | Descrizione |
|---|---|---|
| hdr__key_hash | varbinary(20) |
Hash di tutte le chiavi primarie del record. Il formato dell'hash è SHA1. Le colonne sono separate da un carattere backspace. Questa colonna non viene generata nelle attività dati Data mart. |
| hdr__key_id | int64 |
Sequenza incrementata per record. Questa colonna viene generata solo nelle attività dati Data mart. |
| hdr__from_timestamp | timestamp |
Timestamp in UTC
|
| hdr__operation | string(1) |
Ultima operazione di questo record.
|
| hdr__inserted_timestamp | timestamp | Timestamp UTC della prima volta in cui è stata aggiunta la chiave. Quando si utilizza il caricamento completo, l'ora di inizio del caricamento completo. |
| hdr__modified_timestamp | timestamp | Timestamp UTC di quando è stato applicato l'ultimo aggiornamento. |
| hdr__store | varchar(10) |
Questo indica dove risiede il record.
|
Vista delle modifiche
Questa è una vista della tabella delle modifiche nello schema di trasferimento per ogni tabella di origine selezionata.
Denominazione: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_changes
I seguenti campi di intestazione vengono aggiunti alla struttura della tabella.
| Campo | Tipo | Descrizione |
|---|---|---|
| hdr__change_identifier | string(50) |
L'identificatore della modifica è una stringa composta da due parti:
|
| hdr__from_timestamp | timestamp |
Timestamp in UTC
|
| hdr__to_timestamp | timestamp |
Timestamp in UTC
|
| hdr__operation | string(1) |
Ultima operazione di questo record.
|
| hdr__timestamp | timestamp |
Timestamp in UTC. |
| hdr__key_hash | binary(20) |
Hash di tutte le chiavi primarie del record. Questa colonna non viene generata nelle attività dati Data mart. |
| hdr__key_id | int64 |
Sequenza incrementata per record. Questa colonna viene generata solo nelle attività dati Data mart. |
Vista cronologia
Una vista cronologia viene generata nello schema asset di dati per ogni tabella di origine selezionata se Cronologia è abilitata nelle impostazioni dell'attività dati. Vengono aggiunti i seguenti campi di intestazione.
Denominazione: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffisso per le viste cronologia>
| Campo | Tipo | Descrizione |
|---|---|---|
| hdr__key_hash | binary(20) |
Hash di tutte le chiavi primarie del record. Questa colonna non viene generata nelle attività dati Data mart. |
| hdr__key_id | int64 |
Sequenza incrementata per record. Questa colonna viene generata solo nelle attività dati Data mart. |
| hdr__from_timestamp | timestamp |
Timestamp in UTC
|
| hdr__to_timestamp | timestamp |
Timestamp in UTC
|
| hdr__was_current_from_timestamp | timestamp |
Timestamp in UTC per la prima volta in cui il record era corrente. |
| hdr__was_current_to_timestamp | timestamp |
Timestamp in UTC per l'ultima volta in cui il record era corrente. |
| hdr__store | varchar(7) |
Questo indica dove risiede il record.
|
| hdr__operation | string(1) |
Ultima operazione di questo record.
|
| hdr__deleted | bit |
Indica se il record è stato eliminato in modo logico (soft delete), in base al fatto che hdr__operation sia D o d. |
Vista live della cronologia
Una vista live della cronologia viene generata nello schema asset di dati per ogni tabella di origine selezionata unita alle modifiche dalla tabella delle modifiche. Vengono aggiunti i seguenti campi di intestazione.
Denominazione: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffisso per le viste live della cronologia>
| Campo | Tipo | Descrizione |
|---|---|---|
| hdr__key_hash | binary(20) |
Hash di tutte le chiavi primarie del record. Questa colonna non viene generata nelle attività dati Data mart. |
| hdr__key_id | int64 |
Sequenza incrementata per record. Questa colonna viene generata solo nelle attività dati Data mart. |
| hdr__store | varchar(10) |
Questo indica dove risiede il record.
|
| hdr__operation | string(1) |
Ultima operazione di questo record.
|
| hdr__deleted | bit |
Indica se il record è stato eliminato in modo logico (soft delete), in base al fatto che hdr__operation sia D o d. |