Završni Teorija Flashcards
ETL i Primjer ETL alata
ETL je skup procesa koji “ima za cilj ekstrahirati (Extract), transformirati/preoblikovati (Transform) i unositi/puniti (Load) podatke iz jednog ili više transakcijskih sustava u centralno SP i u područna SP (Data Mart - Dimenzijska shema). Cilj ETL je osiguravanje relevantnih, korisnih, kvalitetnih, ispravnih i dostupnih podataka.
Primjer ETL Alata: Talend, Informatica PowerCenter, Google Cloud Dataflow
Objasni Extract, Transform i Load
Extract - prvi korak u procesu punjenja SP. Pregledavanje izvornih podataka, kopiranje potrebnih u SP, pri čemu se pčuvaju redovne operativne aktivnosti. Izdvajaju se podaci iz izvora i prenose u centralno SP, te se dalje mogu prenijeti u područna SP (Dimenzijske Baze/Data Vault).
Transform - eliminacija anomalija, čišćenje, standardizacija i prezentacija tematski oblikovanih podataka. Moguće anomalije: nepostojanost jedinstvenog ključa, nekonzistentnost pravopisa, imenovanje i kodiranje podataka, značenje podataka. Transformacija otrkiva neipravne podatke, te se vrši prije ili paralelno s punjenjem podataka.
Load - Punjenje u SP obuhvaća proces unosa podataka u centralno i područno SP. Početno punjenje se odnosi na prenošenje velike količine povijesnih podatak, dok se osvježenja fokusiraju na manje količine podataka.
Kriteriji odabira ETL Alata
Suradnja s postojećim alatima, dostupni izvori podataka, jednostavnost izmjena i održavanja, kontrola promjena, trošak, performanse koda, upravljanje greškama, transofrmacijska logika
Što su Nerelacijske/NoSQL baze podataka i usporedba sa relacijskim
Nerelacijske BP pružaju mehanizam za pohranu i dohvaćanje podataka na drukčiji način od tabličnih prikaza koji se koriste u RBP. Za razliku od RBP ne zahtijevaju unaprijed dizajniran plan sheme, lakše i učinkovitije se skaliraju horizontalno.
Značajke NoSQL BP
- Ne slijede rel. model
- Ne zahtjeva objektno-relacijsko mapiranje i normalizaciju podataka
- Nudi jednostavna sučelja za pohranu podataka i čitanje
- Uglavnom se koristi bez standardnog upitnog jezika
- ACID Koncept se može žrtvovati za skalabilnost i propusnost
BASE & ACID
NoSQL BP se zasnivaju na BASE svojstvima
- Basically Available - BP dostupna cijelo vrijeme
- Soft State - Stanje sustava se može promijeniti i bez unosa
- Eventual Consistency - Kopije podataka na više poslužitelja se trebaju sinkronizirati kod promjene
ACID - (relacijske BP) svojstva:
- Atomičnost - Jedinica koja ne može biti dalje podijeljena. Skup koraka je nedjeljiv -> Moraju se svi ispuniti kao 1 nedjeljiva jedinica ili se ništa neće dovršiti
- Dosljednost - Transakcija ne ostavlja BP u stanju koje narušava integritet podataka. Osigurava da nakon operacije prijenosta ne može nastati drugo moguće
- Izolacija - Izolirane transakcije nisu vidljive drugim korisnicima dok nisu dovršene
- Trajnost - Kada se transakcija završi, ona ostaje čak i u slučaju nestanka struje -> Podaci su pohranjeni na disku ili nekom drugom trajnom mediju.
Sustavi upravljanje RBP dizajnirani za podršku ACID Transakcijama
BASE vs ACID: koristi kompleksniji kod upita, unlimited skaliranje, ne dijeli ništa, zadnji zapis
je onaj koji ostaje
CAP Teorem
Na CAP teoremu se zasnivaju nerelacijske BP. CAP opisuje uvjete koje treba zadovoljiti neki SUBP te tvrdi da distribuirana pohrana podataka ne može zadovoljiti više od 2 od ukupno 3 uvjeta:
- dosljednost - podaci trebaju ostati dosljedni nakon izvršenja operacije
- dostupnost - BP ne bi trebala imati zastoje
- particijska tolerancija - sustav treba nastaviti funkcionirati čak i ako komunikacije među poslužiteljima nije stabilna
Stupčane i široko stupčane BP
Stupčane BP su vrsta nerelacijskih BP koje se temelje na stupčanom modelu podataka - podaci su organizirani u stupce i svaki stupac predstavlja određenu vrstu podataka. Dizajnirane su za velike količine podataka, distribuirane okoline i brz pristup podacima.
Svojstva: podaci pohranjeni u stupcima, svaki stupac ima definiranu vrstu podataka koju sadrži (omogućuje brzu obradu podataka), stupci se mogu grupirati u obitelj stupaca, podaci pohranjeni u binarnom formatu.
Cassandra, Amazon Redshift Query, Druid Query
Široko-stupčane BP - NoSQL BP koje organiziraju podatke u fleksibilne stupce koji se mogu rasporediti na više poslužitelja ili čvorova BP, koristeći višedimenzionalno mapiranje za referenciranje podataka po stupcu, retku i vremenskoj oznaci. Optimizirane za pohranu velikih količina strukturiranih i nestrukturiranih podataka. Sastoje se od skupova ključeva i vrijednosti, gdje svaki ključ pokazuje na porodicu stupaca, a svaki redak u stupcu je povezan sa svojim ključem (brz pristup podacima po stupcima, korisno za analitičke upite i zahtjeve za velikom količinom podataka) - Cassandra, Google Bigtable, HBase
4 ne relacijske baze podataka
Ključ-vrijednost BP, Dokumentne BP, Stupčane BP, Graf BP
Key-Value BP - nerelacjski modeli BP koji pohranjuju podatke kao parove ključeva i vrijednosti. Ove BP su dizajnirane za postizanje visokih performansi i skalabilnosti, idealne su za aplikacije koje traže brz pristup i dohvaćanje podataka. Svaki ključ predstavlja identifikator koji se koristi za pristupanje pripadajućoj vrijednosti.
Dokumentne BP - omogućavaju pohranjivanje i upravljanje dokumentima u obliku strukturiranih kolekcija (JSON/XML). Temelje se na konceptu pohranjivanja podataka u dokumentima, koji se mogu grupirati u kolekcije. Fleksibilna shema, skalabilne su, lako se integriraju s programskim jezicima, dobra podrška za nestrukturirane podatke.
Stupčane/Široko-stupčane BP - Temelje se na stupčanom modelu podataka. Podaci organizirani u stpce, svaki stupac predstavlja određenu vrstu podataka. Dizajnirane za veliku količinu podataka, distribuirane okoline i brz pristup podacima. Fleksibilna shema, skalabilne, brza obrada velike količine podataka. Složene za upravljanje.
Graf BP - izgrađene na principu teorije grafova. Podaci u bazi su čvorovi i veze između čvorova. Nude fleksibilnu i skalabilnu pohranu podataka, brzu pretragu i analizu, obradu složenih odnosa i održavanje integriteta podataka.
Primjer Key-Value BP, Doc BP, Stupčane BP, Graf BP
Redis, Firebase, Google Bigtable, Neo4j
Osnovni cilj skladišta podataka
Prkupljanje i distribucija informacija kroz poduzeće, stvaranje što bogatijeg izvora informacija za različite dugoročne i kratkoročne analize i predviđanja
Subjektivna orijentiranost SP
U područnom SP se podaci organiziraju oko predmeta, odnosno funkcionalnih područja (npr. detalji o prodaji, podaci o prodavaonicama)
U fokusu su glavni poslovni subjekti - stranke, kupci, proizvodi/usluge, prodaja
Omogućava se jednostavan i potpun uvid u sve podatke određenog poslovnog subjekta
Organizacijski modeli/sheme
Tabica činjenica u sredini, okolo nje su dimenzijske tablice.
Zvjezdasta shema:
- tablica činjenica i dimenzijske tablice neposredno povezane
- tablice dimnzija nisu međusobno povezane
Pahuljasta shema:
- Razdvaja određenu dimenziju na više relacija (normalizira dimenziju) i međusobno povezuje razdvojene dimenzije (relacije) - rijetko se koristi
- tablica činjenica i dio dimenzijskih tablica neposredno povezani
Razlika između punjenja i osvježavanja
Punjenje podataka obuhvaća proces unosa podataka u centralno i područno SP, dok se osvježavanje fokusira na manje količine podataka.
Prednosti distribuiranog sustava
Transparentnost - Odvajanje semantike više razine sustavaod pitanja implementacije niže razine.
Visoka razina podrške koji pruža za razvoj složenih aplikacija