Datasetarchitectuur in een clouddatawarehouse
Met Qlik Talend Data Integration kunt u een analytische gegevenspijplijn maken, beheren en besturen, waarbij gegevens helemaal tot aan de consumenten worden geleverd. Wanneer u datasets 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 tussenopslagtaak in Qlik Talend Data Integration regelt de continue tussenopslag van gegevens van de gegevensbronnen naar de tussenopslagzone. Het voorbeeld in het diagram beschrijft het gebruik van Qlik Gegevensgateway - Gegevensverplaatsing om toegang te krijgen 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 tussenopslagzone worden gegenereerd voor intern gebruik door Qlik Talend Data Integration-opslaggegevenstaken. Gebruik de tussenopslagtabellen 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 gegevensgelijktijdigheid.
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 de hele dag door 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 gegevenstaakinstellingen.
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 gegevenstaakinstellingen.
Wanneer een brontabelrecord wordt bijgewerkt, wordt er elke keer een nieuw record toegevoegd aan de eerdere tabel. Het geschiedenisrecord is een kopie van het vorige huidige record, dat ook bevat wat er is bijgewerkt en wanneer het geldig was.
Gebruik een geschiedenisweergave of een live geschiedenisweergave om historische gegevens te bekijken. Voor meer informatie, zie Geschiedenisweergave en Live geschiedenisweergave.
-
Wijzigingentabel
Deze tabel bevat alle wijzigingen die nog niet zijn toegepast op de huidige tabel. Deze wordt alleen gegenereerd als de tussenopslagmodus Volledige lading en CDC wordt gebruikt.
Wanneer u een record opnieuw invoegt dat eerder was verwijderd, en de records hebben dezelfde primaire sleutelwaarde, 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, zie Dubbelzinnige kolomnamen.
Huidige tabel
Naamgeving: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_current
De volgende koptekstkolommen worden toegevoegd aan de tabelstructuur.
| Veld | Type | Beschrijving |
|---|---|---|
| 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 dit 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
| Veld | Type | Beschrijving |
|---|---|---|
| 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 dit record.
|
| hdr__was_current_from_timestamp | timestamp |
Tijdstempel in UTC voor de eerste keer dat het record actueel was. |
| hdr__was_current_to_timestamp | timestamp |
Tijdstempel in UTC voor de laatste keer dat het record actueel was. |
Wijzigingentabel
Naamgeving: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_ct
De volgende koptekstvelden worden toegevoegd aan de tabelstructuur.
| Veld | Type | Beschrijving |
|---|---|---|
| hdr__change_identifier | varchar(50) |
De wijzigings-ID is een tekenreeks met twee delen:
|
| hdr__operation | varchar(1) |
Laatste bewerking van dit 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>
| Veld | Type | Beschrijving |
|---|---|---|
| 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 dit 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 het record zich bevindt.
|
Wijzigingenweergave
Dit is een weergave van de wijzigingstabel in het tussenopslagschema voor elke geselecteerde brontabel.
Naamgeving: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_changes
De volgende koptekstvelden worden toegevoegd aan de tabelstructuur.
| Veld | Type | Beschrijving |
|---|---|---|
| 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 dit 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 gegevenstaakinstellingen. De volgende koptekstvelden worden toegevoegd.
Naamgeving: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Achtervoegsel voor geschiedenisweergaven>
| Veld | Type | Beschrijving |
|---|---|---|
| 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 het record actueel was. |
| hdr__was_current_to_timestamp | timestamp |
Tijdstempel in UTC voor de laatste keer dat het record actueel was. |
| hdr__store | varchar(7) |
Dit geeft aan waar het record zich bevindt.
|
| hdr__operation | string(1) |
Laatste bewerking van dit record.
|
| hdr__deleted | bit |
Geeft aan of het 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>
| Veld | Type | Beschrijving |
|---|---|---|
| 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 het record zich bevindt.
|
| hdr__operation | string(1) |
Laatste bewerking van dit record.
|
| hdr__deleted | bit |
Geeft aan of het record zacht is verwijderd, gebaseerd op of hdr__operation D of d is. |