Datasetarchitectuur in een clouddatawarehouse
Met Qlik Talend Data Integration kunt u een analytische gegevenspijplijn maken, beheren en controleren, waarbij gegevens helemaal tot aan de consumenten worden geleverd. Wanneer u gegevenssets genereert in een clouddatawarehouse met Qlik Talend Data Integration, worden opslagtabellen, wijzigingstabellen en weergaven gegenereerd.
Een intuïtieve en begeleide gebruikersinterface helpt u bij het bouwen, modelleren en uitvoeren van gegevenspijplijnen. Genereer automatisch schema's voor operationele gegevensopslag (ODS) en historische gegevensopslag (HDS) zonder handmatige codering.
Architectuur voor een Qlik Talend Data Integration-gegevenspijplijn met behulp van Qlik Gegevensgateway - Gegevensverplaatsing en CDC
-
Tussenopslag
De taak voor tussenopslag in Qlik Talend Data Integration regelt de continue tussenopslag van gegevens van de gegevensbronnen naar de zone voor tussenopslag. Het voorbeeld in het diagram beschrijft het gebruik van Qlik Gegevensgateway - Gegevensverplaatsing voor toegang tot gegevensbronnen met behulp van CDC om de gegevens up-to-date te houden. U kunt ook Qlik Cloud-bronverbindingen gebruiken om volledige ladingen uit te voeren die kunnen worden gepland om periodiek opnieuw te laden.
Voor informatie over wanneer u Data Movement gateway moet gebruiken, raadpleegt u Wanneer is de Data Movement gateway vereist?
InformatieTabellen in de zone voor tussenopslag worden gegenereerd voor intern gebruik door Qlik Talend Data Integration-gegevensopslagtaken. Gebruik de tabellen voor tussenopslag niet in andere downstreamprocessen. -
Opslag
De opslagtaak regelt wanneer gegevens worden toegepast op de opslagtabellen en maakt en beheert de tabellen en externe weergaven.
-
Externe weergaven
Bij het consumeren van gegevens is het de beste werkwijze om weergaven te gebruiken. Weergaven bieden verschillende voordelen ten opzichte van tabellen, waaronder verbeterde gelijktijdigheid van gegevens.
Live weergaven gebruiken
U hebt toegang tot zowel actuele gegevens (ODS) als historische gegevens (HDS) met behulp van live weergaven. Live weergaven bevatten gegevens uit wijzigingstabellen die nog niet zijn toegepast op de huidige of eerdere tabellen. Hierdoor kunt u gegevens met een lagere latentie bekijken zonder dat u gewijzigde gegevens vaak hoeft toe te passen. De mogelijkheid om de samenvoeging uit te stellen, zorgt voor lagere kosten en verwerkingsvereisten in het doelplatform.
Een ander voordeel van live weergaven is dat de rekenlaag niet de hele tijd hoeft te draaien.
-
Tussenopslag kan verwijzen naar een expliciet warehouse dat klein kan zijn, omdat het alleen INSERT-bewerkingen uitvoert voor een snelle uitvoering.
-
Het opslagproces, dat bijvoorbeeld één keer per dag wordt uitgevoerd, kan een grote rekenlaag activeren voor verwerking.
-
De latentie kan worden verbeterd, omdat we niet langer gedurende de dag wijzigingen hoeven toe te passen. Wanneer ingevoegde nieuwe records beschikbaar zijn in de wijzigingstabel, zijn ze direct beschikbaar in de live weergaven.
Schema's
Artefacten worden gegenereerd in een intern schema en een gegevenstaakschema.
-
Het intern schema bevat de fysieke gegevenstabellen.
-
Het gegevenstaakschema bevat de weergaven die u kunt gebruiken om de gegevens te consumeren.
Wanneer een schema is gekoppeld aan meer dan één gegevenstaak, moet elke gegevenstaak een uniek voorvoegsel gebruiken voor tabellen en weergaven. U kunt het voorvoegsel instellen in de instellingen van de gegevenstaak.
Alleen interne schema's worden gecontroleerd op naamgevingsconflicten. Voor andere schema's moet u ervoor zorgen dat er geen naamgevingsconflicten zijn in de tabelnamen. De beste werkwijze is om het intern schema dezelfde naam te geven als het gegevenstaakschema met _internal toegevoegd. Dit zorgt er effectief voor dat elke combinatie van schema en voorvoegsel uniek is.
Schema's die zijn gemaakt door Qlik Talend Data Integration worden niet verwijderd wanneer u taken of projecten verwijdert.
Tabellen
De volgende tabellen worden gemaakt in het intern schema.
-
Huidige tabel (ODS)
Deze tabel bevat de replica van de gegevensbron die is bijgewerkt met wijzigingen tijdens het laatste toepassingsinterval.
-
Eerdere tabel (HDS)
Deze tabel bevat historische gegevens van type 2. Deze wordt alleen gegenereerd als Geschiedenis is ingeschakeld in de instellingen van de gegevenstaak.
Wanneer een record in de brontabel wordt bijgewerkt, wordt er telkens een nieuwe record toegevoegd aan de eerdere tabel. De geschiedenisrecord is een kopie van de vorige huidige record, die ook bevat wat er is bijgewerkt en wanneer deze geldig was.
Gebruik een geschiedenisweergave of een live geschiedenisweergave om historische gegevens te bekijken. Voor meer informatie raadpleegt u Geschiedenisweergaveen Live geschiedenisweergave.
-
Wijzigingstabel
Deze tabel bevat alle wijzigingen in de bijbehorende brontabel vanaf het begin van de taak en wordt nooit afgekapt. Deze wordt alleen gegenereerd als de modus voor tussenopslag Volledige lading en CDC is.
TipAls uw systeem een groot aantal wijzigingen verwerkt, overweeg dan om toegepaste wijzigingen periodiek af te kappen uit de wijzigingstabellen. Dit zou het verbruik van resources moeten verminderen en de prestaties moeten verbeteren.
Wanneer u een record opnieuw invoegt die eerder was verwijderd en de records dezelfde primaire sleutelwaarde hebben, krijgt hdr__operation de waarde U - bijgewerkt.
Kolomnamen die beginnen met hdr__ zijn gereserveerd voor gebruik in koptekstkolommen door Qlik Talend Data Integration. Voor meer informatie raadpleegt u Dubbelzinnige kolomnamen.
Huidige tabel
Naamgeving: INTERNAL_SCHEMA.[PREFIX]TABLE_NAME_current
De volgende koptekstkolommen worden toegevoegd aan de tabelstructuur.
| Field | Type | Description |
|---|---|---|
| hdr__key_hash | varbinary(20) |
Hash van alle primaire sleutels van records. Hash-indeling is SHA1. Kolommen worden gescheiden door een backspace-teken. Deze kolom wordt niet gegenereerd in Datamart-gegevenstaken. |
| hdr__key_id | int64 |
Reeks verhoogd per record. Deze kolom wordt alleen gegenereerd in Datamart-gegevenstaken. |
| hdr__from_timestamp | timestamp |
Tijdstempel in UTC
|
| hdr__operation | string(1) |
Laatste bewerking van deze record.
|
| hdr__inserted_timestamp | timestamp | UTC-tijdstempel van de eerste keer dat de sleutel werd toegevoegd. Bij gebruik van volledige lading, de starttijd van de volledige lading. |
| hdr__modified_timestamp | timestamp | UTC-tijdstempel van wanneer de laatste update is toegepast. |
Eerdere tabel
De volgende koptekstvelden worden toegevoegd.
Naamgeving: INTERNAL_SCHEMA.[PREFIX]TABLE_NAME_prior
| Field | Type | Description |
|---|---|---|
| hdr__key_hash | varbinary(20) |
Hash van alle primaire sleutels van records. Deze kolom wordt niet gegenereerd in Datamart-gegevenstaken. |
| hdr__key_id | int64 |
Reeks verhoogd per record. Deze kolom wordt alleen gegenereerd in Datamart-gegevenstaken. |
| hdr__from_timestamp | timestamp |
Tijdstempel in UTC |
| hdr__to_timestamp | timestamp |
Tijdstempel in UTC |
| hdr__operation | string(1) |
Laatste bewerking van deze record.
|
| hdr__was_current_from_timestamp | timestamp |
Tijdstempel in UTC voor de eerste keer dat de record actueel was. |
| hdr__was_current_to_timestamp | timestamp |
Tijdstempel in UTC voor de laatste keer dat de record actueel was. |
Wijzigingstabel
Naamgeving: INTERNAL_SCHEMA.[PREFIX]TABLE_NAME_ct
De volgende koptekstvelden worden toegevoegd aan de tabelstructuur.
| Field | Type | Description |
|---|---|---|
| hdr__change_identifier | varchar(50) |
De wijzigings-ID is een tekenreeks met twee delen:
|
| hdr__operation | varchar(1) |
Laatste bewerking van deze record.
|
| hdr__timestamp | timestamp |
Tijdstempel in UTC. |
| hdr__key_hash | binary(20) |
Hash van alle primaire sleutels van records. Deze kolom wordt niet gegenereerd in Datamart-gegevenstaken. |
| hdr__key_id | int64 |
Reeks verhoogd per record. Deze kolom wordt alleen gegenereerd in Datamart-gegevenstaken. |
Weergaven
De volgende weergaven worden gemaakt in het doelschema van de gegevenstaak. Welke weergaven worden gemaakt, is afhankelijk van of u live weergaven en geschiedenis hebt ingeschakeld en of u wijzigingsafhandeling gebruikt.
-
Standaardweergave
-
Live weergave
-
Wijzigingenweergave
-
Geschiedenisweergave
-
Live geschiedenisweergave
Standaardweergave
Naamgeving: EXTERNAL_SCHEMA.[PREFIX]TABLE_NAME
Er worden geen koptekstkolommen toegevoegd aan de tabelstructuur.
Live weergave
Live weergaven tonen een weergave voor elke geselecteerde brontabel die de tabel samenvoegt met wijzigingen uit de wijzigingstabel. Dit biedt query's een live weergave van de gegevens zonder te hoeven wachten op de volgende toepassingscyclus. De wijzigingen die zijn samengevoegd vanuit de wijzigingstabelweergave zijn niet transactieconsistent tussen tabellen.
Live weergaven worden alleen gemaakt als u Live weergaven inschakelt in de instellingen van de gegevenstaak.
Naamgeving: EXTERNAL_SCHEMA.[PREFIX]TABLE_NAME Achtervoegsel voor live weergaven
| Field | Type | Description |
|---|---|---|
| hdr__key_hash | varbinary(20) |
Hash van alle primaire sleutels van records. Hash-indeling is SHA1. Kolommen worden gescheiden door een backspace-teken. Deze kolom wordt niet gegenereerd in Datamart-gegevenstaken. |
| hdr__key_id | int64 |
Reeks verhoogd per record. Deze kolom wordt alleen gegenereerd in Datamart-gegevenstaken. |
| hdr__from_timestamp | timestamp |
Tijdstempel in UTC
|
| hdr__operation | string(1) |
Laatste bewerking van deze record.
|
| hdr__inserted_timestamp | timestamp | UTC-tijdstempel van de eerste keer dat de sleutel werd toegevoegd. Bij gebruik van volledige lading, de starttijd van de volledige lading. |
| hdr__modified_timestamp | timestamp | UTC-tijdstempel van wanneer de laatste update is toegepast. |
| hdr__store | varchar(10) |
Dit geeft aan waar de record zich bevindt.
|
Wijzigingenweergave
Dit is een weergave van de wijzigingstabel in het schema voor tussenopslag voor elke geselecteerde brontabel.
Naamgeving: EXTERNAL_SCHEMA.[PREFIX]TABLE_NAME_changes
De volgende koptekstvelden worden toegevoegd aan de tabelstructuur.
| Field | Type | Description |
|---|---|---|
| hdr__change_identifier | string(50) |
De wijzigings-ID is een tekenreeks met twee delen:
|
| hdr__from_timestamp | timestamp |
Tijdstempel in UTC
|
| hdr__to_timestamp | timestamp |
Tijdstempel in UTC
|
| hdr__operation | string(1) |
Laatste bewerking van deze record.
|
| hdr__timestamp | timestamp |
Tijdstempel in UTC. |
| hdr__key_hash | binary(20) |
Hash van alle primaire sleutels van records. Deze kolom wordt niet gegenereerd in Datamart-gegevenstaken. |
| hdr__key_id | int64 |
Reeks verhoogd per record. Deze kolom wordt alleen gegenereerd in Datamart-gegevenstaken. |
Geschiedenisweergave
Er wordt een geschiedenisweergave gegenereerd in het gegevensassetschema voor elke geselecteerde brontabel als Geschiedenis is ingeschakeld in de instellingen van de gegevenstaak. De volgende koptekstvelden worden toegevoegd.
Naamgeving: EXTERNAL_SCHEMA.[PREFIX]TABLE_NAME Achtervoegsel voor geschiedenisweergaven
| Field | Type | Description |
|---|---|---|
| hdr__key_hash | binary(20) |
Hash van alle primaire sleutels van records. Deze kolom wordt niet gegenereerd in Datamart-gegevenstaken. |
| hdr__key_id | int64 |
Reeks verhoogd per record. Deze kolom wordt alleen gegenereerd in Datamart-gegevenstaken. |
| hdr__from_timestamp | timestamp |
Tijdstempel in UTC
|
| hdr__to_timestamp | timestamp |
Tijdstempel in UTC
|
| hdr__was_current_from_timestamp | timestamp |
Tijdstempel in UTC voor de eerste keer dat de record actueel was. |
| hdr__was_current_to_timestamp | timestamp |
Tijdstempel in UTC voor de laatste keer dat de record actueel was. |
| hdr__store | varchar(7) |
Dit geeft aan waar de record zich bevindt.
|
| hdr__operation | string(1) |
Laatste bewerking van deze record.
|
| hdr__deleted | bit |
Geeft aan of de record zacht is verwijderd, gebaseerd op of hdr__operation D of d is. |
Live geschiedenisweergave
Er wordt een live geschiedenisweergave gegenereerd in het gegevensassetschema voor elke geselecteerde brontabel, samengevoegd met wijzigingen uit de wijzigingstabel. De volgende koptekstvelden worden toegevoegd.
Naamgeving: EXTERNAL_SCHEMA.[PREFIX]TABLE_NAME Achtervoegsel voor live geschiedenisweergaven
| Field | Type | Description |
|---|---|---|
| hdr__key_hash | binary(20) |
Hash van alle primaire sleutels van records. Deze kolom wordt niet gegenereerd in Datamart-gegevenstaken. |
| hdr__key_id | int64 |
Reeks verhoogd per record. Deze kolom wordt alleen gegenereerd in Datamart-gegevenstaken. |
| hdr__store | varchar(10) |
Dit geeft aan waar de record zich bevindt.
|
| hdr__operation | string(1) |
Laatste bewerking van deze record.
|
| hdr__deleted | bit |
Geeft aan of de record zacht is verwijderd, gebaseerd op of hdr__operation D of d is. |