2015. június 20., szombat

Staging adatbázis


Mik azok az okok, amik miatt az adatokat érdemes az áttöltések során egy köztes, úgynevezett "staging" adatbázisban eltárolni?

Az angol nyelvű Wikipedia szerint a Staging area az ETL folyamatok során használt, forrás és cél rendszerek közötti tároló hely.

Használatának legjellemzőbb okai:

  • Performacia
    A forrásrendszerekből való adatkinyerés során a performancia szűk keresztmetszet lehet. Ha már az adatexport során transzformációkat alkalmazunkaz adatokon, akkor azok rendkívül leterhelhetik a jellemzően operatív funkcókat ellátó rendszereket, és akár jelentősen lelassíthatják azok működését.
  • Változások detektálása
    Tegyük fel, hogy a forrásrendszerből mindig csak az adott hónap összes forgalmi adatát tudjuk kinyerni (mondjuk .csv formátumban), és nem csak az előző áttöltés utáni plusz rekordokat. Ekkor a teljes havi állományt ide töltjük be, és a cél rendszer és a staging adatbázis közötti eltérés áttöltésekor az áttöltés időpontját naplózva meg tudjuk állapítani, hogy az egyes értékek mikor kerültek be a cél rendszerbe.
  • Jogosultság kezelés
    A cél rendszerhez/adatbázishoz hozzáféréssel rendelkező üzleti felhasználók életét könnyítjük meg, ha csak a végleges, nekik szóló sql táblákat látják. A jogosultságok kezelése során egyszerűbb egy teljes adatbázisra jogot adni, mint az egyes táblákra.