Historizacija tabel iz CDC zapisov v Azure SQL bazi

Programsko inženirstvo

Študent: Tine Ogrinc

Tine Ogrinc je diplomant Višje strokovne šole Academia, program Informatika - modul Programsko inženirstvo. Svoje diplomsko delo je zagovarjal v juliju 2024.

PDF

Diplomsko delo Tine Ogrinc

V diplomskem delu je predstavljen projekt, pri katerem sem postavil podatkovni tok v oblačnem okolju Azure. Podatkovni tok se je začel na virni bazi, ki je bila Azure SQL Database. Na tej bazi sem postavil orodje Debezium, ki je zajemalo spremembe na konfiguriranih tabelah na tej virni bazi, ter te spremembe posredoval v streaming orodje, v tem primeru je bilo to Azure Event Hubs.

Prihod sporočila v instanco Azure Event Hubs je prožilo instanco Azure Functions, ki omogoča izvajanje kode brez strežnika. Tam se je sprožil program, spisan v programskem jeziku Python, ki je podatke razbral in shranil v ponorno bazo Synapse Dedicated SQL Pool.

Na ponorni bazi so se podatki shranili v več različnih načinih hrambe historičnih podatkov, potem so se sestavile SQL-poizvedbe, s katerimi se je evalvirala performanca teh načinov.

Povezano s tem projektom sem raziskal še štiri hipoteze. Prva hipoteza, H1, je bila, da so orodja za streaming podatkov v različnih oblačnih storitvah zelo podobna. Ta hipoteza je bila potrjena, saj sem ugotovil, da imajo orodja za streaming pri treh največjih oblačnih ponudnikih zelo podobne funkcije in obnašanje.

Zatem sem preiskoval podatkovne baze v oblačnem okolju Azure, pri čemer je bila hipoteza H2, da je za podatkovno skladiščenje najustreznejša Synapse Serverless SQL Pool.

Ta hipoteza je bila ovržena, saj sem ugotovil, da Synapse Dedicated SQL Pool vsebuje vse funkcionalnosti Serverless SQL Poola, vendar poleg tega omogoča tudi uporabo standardne podatkovne baze, kar je bilo v našem primeru obvezno, in da je tudi v drugih primerih bolje imeti standardno podatkovno bazo, če ne drugega, za administrativne tabele.

Kot omenjeno v opisu projekta sem preiskoval tudi oblike hrambe historičnih podatkov, pri čemer je bila hipoteza H3, da je SCD 6 najustreznejši.

Ta hipoteza je bila ovržena, saj sem ugotovil, da je SCD 2 ekvivalenten pri vseh testnih primerih, ki sem si jih zamislil, a hkrati dosti boljši pri vstavljanju podatkov.

Zadnja hipoteza, H4, je bila, da bodo relacijske podatkovne baze obdržale svojo dominanco in da novi tipi baz, kot so vektorske in NoSQL-baze, ne bodo nadomestile relacijskih baz. To hipotezo sem potrdil.


 

Diplomsko delo Tine Ogrinc

PDF

Diplomsko delo Tine Ogrinc

Želite biti obveščeni o novicah na Academii?

Ko bo kaj novega vam to enostavno sporočimo na vaš e-naslov.

X