Esettanulmány: Közel valós idejű adattárház
A közelmúltban az egyik ügyfelünknél felmerült az igény, hogy ne csak napi szintű adatfrissítés legyen elérhető, hanem annál rövidebb időközönként is történjen adatáttöltés. Ehhez az Abylon Rapid Analytics termékünket ki kellett egészíteni új funkcionalitással, amely azóta már a termékünk részét képezi.
Az első funkcionalitás bővítés performancia kapcsán volt szükséges, ugyanis amennyiben percenként, vagy óránként töltünk át adatokat, úgy nagy adattáblák esetén (> 100 millió rekordszám) annak megkülönböztetése, hogy egy érkező új adat az még nem létezik (INSERT), vagy már az adatbázisunkban van (UPDATE) rengeteg időbe tellhet, és nem férnénk be az adatfrissítési keretbe. (amikor napi 1 áttöltést csinálunk, az adatok frissítésére 20 perc jóval kisebb hatással jár, mint perces frissítésnél ugyanazon 20 perc)
A cél adatbázis szűkítéséhez adatthárház filter predicate-eket (szűrési paramétereket) adhatunk át a keretrendszerünk meta rendszerében, amely segítségével könnyebben kezelhetővé válnak a nagyméretű adattáblák.
A másik fejlesztésünk a tabular modellünket érintette. SSAS (SQL Server Analysis Services) tabular modellek esetén a legkisebb feldolgozási egységünk a partíciók.
Annak érdekében, hogy a frissítési idősávba beférjünk, dinamikus partíció menedzselést valósítottunk meg. A mögöttes logika SQL tárolt eljárásban testreszabható, a hozzá tartozó üzleti logika figyelembe vételével. Van ügyfél, ahol a ténytáblákhoz megadott idősávban érkezhetnek csak adatok (utolsó 5-10-20 nap frissülhet az időben haladva), míg más ügyfélnél ilyen megkötést nem tehetünk. (visszamenőlegesen is módosulhat 2-3 évvel ezelőtti tény adat is).
Előbbi esetben érdemes a régi partíciókat évekre, az utolsó 12 hónapot hónapokra, míg az utolsó 5-10-20 napot napi partícióra bontani, és dinamikusan hozni létre új napi partíciókat az időben, illetve az idősávból kieső napi partíciót MERGE-elni a hozzá tartozó havi partícióba. (amennyiben 2021.05.04. már kiesik a 10 napos zónából, akkor a 2021.05-ös havi partícióba kerül az adata).
Utóbbi esetben viszont az áttöltés során érintett partíciókat programozottan frissíthetjük. Ez a megoldás akkor segít számunkra, ha kirívó esetektől eltekintve elmondható, hogy kevés partíciónk frissül egy adott áttöltés során.
A fent említett megoldások mindegyikére fel lett készítve a Rapid Analytics termékünk, így leendő ügyfeleink bátran választhatnak minket abban az esetben is, ha a standard napi adattárház frissítés nem elegendő.
Érdekes, hasznos volt a bejegyzés?
Iratkozzon fel hírlevelünkre, hogy értesüljön új cikkeinről, híreinkről.