28 otázok a odpovedí na pohovor o ETL testovaní

28 otázok a odpovedí na pohovor o ETL testovaní
10 MIN
03 jún 2024

Testovanie ETL sa používa na overenie správnosti migrácie údajov zo zdrojovej databázy do cieľovej databázy spolu s overením transformačných pravidiel.

V tomto článku sme zostavili zoznam niektorých často kladených otázok na pohovory o testovaní ETL. 

Otázky a odpovede na pohovor o testovaní ETL

Otázka.1. Čo je to ETL?

Odpoveď: Skratka ETL znamená Extract (extrakcia), Transform (transformácia) a Load (načítanie). Tieto tri funkcie sú databázové funkcie a vykonávajú sa na údajoch s cieľom vytiahnuť ich z jedného alebo viacerých zdrojov (databázy) do iného (databázy).

Otázka.2. Čo je to proces ETL?

Odpoveď: Proces ETL má tri kroky:

  • Extrakcia – V tomto kroku sa údaje extrahujú z jednej alebo viacerých zdrojových databáz.
  • Transformácia – V tomto druhom kroku sa údaje transformujú do formátu vhodného pre cieľovú databázu.
  • Načítanie – transformované údaje sa napokon načítajú do cieľovej databázy.

Otázka.3. Čo je testovanie ETL? Alebo aký význam má testovanie ETL?

Odpoveď: Testovanie ETL sa vykonáva s cieľom zabezpečiť presnosť údajov, ktoré sa načítavajú do cieľovej databázy. Zabezpečuje tiež, aby boli dodržané požadované pravidlá transformácie údajov a aby počas procesu ETL nedošlo k strate údajov. 

Otázka. 4. Aké sú rôzne výzvy testovania ETL?

Odpoveď: Rôzne výzvy testovania ETL sú:

  • Nedostupnosť testovacích údajov, pretože testovanie ETL si vyžaduje veľké množstvo testovacích údajov. 
  • Nedostatok kvalifikovaných zdrojov, keďže testovanie ETL si vyžaduje zložité dotazy SQL.
  • Navrhovanie testovacích prípadov je zložité, pretože testovanie ETL si vyžaduje prácu s veľkými objemami údajov.
  • Dostupné testovacie údaje nemusia pokrývať všetky možné scenáre.
  • Strata údajov počas testovania ETL.

Otázka.5. Aké sú štyri typy testovania ETL? Vysvetlite v krátkosti každý z nich.

Odpoveď: Toto je jedna z najčastejšie kladených otázok na pohovore o testovaní ETL. 

  • Testovanie nového dátového skladu (New Data Warehouse Testing) – Pri tomto type testovania sa nový dátový sklad vytvára od začiatku. Vstupné údaje sa získavajú od zákazníka.
  • Testovanie migrácie (Migration Testing) – Tento typ testovania sa vyžaduje, keď sa údaje migrujú zo starej databázy do novej databázy.
  • Žiadosť o zmenu (Change Request)- Pri tomto type testovania sa údaje získavajú z rôznych zdrojov a načítavajú sa do existujúcej databázy.
  • Report testovanie (Report Testing) – Pri testovaní reportov sa testuje správnosť údajov, prístupové práva a rozloženie zostáv vytvorených v systéme dátového skladu.

Otázka.6. Čo je to hviezdicová schéma (Star Schema)?

Odpoveď: Hviezdicová schéma je viacrozmerná schéma používaná na modelovanie systémov dátových skladov. Obsahuje jednu alebo viac tabuliek faktov a viacero tabuliek dimenzií. Tabuľka faktov je v strede a sú k nej priradené viaceré tabuľky dimenzií, ktoré pripomínajú tvar hviezdy. 

Otázka.7. Čo je to schéma snehovej vločky (Snowflake Schema)?

Odpoveď Schéma snehovej vločky je viacrozmerná schéma používaná na modelovanie systémov dátových skladov. Schéma snehovej vločky obsahuje jednu alebo viac tabuliek faktov, viacero dimenzionálnych tabuliek a subdimenzionálnych tabuliek. Je rozšírením hviezdicovej schémy a pripomína tvar snehovej vločky.

Otázka.8. Čo je to tabuľka faktov (Fact Table)?

Odpoveď: Tabuľka faktov v dimenzionálnom modeli obsahuje kvantitatívne informácie o faktoch dôležitých pre podnikanie. Tabuľky faktov sa používajú na analýzu a často sú denormalizované.

Tabuľka faktov sa skladá z dvoch typov stĺpcov: Stĺpce „cudzích kľúčov“ (foreign key) a stĺpce “ Measures“. Stĺpce „Foreign Key“ sa používajú na odkazovanie na tabuľky dimenzií a stĺpce „Measures“ obsahujú údaje, ktoré sa majú analyzovať.

