Kursusel oli kokku 9 moodulit, kus iga juurde anti ka ports kohustuslikku kirjandust lugeda. Loomulikult sel ajal ma seda ei jõudnud lugeda, kuid võtan nüüd eesmärgiks kuu aega järjest lugeda. Vaatame, kuhu jõuame. Järgnev artikkel esimesest moodulist: andmeinseneeria alused.


Gergely Orosz - What is Data Engineering?

Torru tõmmatakse väga erinevaid andmeid. Nende pinnalt moodustatakse teisi vajalikke andmestikke:

- osa välju jäetakse välja

- rikastatakse teistest allikatest pärit andmetega.


Mõtle andmetest kui tootest.

Lisaks anna kaasa juba lihtsam ülevaade, millest aimdub kerge(ma)lt, mis tüüpi väljaga tegu on:

- is_/has_ prefiksid - märgib booleani /omab/ei-oma/on/ei-ole/

- dim/fact - märgib, kas tegu on dimensiooni- või fakti tabeliga.


Paku erineva granulaarsuse ja denormaliseerituse tasemel olevaid andmestikke, mida järgmised tiimid (analüütik, otsustaja, finants jm) oma töös vajavad:

- andmed on standardiseeritud ehk juba korrastatud, eriliste tehniliste teadmisteta saab neid kasutada ja ei vaja ekstra puhastamist

- toetavad keerukaid päringuid ja arvutusi mitmest tabelist ajaloo, analüüsi eesmärgil. 


Andmekvaliteedi tagamisel:

- NULL väärtused: kui suur % veeru väärtustest tohib olla ja mis juhtub, kui see tõuseb?

- anomaaliad: veeru kontrollid, aga ka tabeli metaaandmed, nt kui palju ridu lisati.

- kindlad väärtustega veerud - kas alati veavabad?

- unikaalsed väärtused: kindlasti tuleb kontrollida ka kõige kõrgemas kihis. Näitab, kas JOINid on õigesti tehtud.

- kokkuliitmiste (agregeerimiste) kontroll, kuna andmed läbivad mitu kihti, siis selline kontroll aitab jällegi suuremaid muutusi tuvastada.


Kas andmetoru on reaal-ajas või partiikaupa uuenev?

Huvitava tõigana toob autor välja, et mõned ajastajad jäävad hätta kellakeeramisega, seega on kaks korda aastas oodata probleeme.

Reaalajas ja suurte andmemahtude töötlemine on läinud lihtsamaks, aga igasugu parandamine on endiselt keerukam. Märksõnaks pidev migreerimine. Ja kui küsida, kumbat tuleb kasutada, siis:

- kuidas lõppkasutaja plaanib andmeid kasutada

- kui palju andmeid tuleb sisse

- milline on algallika ajaline käitumine?

Kui andmeid vaadatakse korra nädalas, kas siis on põhjust reaalajas toimiva süsteemi ehitamiseks?


Suurandmed

Autor pakub välja ka alternatiivse nimetusviisi: suur probleem. Kallis ja keerukas manageerida, sest kasutatavad tehnoloogiad seavad piirid keerukamate päringute jooksutamisele. Seetõttu tuleb pidevalt migreerimisega tegeleda.

Aga mõningad mõisted:

- MPP (massively parallel processing): paralleelselt sajad/tuhanded sõlmed, mis eraldi arvutites ja arvutusi tehakse üle internetiühenduse.

- Map Reduce: sarane eelnevaga, aga ei vaja nii nõudlikku riistvara ning viitab disainipõhimõtetele, mida rakendatakse SQL asemel Javas.


Andmelaod, andmejärved, andmejärvemajad

Andmeladu hoiab lõppkasutaja jaoks mõeldud ajaloolisi struktureerituid andmeid mitmest allikast. Andmejärved figureerivad alates 2010.ndast aastast ning hoiavad toorandmeid just sellises formaadis nagu nad on. Aga ka nende funktsioon on muutumises (vt ka Hadloop/Delta lake).

Andmejärvemajad kombineerivad andmelao ja andmejärve omadusi ACID (Atomicity, Consistency, Isolation, and Durability).


Allikas: https://blog.pragmaticengineer.com/what-is-data-engineering/