# Datamängdsarkitektur i ett molndatalager

Qlik Talend Data Integration låter dig skapa, hantera och styra en analysdatapipeline, som levererar data hela vägen till konsumenterna. När du genererar datamängder i ett molndatalager med Qlik Talend Data Integration genereras lagringstabeller, ändringstabeller och vyer.

Ett intuitivt och väglett användargränssnitt hjälper dig att bygga, modellera och köra datapipelines. Generera automatiskt scheman för operativa datalager (ODS) och historiska datalager (HDS) utan manuell kodning.

Arkitektur för en Qlik Talend Data Integration-datapipeline med Qlik Data Gateway – dataflytt och CDC

Arkitektur för en Qlik Talend Data Integration-datapipeline med Qlik Data Gateway – dataflytt och CDC

Arkitektur för en Qlik Talend Data IntegrationQlik Talend Data Integration-datapipeline med Qlik Data Gateway – dataflyttQlik Data Gateway – dataflytt och CDC ![](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/dr_DIArchitecture_v1.svg)

* Mellanlagring

  Mellanlagringsaktiviteten i Qlik Talend Data Integration styr den kontinuerliga mellanlagringen av data från datakällorna till mellanlagringszonen. Exemplet i diagrammet beskriver användningen av Qlik Data Gateway – dataflytt för att komma åt datakällor med CDC för att hålla data uppdaterade. Du kan också använda Qlik Cloud-källkopplingar för att utföra fullständiga laddningar som kan schemaläggas för att laddas om regelbundet.

  För information om när du behöver använda Gateway för dataflytt, se [När krävs Gateway för dataflytt?](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm#top)

  Anteckning om informationTabeller i mellanlagringszonen genereras för internt bruk av Qlik Talend Data Integration-lagringsdataaktiviteter. Använd inte mellanlagringstabellerna i några andra nedströmsprocesser.

* Lagring

  Lagringsaktiviteten styr när data tillämpas på lagringstabellerna, och skapar och hanterar tabellerna och de externa vyerna.

* Externa vyer

  När du konsumerar data är bästa praxis att använda vyer. Vyer ger flera fördelar jämfört med tabeller, inklusive förbättrad datakonkurrens.

## Använda livevyer

Du kan komma åt både aktuella data (ODS) och historiska data (HDS) med hjälp av livevyer. Livevyer inkluderar data från ändringstabeller som ännu inte har tillämpats på de aktuella eller tidigare tabellerna. Detta låter dig se data med lägre latens utan att behöva tillämpa ändrade data ofta. Möjligheten att fördröja sammanslagningen möjliggör minskade kostnader och bearbetningskrav i målplattformen.

En annan fördel med livevyer är att beräkningsnivån inte behöver köras hela tiden.

* Mellanlagring kan peka på ett explicit datalager som kan vara litet, eftersom det bara utför INSERT-operationer för snabb exekvering.

* Lagringsprocessen, som till exempel körs en gång om dagen, kan väcka ett stort beräkningsskikt för bearbetning.

* Latensen kan förbättras, eftersom vi inte längre behöver tillämpa ändringar under hela dagen. När infogade nya poster är tillgängliga i ändringstabellen är de tillgängliga direkt i livevyerna.

[Visa videoklipp](https://play.vidyard.com/USr4BCxeuYsVV1hE5JmKWb)

## Scheman

Artefakter genereras i ett internt schema och ett dataaktivitetsschema.

* Det interna schemat innehåller de fysiska datatabellerna.

* Dataaktivitetsschemat innehåller de vyer som du kan använda för att konsumera data.

  När ett schema är associerat med mer än en dataaktivitet måste varje dataaktivitet använda ett unikt prefix för tabeller och vyer. Du kan ställa in prefixet i dataaktivitetsinställningarna.

Endast interna scheman kontrolleras för namnkonflikter. För andra scheman måste du se till att det inte finns några namnkonflikter i tabellnamnen. Bästa praxis är att ge det interna schemat samma namn som dataaktivitetsschemat med \_internal tillagt. Detta säkerställer effektivt att varje kombination av schema och prefix är unik.

Scheman som skapats av Qlik Talend Data Integration kommer inte att raderas när du raderar aktiviteter eller projekt.

Anteckning om informationAlla tabeller och vyer hanteras av Qlik Talend Data Integration. Ändra inte data med andra verktyg.

## Tabeller

Följande tabeller skapas i det interna schemat.

Anteckning om informationTabeller i det interna schemat kan ändras utan föregående meddelande. Du bör i första hand använda vyer för att konsumera data där det är möjligt.

* Aktuell tabell (ODS)

  Den här tabellen innehåller repliken av datakällan uppdaterad med ändringar under det senaste tillämpningsintervallet.

* Tidigare tabell (HDS)

  Den här tabellen innehåller historiska data av typ 2. Den genereras endast om Historik är aktiverat i dataaktivitetsinställningarna.

  När en källtabellspost uppdateras läggs en ny post till i den tidigare tabellen varje gång. Historikposten är en kopia av den föregående aktuella posten, som också inkluderar vad som uppdaterades och när den var giltig.

  Använd en historikvy eller en historiklivevy för att visa historiska data. För mer information, se [Historikvy](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Storage/dataset-tables.htm#History) och [Historiklivevy](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Storage/dataset-tables.htm#History2).

* Ändringstabell

  Den här tabellen innehåller alla ändringar i motsvarande källtabell från början av aktiviteten och trunkeras aldrig. Den genereras endast om mellanlagringsläget är Fullständig laddning och CDC.

  Anteckning om tipsOm ditt system hanterar en stor mängd ändringar bör du överväga att regelbundet trunkera tillämpade ändringar från ändringstabellerna. Detta bör minska resursförbrukningen och förbättra prestandan.

Anteckning om information

När du återinfogar en post som tidigare raderats, och posterna har samma primärnyckelvärde, kommer hdr\_\_operation att ha värdet U - uppdaterad.

Kolumnnamn som börjar med hdr\_\_ är reserverade för användning i rubrikkolumner av Qlik Talend Data Integration. För mer information, se [Tvetydiga kolumnnamn](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Deploying/Troubleshooting-data-assets.htm#Ambiguou).

### Aktuell tabell

Namngivning: &lt;INTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;\_current

Följande rubrikkolumner läggs till i tabellstrukturen.

Rubrikfält för aktuell tabell

| Fält | Typ | Beskrivning |
| --- | --- | --- |
| hdr\_\_key\_hash | varbinary(20) | Hash av alla postprimärnycklar. Hash-formatet är SHA1. Kolumner separeras med ett backstegstecken.<br><br>Den här kolumnen genereras inte i Data mart-dataaktiviteter. |
| hdr\_\_key\_id | int64 | Sekvens som ökas per post.<br><br>Den här kolumnen genereras endast i Data mart-dataaktiviteter. |
| hdr\_\_from\_timestamp | timestamp | Tidsmarkör i UTC<br><br><ul> <li> <p>För data som hämtas från fullständig laddning kommer det att vara starttiden för den fullständiga laddningen.</p> </li> <li> <p>För en ändring som kommer via ändringstabeller kommer det att vara tidsmarkörfältet för posten.</p> </li> </ul> |
| hdr\_\_operation | string(1) | Senaste operationen för den här posten.<br><br><ul> <li> <p>D - raderad från ändringstabell.</p> </li> <li> <p>U - uppdaterad från ändringstabell.</p> </li> <li> <p>I - infogad från ändringstabell.</p> </li> <li> <p>L - infogad av fullständig laddningsaktivitet.</p> </li> <li> <p>d - raderad från jämför och tillämpa.</p> </li> <li> <p>u - uppdaterad från jämför och tillämpa.</p> </li> <li> <p>i - infogad från jämför och tillämpa.</p> </li> </ul> |
| hdr\_\_inserted\_timestamp | timestamp | UTC-tidsmarkör för första gången nyckeln lades till. Vid användning av fullständig laddning, starttiden för den fullständiga laddningen. |
| hdr\_\_modified\_timestamp | timestamp | UTC-tidsmarkör för när den senaste uppdateringen tillämpades. |

### Tidigare tabell

Följande rubrikfält läggs till.

Namngivning: &lt;INTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;\_prior

Rubrikfält för tidigare tabell

| Fält | Typ | Beskrivning |
| --- | --- | --- |
| hdr\_\_key\_hash | varbinary(20) | Hash av alla postprimärnycklar.<br><br>Den här kolumnen genereras inte i Data mart-dataaktiviteter. |
| hdr\_\_key\_id | int64 | Sekvens som ökas per post.<br><br>Den här kolumnen genereras endast i Data mart-dataaktiviteter. |
| hdr\_\_from\_timestamp | timestamp | Tidsmarkör i UTC |
| hdr\_\_to\_timestamp | timestamp | Tidsmarkör i UTC |
| hdr\_\_operation | string(1) | Senaste operationen för den här posten.<br><br><ul> <li> <p>D - raderad från ändringstabell.</p> </li> <li> <p>U - uppdaterad från ändringstabell.</p> </li> <li> <p>I - infogad från ändringstabell.</p> </li> <li> <p>L - infogad av initial laddning.</p> </li> <li> <p>d - raderad från jämför och tillämpa.</p> </li> <li> <p>u - uppdaterad från jämför och tillämpa.</p> </li> <li> <p>i - infogad från jämför och tillämpa.</p> </li> </ul> |
| hdr\_\_was\_current\_from\_timestamp | timestamp | Tidsmarkör i UTC för första gången posten var aktuell. |
| hdr\_\_was\_current\_to\_timestamp | timestamp | Tidsmarkör i UTC för sista gången posten var aktuell. |

### Ändringstabell

Namngivning: &lt;INTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;\_ct

Följande rubrikfält läggs till i tabellstrukturen.

Rubrikfält för ändringstabell

| Fält | Typ | Beskrivning |
| --- | --- | --- |
| hdr\_\_change\_identifier | varchar(50) | Ändringsidentifieraren är en sträng med två delar:<br><br><ul> <li> <p>Starttidsmarkör för batchkörning i millisekunder sedan 1970-01-01 (10-siffrig sträng)</p> </li> <li> <p>Ändringssekvens från replikeringsgatewayen (35 tecken)</p> </li> </ul> |
| hdr\_\_operation | varchar(1) | Senaste operationen för den här posten.<br><br><ul> <li> <p>D - raderad från ändringstabell.</p> </li> <li> <p>U - uppdaterad från ändringstabell.</p> </li> <li> <p>I - infogad från ändringstabell.</p> </li> <li> <p>d - raderad från jämför och tillämpa.</p> </li> <li> <p>u - uppdaterad från jämför och tillämpa.</p> </li> <li> <p>i - infogad från jämför och tillämpa.</p> </li> </ul> |
| hdr\_\_timestamp | timestamp | Tidsmarkör i UTC. |
| hdr\_\_key\_hash | binary(20) | Hash av alla postprimärnycklar.<br><br>Den här kolumnen genereras inte i Data mart-dataaktiviteter. |
| hdr\_\_key\_id | int64 | Sekvens som ökas per post.<br><br>Den här kolumnen genereras endast i Data mart-dataaktiviteter. |

## Vyer

Följande vyer skapas i dataaktivitetens målschema. Vilka vyer som skapas beror på om du har aktiverat livevyer och historik, och om du använder ändringshantering.

* Standardvy

* Livevy

* Ändringsvy

* Historikvy

* Historiklivevy

Anteckning om informationAlla rubrikkolumnnamn som börjar med hdr\_\_ är reserverade. Om du konsumerar en vy i en lagringsaktivitet måste du byta namn på de konsumerade rubrikkolumnerna i lagringsaktiviteten för att undvika en namnkonflikt, eftersom lagringsaktiviteten kommer att generera vyer med samma rubrikkolumner.

### Standardvy

Namngivning: &lt;EXTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;

Inga rubrikkolumner läggs till i tabellstrukturen.

### Livevy

Livevyer visar en vy för varje vald källtabell som slår samman tabellen med ändringar från ändringstabellen. Detta ger frågor en livevy av data utan att behöva vänta på nästa tillämpningscykel. Ändringarna som slås samman från ändringstabellsvyn är inte transaktionskonsekventa mellan tabeller.

Livevyer skapas endast om du aktiverar Livevyer i inställningarna för dataaktiviteten.

Namngivning: &lt;EXTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;&lt; Suffix för livevyer&gt;

Tabellrubrikfält

| Fält | Typ | Beskrivning |
| --- | --- | --- |
| hdr\_\_key\_hash | varbinary(20) | Hash av alla postprimärnycklar. Hash-formatet är SHA1. Kolumner separeras med ett backstegstecken.<br><br>Den här kolumnen genereras inte i Data mart-dataaktiviteter. |
| hdr\_\_key\_id | int64 | Sekvens som ökas per post.<br><br>Den här kolumnen genereras endast i Data mart-dataaktiviteter. |
| hdr\_\_from\_timestamp | timestamp | Tidsmarkör i UTC<br><br><ul> <li> <p>För data som hämtas från fullständig laddning kommer det att vara starttiden för den fullständiga laddningen.</p> </li> <li> <p>För en ändring som kommer via ändringstabeller kommer det att vara tidsmarkörfältet för posten.</p> </li> </ul> |
| hdr\_\_operation | string(1) | Senaste operationen för den här posten.<br><br><ul> <li> <p>D - raderad från ändringstabell.</p> </li> <li> <p>U - uppdaterad från ändringstabell.</p> </li> <li> <p>I - infogad från ändringstabell.</p> </li> <li> <p>L - infogad av fullständig laddningsaktivitet.</p> </li> <li> <p>d - raderad från jämför och tillämpa.</p> </li> <li> <p>u - uppdaterad från jämför och tillämpa.</p> </li> <li> <p>i - infogad från jämför och tillämpa.</p> </li> </ul> |
| hdr\_\_inserted\_timestamp | timestamp | UTC-tidsmarkör för första gången nyckeln lades till. Vid användning av fullständig laddning, starttiden för den fullständiga laddningen. |
| hdr\_\_modified\_timestamp | timestamp | UTC-tidsmarkör för när den senaste uppdateringen tillämpades. |
| hdr\_\_store | varchar(10) | Detta indikerar var posten finns.<br><br><ul> <li> <p><span>CURRENT</span> - om posten finns i den aktuella fysiska tabellen.</p> </li> <li> <p><span>CHANGES</span> - om posten finns i ändringstabellen.</p> </li> </ul> |

### Ändringsvy

Detta är en vy av ändringstabellen i mellanlagringsschemat för varje vald källtabell.

Namngivning: &lt;EXTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;\_changes

Följande rubrikfält läggs till i tabellstrukturen.

Rubrikfält för ändringsvy

| Fält | Typ | Beskrivning |
| --- | --- | --- |
| hdr\_\_change\_identifier | string(50) | Ändringsidentifieraren är en sträng med två delar:<br><br><ul> <li> <p>Starttidsmarkör för batchkörning i millisekunder sedan 1970-01-01 (10-siffrig sträng)</p> </li> <li> <p>Ändringssekvens från replikeringsgatewayen (35 tecken)</p> </li> </ul> |
| hdr\_\_from\_timestamp | timestamp | Tidsmarkör i UTC<br><br><ul> <li> <p>För data som hämtas från fullständig laddning kommer det att vara starttiden för den fullständiga laddningen.</p> </li> <li> <p>För en ändring som kommer via ändringstabeller kommer det att vara tidsmarkörfältet för posten.</p> </li> </ul> |
| hdr\_\_to\_timestamp | timestamp | Tidsmarkör i UTC<br><br><ul> <li> <p>För data som hämtas från fullständig laddning kommer det att vara starttiden för den fullständiga laddningen.</p> </li> <li> <p>För en ändring som kommer via ändringstabeller kommer det att vara tidsmarkörfältet för posten.</p> </li> </ul> |
| hdr\_\_operation | string(1) | Senaste operationen för den här posten.<br><br><ul> <li> <p>D - raderad från ändringstabell.</p> </li> <li> <p>U - uppdaterad från ändringstabell.</p> </li> <li> <p>I - infogad från ändringstabell.</p> </li> <li> <p>L - infogad av fullständig laddningsaktivitet.</p> </li> <li> <p>d - raderad från jämför och tillämpa.</p> </li> <li> <p>u - uppdaterad från jämför och tillämpa.</p> </li> <li> <p>i - infogad från jämför och tillämpa.</p> </li> </ul> |
| hdr\_\_timestamp | timestamp | Tidsmarkör i UTC. |
| hdr\_\_key\_hash | binary(20) | Hash av alla postprimärnycklar.<br><br>Den här kolumnen genereras inte i Data mart-dataaktiviteter. |
| hdr\_\_key\_id | int64 | Sekvens som ökas per post.<br><br>Den här kolumnen genereras endast i Data mart-dataaktiviteter. |

### Historikvy

En historikvy genereras i datatillgångsschemat för varje vald källtabell om Historik är aktiverat i dataaktivitetsinställningarna. Följande rubrikfält läggs till.

Namngivning: &lt;EXTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;&lt; Suffix för historikvyer&gt;

Rubrikfält för historikvy

| Fält | Typ | Beskrivning |
| --- | --- | --- |
| hdr\_\_key\_hash | binary(20) | Hash av alla postprimärnycklar.<br><br>Den här kolumnen genereras inte i Data mart-dataaktiviteter. |
| hdr\_\_key\_id | int64 | Sekvens som ökas per post.<br><br>Den här kolumnen genereras endast i Data mart-dataaktiviteter. |
| hdr\_\_from\_timestamp | timestamp | Tidsmarkör i UTC<br><br><ul> <li> <p>För data som hämtas från fullständig laddning kommer det att vara starttiden för den fullständiga laddningen.</p> </li> <li> <p>För en ändring som kommer via ändringstabeller kommer det att vara tidsmarkörfältet för posten.</p> </li> </ul> |
| hdr\_\_to\_timestamp | timestamp | Tidsmarkör i UTC<br><br><ul> <li> <p>För data som hämtas från fullständig laddning kommer det att vara starttiden för den fullständiga laddningen.</p> </li> <li> <p>För en ändring som kommer via ändringstabeller kommer det att vara tidsmarkörfältet för posten.</p> </li> </ul> |
| hdr\_\_was\_current\_from\_timestamp | timestamp | Tidsmarkör i UTC för första gången posten var aktuell. |
| hdr\_\_was\_current\_to\_timestamp | timestamp | Tidsmarkör i UTC för sista gången posten var aktuell. |
| hdr\_\_store | varchar(7) | Detta indikerar var posten finns.<br><br><ul> <li> <p><span>CURRENT</span> - om posten finns i den aktuella fysiska tabellen.</p> </li> <li> <p><span>PRIORS</span> - om posten finns i den tidigare tabellen med historiska data.</p> </li> </ul> |
| hdr\_\_operation | string(1) | Senaste operationen för den här posten.<br><br><ul> <li> <p>D - raderad från ändringstabell.</p> </li> <li> <p>U - uppdaterad från ändringstabell.</p> </li> <li> <p>I - infogad från ändringstabell.</p> </li> <li> <p>L - infogad av fullständig laddningsaktivitet.</p> </li> <li> <p>d - raderad från jämför och tillämpa.</p> </li> <li> <p>u - uppdaterad från jämför och tillämpa.</p> </li> <li> <p>i - infogad från jämför och tillämpa.</p> </li> </ul> |
| hdr\_\_deleted | bit | Indikerar om posten är mjukt raderad, baserat på om hdr\_\_operation är D eller d. |

### Historiklivevy

En historiklivevy genereras i datatillgångsschemat för varje vald källtabell för varje vald källtabell sammanslagen med ändringar från ändringstabellen. Följande rubrikfält läggs till.

Namngivning: &lt;EXTERNAL\_SCHEMA&gt;.[&lt;PREFIX&gt;]&lt;TABLE\_NAME&gt;&lt; Suffix för livehistorikvyer&gt;

Rubrikfält för livehistorikvy

| Fält | Typ | Beskrivning |
| --- | --- | --- |
| hdr\_\_key\_hash | binary(20) | Hash av alla postprimärnycklar.<br><br>Den här kolumnen genereras inte i Data mart-dataaktiviteter. |
| hdr\_\_key\_id | int64 | Sekvens som ökas per post.<br><br>Den här kolumnen genereras endast i Data mart-dataaktiviteter. |
| hdr\_\_store | varchar(10) | Detta indikerar var posten finns.<br><br><ul> <li> <p><span>CURRENT</span> - om posten finns i den aktuella fysiska tabellen.</p> </li> <li> <p><span>PRIORS</span> - om posten finns i den tidigare tabellen med historiska data.</p> </li> <li> <p><span>CHANGES</span> - om posten finns i ändringstabellen.</p> </li> </ul> |
| hdr\_\_operation | string(1) | Senaste operationen för den här posten.<br><br><ul> <li> <p>D - raderad från ändringstabell.</p> </li> <li> <p>U - uppdaterad från ändringstabell.</p> </li> <li> <p>I - infogad från ändringstabell.</p> </li> <li> <p>L - infogad av fullständig laddningsaktivitet.</p> </li> <li> <p>d - raderad från jämför och tillämpa.</p> </li> <li> <p>u - uppdaterad från jämför och tillämpa.</p> </li> <li> <p>i - infogad från jämför och tillämpa.</p> </li> </ul> |
| hdr\_\_deleted | bit | Indikerar om posten är mjukt raderad, baserat på om hdr\_\_operation är D eller d. |