Niektoré príklady faktov sú počet predaných výrobkov, počet zadaných objednávok atď.

Otázka.9. Aké sú tri typy faktov?

Odpoveď: Tri typy faktov sú:

  • Aditívne – aditívne fakty sú fakty, pre ktoré možno každú dimenziu sčítať.
  • Semiaditívne – Semiaditívne fakty sú fakty, pre ktoré možno sčítať niektoré dimenzie, ale nie všetky.
  • Neaditívne – Neaditívne fakty sú fakty, pre ktoré nemožno sčítať žiadnu z dimenzií.

Otázka. 10. Čo je to tabuľka faktov transakcií (Transaction Fact Table)?

Odpoveď: Tabuľka transakčných faktov je jedným z troch typov tabuľky faktov a je najzákladnejšia. V tomto type tabuľky faktov je každá udalosť uložená len raz a obsahuje údaje najmenšej úrovne. Aj počet riadkov v tejto tabuľke faktov je podobný počtu riadkov v zdrojovej tabuľke. 

Otázka.11. Čo je to tabuľka faktov s periodickými snímkami (Periodic Snapshot Fact Table)?

Odpoveď: V tomto type tabuľky faktov môže byť udalosť uložená viackrát a zachytáva stav faktov vo vopred stanovených obdobiach.

Otázka.12. Čo je to akumulačná alebo kumulatívna snímková tabuľka faktov?

Odpoveď: Akumulovaná tabuľka faktov je najnáročnejšia zo všetkých typov tabuliek faktov a možno ju použiť, keď má obchodný proces určitý začiatok a koniec. 

Otázka.13. Čo je to Grain v kontexte tabuľky faktov?

Odpoveď: „Grain“ v tabuľke faktov predstavuje úroveň podrobnosti pre jeden riadok.

Otázka. 14. Čo je to tabuľka faktov bez faktov?

Odpoveď: Tabuľka faktov bez faktov neobsahuje žiadne miery ani fakty. Taktiež obsahuje iba stĺpce „cudzích kľúčov“ na vytvorenie vzťahu medzi dimenziami.

Otázka.15. Čo je to tabuľka dimenzií (dimension table)?

Odpoveď: Tabuľka dimenzií je jedným z dvoch typov tabuliek používaných pri dimenzionálnom modelovaní, druhým je tabuľka faktov. Tabuľka dimenzií opisuje dimenzie alebo opisné kritériá objektov v tabuľke faktov, napr. dimenzia Lokalita môže obsahovať ulicu, mesto, poštové smerovacie číslo, štát atď.

Otázka.16. Vymenujte niektoré typy dimenzií.

Odpoveď: Nasledujúce typy dimenzií sú:

  • Pomaly sa meniaca dimenzia (Slowly Changing Dimension)
  • Konformná dimenzia (Conformed Dimension)
  • Nevyžiadaná dimenzia/špinavá dimenzia (Junk Dimension/Dirty Dimension)
  • Degenerovaná dimenzia (De-generated Dimension)
  • Mostíková dimenzia (Bridge Dimension)

Otázka .17. Čo je to SCD?

Odpoveď: SCD je skratka pre Slowly Changing Dimensions (pomaly sa meniace rozmery). Ide o jeden z typov dimenzií. SCD sú dimenzie, ktorých atribúty sa nemenia pravidelne, ale menia sa v priebehu určitého obdobia.

Napríklad – dimenzia zákazníka. Atribúty zákazníckej dimenzie, ako je adresa a meno zákazníka, sa nemenia často. 

Otázka.18. Aké sú typy SCD? Vysvetlite stručne každý z nich.

Odpoveď: Typy SCD:

  • Typ 0 – V tomto type sa atribúty dimenzie nikdy nemenia, napríklad DoB- Date of Birth (dátum narodenia).
  • Typ 1 – V tomto type SCD nové informácie prepíšu staré údaje a sledovanie historických zmien sa nevedie. Napr. zmena atribútu „Mesto“ v dimenzii Zákazník, ak zákazník zmení mesto. 
  • Typ 2 – V tomto type SCD sa nové informácie pridávajú do nového riadku a sledovanie historických zmien sa zachováva. Novému záznamu sa priradí nový primárny kľúč. napr. vo vyššie uvedenom príklade zmeny mesta sa pridá nový záznam na pridanie nového mesta. 
  • Typ 3 – V tomto type sa namiesto vytvorenia nového riadku ako v type 2 pridá nový stĺpec, napr. vo vyššie uvedenom príklade zmeny mesta sa pridajú ďalšie dva stĺpce, „Nové mesto“ a „Rok“ alebo „Dátum“.
  • Typ 4 – V tomto type SCD sa vytvorí samostatná „tabuľka histórie“ alebo minidimenzia na sledovanie zmien. Aktuálne hodnoty atribútov sa zobrazujú v tabuľke dimenzie a všetky zmeny alebo staré hodnoty sa zobrazujú v tabuľke histórie.
  • Typ 5 – V tomto type sa používa minidimenzia typu 4 a na odkaz na tabuľku minidimenzie v tabuľke základnej dimenzie sa používa odkaz typu 1. 
  • Typ 6 – V tomto type SCD sa používa kombinácia typov 1, 2 a 3. Je tiež známy ako „hybridná“ metóda.

