Push vagy pull legyen az adattárház töltési stratégiája?

Adott a következő kérdés: Az adattárház húzza át az adatokat a forrásrendszerekből vagy a forrásrendszer tolja ki azokat az adattárháznak?

Még mielőtt megválaszolnánk a kérdést, hagy meséljek el egy sztorit. Anno amikor kezdtem a szakmát, mindig a forrásrendszerek szállítójától vártuk, hogy adja oda az adatokat olyan formában, amilyen formában szükséges volt a számunkra. Miért így kértük?

Nem ismertük a forrásrendszereket és kézenfekvő volt, hogy az válogassa le, aki ismeri. Ha az üzleti igényfelméréseken kiderült, hogy a felhasználók dátum, termék, vevő bontásban szeretnék elemezni az árbevételt, akkor kértünk a forrásrendszer gazdájától egy olyan fájlt, amely dátum, termék, vevő bontásban tartalmazta az árbevételt. Erre könnyen építettünk egy vezetői információs rendszert, a problémát rövid idő alatt megoldottuk, a pezsgők durrantak.

Aztán jöttek az első pofonok. Pár hónappal az átadás után csörög a telefon: Nem frissül a VIR… Nyomozás után kiderül, hogy nem kaptunk extraktumot, mert a forrásrendszer szállítója véletlenül kikapcsolta az exportot. Ezzel kezdődött az a haláltusa ami oda vezetett, hogy majdnem kipusztult az egész VIR. Egy szerencsénk volt: a menedzsment ragaszkodott hozzá, hogy ha már annyira sok pénzt beleöltek akkor működjön rendesen és lehetőséget kaptunk rá hogy átírjuk az összes betöltőt pull-ra, azaz olyanra ami áthúzza a forrásrendszerekből az adatot a VIR-be és ott állítja elő az árbevételt.

Ez volt az utolsó projekt ahol a forrásrendszer gazdájától kértünk hogy adja át olyan formában az adatokat ahogy szeretnénk.

Érvek a push módszer mellett

  • „A forrásrendszerek gazdái értenek hozzá legjobban, csinálják meg ők”. Ez igaz is, de nem is azt mondjuk, hogy ne segítsenek, hanem azt hogy segítsenek abban hogyan kell lekérdezni az árbevételt, de hagy csináljuk meg mi.
  • „Legyen a forrásrendszer gazdája a felelős az exportért. Ő ismeri legjobban a forrásrendszert, ha megváltozik a forrásrendszer, legyen az ő felelőssége, hogy utánahúzza az exportot is”. Oké, legyen az övé. De mi lesz, ha elfelejti? Kap egy ejnyebejnyét, aztán még egyet és még egyet. Közben pedig a felhasználók szép lassan keresnek alternatív adatforrást és kialakítják a maguk lokális VIR-jét Accessben. A hibát kijavítják, a vállalati VIR töltődik, de már a kutya se bízik benne.

Miért nem működik a push módszer?

Tény, hogy a push módszer mellett szól egy csomó érv és van amikor nincs is más választásunk. Ugyanakkor a gyakorlati tapasztalat az, hogy a push módszer hosszútávon sajnos nem működik. Miért?

  • A fejlesztőknek púp a hátukra az adattárház export. Hiába az ő felelősségük, az adattárház töltése mindig az utolsó lesz a prioritási sorban. Ezzel szemben az adattárház fejlesztőknek ez lesz az első.
  • A forrásrendszer fejlesztőjének/gazdájának mindig van fontosabb feladata mint az adattárház töltésének biztosítása. Az adattárház üzemeltetőjének nincs
  • „Az adattárház nem kritikus rendszer a forrásrendszer az”
  • A forrásrendszert terheli a feldolgozás. Ez senkinek sem jó. Nem ilyen terhelésre van optimalizálva. Az adattárház igen
  • A deltaképzést (Az utolsó leválogatás óta megváltozott rekordok meghatározása) a forrásrendszer oldalon nehéz megvalósítani. Adattárház oldalon is, de ott rendelkezésre állnak képzett szakemberek és technológiák

Összefoglalva: Nem azért kell kerülni a forrásrendszer oldali adatelőállítást, mert eretnek gondolat. Hanem azért mert sajnos a gyakorlatban nem működik: Olyan emberek hatáskörébe tesszük az adattárház töltését, akiknek nem ez a legfontosabb feladatuk...

Kővári Attila - BI projekt

Új hozzászólás