Datamängdsarkitektur i ett molndatalager | Qlik CloudHjälp
Gå till huvudinnehåll Gå till ytterligare innehåll

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

  • 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?

    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.

video thumbnail

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 och Historiklivevy.

  • Ä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.

Aktuell tabell

Namngivning: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_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.

Den här kolumnen genereras inte i Data mart-dataaktiviteter.

hdr__key_id int64

Sekvens som ökas per post.

Den här kolumnen genereras endast i Data mart-dataaktiviteter.

hdr__from_timestamp timestamp

Tidsmarkör i UTC

  • För data som hämtas från fullständig laddning kommer det att vara starttiden för den fullständiga laddningen.

  • För en ändring som kommer via ändringstabeller kommer det att vara tidsmarkörfältet för posten.

hdr__operation string(1)

Senaste operationen för den här posten.

  • D - raderad från ändringstabell.

  • U - uppdaterad från ändringstabell.

  • I - infogad från ändringstabell.

  • L - infogad av fullständig laddningsaktivitet.

  • d - raderad från jämför och tillämpa.

  • u - uppdaterad från jämför och tillämpa.

  • i - infogad från jämför och tillämpa.

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: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_prior

Rubrikfält för tidigare tabell
Fält Typ Beskrivning
hdr__key_hash varbinary(20)

Hash av alla postprimärnycklar.

Den här kolumnen genereras inte i Data mart-dataaktiviteter.

hdr__key_id int64

Sekvens som ökas per post.

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.

  • D - raderad från ändringstabell.

  • U - uppdaterad från ändringstabell.

  • I - infogad från ändringstabell.

  • L - infogad av initial laddning.

  • d - raderad från jämför och tillämpa.

  • u - uppdaterad från jämför och tillämpa.

  • i - infogad från jämför och tillämpa.

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: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_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:

  • Starttidsmarkör för batchkörning i millisekunder sedan 1970-01-01 (10-siffrig sträng)

  • Ändringssekvens från replikeringsgatewayen (35 tecken)

hdr__operation varchar(1)

Senaste operationen för den här posten.

  • D - raderad från ändringstabell.

  • U - uppdaterad från ändringstabell.

  • I - infogad från ändringstabell.

  • d - raderad från jämför och tillämpa.

  • u - uppdaterad från jämför och tillämpa.

  • i - infogad från jämför och tillämpa.

hdr__timestamp timestamp

Tidsmarkör i UTC.

hdr__key_hash binary(20)

Hash av alla postprimärnycklar.

Den här kolumnen genereras inte i Data mart-dataaktiviteter.

hdr__key_id int64

Sekvens som ökas per post.

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: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>

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: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffix för livevyer>

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.

Den här kolumnen genereras inte i Data mart-dataaktiviteter.

hdr__key_id int64

Sekvens som ökas per post.

Den här kolumnen genereras endast i Data mart-dataaktiviteter.

hdr__from_timestamp timestamp

Tidsmarkör i UTC

  • För data som hämtas från fullständig laddning kommer det att vara starttiden för den fullständiga laddningen.

  • För en ändring som kommer via ändringstabeller kommer det att vara tidsmarkörfältet för posten.

hdr__operation string(1)

Senaste operationen för den här posten.

  • D - raderad från ändringstabell.

  • U - uppdaterad från ändringstabell.

  • I - infogad från ändringstabell.

  • L - infogad av fullständig laddningsaktivitet.

  • d - raderad från jämför och tillämpa.

  • u - uppdaterad från jämför och tillämpa.

  • i - infogad från jämför och tillämpa.

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.

  • CURRENT - om posten finns i den aktuella fysiska tabellen.

  • CHANGES - om posten finns i ändringstabellen.

Ändringsvy

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

Namngivning: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_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:

  • Starttidsmarkör för batchkörning i millisekunder sedan 1970-01-01 (10-siffrig sträng)

  • Ändringssekvens från replikeringsgatewayen (35 tecken)

hdr__from_timestamp timestamp