Otázka. 19. Čo je konformná dimenzia (Conformed Dimension)?

Odpoveď: Tieto typy dimenzií sa môžu používať na viacerých miestach s rôznymi tabuľkami faktov buď v jednej databáze, alebo vo viacerých dátových martoch.

Niektoré z príkladov konformných dimenzií sú dimenzia zákazníka, dimenzia produktu, dimenzia času atď. napr. dimenziu produktu možno použiť pri výpočte počtu predaných produktov a dosiahnutých príjmov.

Otázka 20. Čo je to nevyžiadaná dimenzia alebo špinavá dimenzia (Junk Dimension or Dirty Dimension?)?

Odpoveď: Ako už názov napovedá, tieto dimenzie obsahujú nevyžiadané alebo náhodné atribúty, ktoré nepatria do žiadnej konkrétnej dimenzie. Takéto dimenzie sa vytvárajú preto, aby sa v tabuľke faktov mohlo vyhnúť mnohým cudzím kľúčom.

Otázka. 21. Čo je degenerovaná dimenzia (Degenerated Dimension)?

Odpoveď Degenerovaná dimenzia je dimenzia, ktorá nemá vlastnú samostatnú dimenziu, ale je súčasťou tabuľky faktov, napr. číslo účtenky alebo faktúry nemá samostatnú tabuľku dimenzií. Keďže je však z obchodného hľadiska veľmi dôležité, je uložené v tabuľke faktov.

Otázka.22. Čo je to Data Mart?

Odpoveď: Data mart je databáza, ktorá obsahuje údaje uložené v jednom zo segmentov dátového skladu, takže inými slovami, data mart je podmnožinou dátového skladu. Tieto segmenty dátového skladu zvyčajne patria jednotlivým organizačným oblastiam podnikania, ako sú financie, marketing, predaj atď. 

Otázka. 23. Čo je to BUS schéma?

Odpoveď: BUS schéma obsahuje konformné dimenzie. Inými slovami, používa sa na identifikáciu spoločných dimenzií vo všetkých dátových skladoch organizácie. 

Otázka. 24. Aké sú tri vrstvy cyklu ETL? Vysvetlite ich v krátkosti.

Odpoveď: Tri vrstvy cyklu ETL sú.

  • Staging Layer – je známa aj ako zdrojová vrstva. Táto vrstva sa používa na ukladanie údajov získaných z rôznych zdrojov údajov. 
  • Integračná vrstva (Integration Layer) – Po transformácii zdrojových údajov sa ukladajú do integračnej vrstvy. V tejto vrstve sú údaje uložené v databáze.
  • Prístupová vrstva (Access Layer) – je známa aj ako vrstva dimenzií. Je to front-end vrstva, ktorú používa koncový používateľ na generovanie zostáv.

Otázka. 25. Čo je to staging area?

Odpoveď: Staging area je známa aj ako „pristávacia“ zóna, kde sa dočasne ukladajú údaje z rôznych zdrojov. Staging area je dôležitá, pretože všetky údaje by mali byť k dispozícii v jednej oblasti predtým, ako sa načítajú do dátového skladu alebo data martu. Slúži na ukladanie a čistenie údajov pred ich presunom do cieľovej databázy.

Otázka. 26. Čo je to ODS?

Odpoveď: ODS je skratka pre Operational Data Store (prevádzkový dátový sklad). Používa sa na operatívne vykazovanie údajov uložených z rôznych dátových skladov. Obsahuje tiež snímku najnovších údajov z týchto zdrojov.

Otázka.27. Čo sú to aktívne a pasívne transformácie? Vysvetlite ich v krátkosti.

Odpoveď: 

  • Aktívna transformácia – Pri tomto type transformácie sa pri prenose údajov zo zdroja do cieľovej databázy mení počet riadkov.
  • Pasívna transformácia – Pri tomto type transformácie sa pri prenose údajov do cieľovej databázy nemení počet riadkov. 

Otázka. 28. Čo je to čistenie údajov?

Odpoveď: Čistenie údajov je proces odstraňovania alebo vymazávania nevyžiadaných údajov z dátového skladu. Zvyčajne sa vykonáva na uvoľnenie miesta v databáze.