Tidsmarkör i UTC

  • För data som hämtas från fullständig laddning kommer det att vara starttiden för den fullständiga laddningen.

  • För en ändring som kommer via ändringstabeller kommer det att vara tidsmarkörfältet för posten.

hdr__to_timestamp timestamp

Tidsmarkör i UTC

  • För data som hämtas från fullständig laddning kommer det att vara starttiden för den fullständiga laddningen.

  • För en ändring som kommer via ändringstabeller kommer det att vara tidsmarkörfältet för posten.

hdr__operation string(1)

Senaste operationen för den här posten.

  • D - raderad från ändringstabell.

  • U - uppdaterad från ändringstabell.

  • I - infogad från ändringstabell.

  • L - infogad av fullständig laddningsaktivitet.

  • d - raderad från jämför och tillämpa.

  • u - uppdaterad från jämför och tillämpa.

  • i - infogad från jämför och tillämpa.

hdr__timestamp timestamp

Tidsmarkör i UTC.

hdr__key_hash binary(20)

Hash av alla postprimärnycklar.

Den här kolumnen genereras inte i Data mart-dataaktiviteter.

hdr__key_id int64

Sekvens som ökas per post.

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: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffix för historikvyer>

Rubrikfält för historikvy
Fält Typ Beskrivning
hdr__key_hash binary(20)

Hash av alla postprimärnycklar.

Den här kolumnen genereras inte i Data mart-dataaktiviteter.

hdr__key_id int64

Sekvens som ökas per post.

Den här kolumnen genereras endast i Data mart-dataaktiviteter.

hdr__from_timestamp timestamp

Tidsmarkör i UTC

  • För data som hämtas från fullständig laddning kommer det att vara starttiden för den fullständiga laddningen.

  • För en ändring som kommer via ändringstabeller kommer det att vara tidsmarkörfältet för posten.

hdr__to_timestamp timestamp

Tidsmarkör i UTC

  • För data som hämtas från fullständig laddning kommer det att vara starttiden för den fullständiga laddningen.

  • För en ändring som kommer via ändringstabeller kommer det att vara tidsmarkörfältet för posten.

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.

  • CURRENT - om posten finns i den aktuella fysiska tabellen.

  • PRIORS - om posten finns i den tidigare tabellen med historiska data.

hdr__operation string(1)

Senaste operationen för den här posten.

  • D - raderad från ändringstabell.

  • U - uppdaterad från ändringstabell.

  • I - infogad från ändringstabell.

  • L - infogad av fullständig laddningsaktivitet.

  • d - raderad från jämför och tillämpa.

  • u - uppdaterad från jämför och tillämpa.

  • i - infogad från jämför och tillämpa.

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: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffix för livehistorikvyer>

Rubrikfält för livehistorikvy
Fält Typ Beskrivning
hdr__key_hash binary(20)

Hash av alla postprimärnycklar.

Den här kolumnen genereras inte i Data mart-dataaktiviteter.

hdr__key_id int64

Sekvens som ökas per post.

Den här kolumnen genereras endast i Data mart-dataaktiviteter.

hdr__store varchar(10)

Detta indikerar var posten finns.

  • CURRENT - om posten finns i den aktuella fysiska tabellen.

  • PRIORS - om posten finns i den tidigare tabellen med historiska data.

  • CHANGES - om posten finns i ändringstabellen.

hdr__operation string(1)

Senaste operationen för den här posten.

  • D - raderad från ändringstabell.

  • U - uppdaterad från ändringstabell.

  • I - infogad från ändringstabell.

  • L - infogad av fullständig laddningsaktivitet.

  • d - raderad från jämför och tillämpa.

  • u - uppdaterad från jämför och tillämpa.

  • i - infogad från jämför och tillämpa.

hdr__deleted bit

Indikerar om posten är mjukt raderad, baserat på om hdr__operation är D eller d.

Var den här sidan till hjälp för dig?

Om du stöter på några problem med den här sidan eller innehållet på den, t.ex. ett stavfel, ett saknat steg eller ett tekniskt fel – meddela oss!