Offloading dat na big data platformy

Offloading představuje extract, load, transform (ETL) process přenosu obrovského množství dat z Enterprise Data Warehouse (EDW) do platforem velkých dat. Znamená jeden z klíčových kroků, které společnosti, jež chtějí začít využívat Big Data a rozšířenou analytiku, musejí překonat.


S rostoucím množstvím dat stoupá i potřeba velká data zpracovávat či ukládat. Tradiční datové sklady mohou být pro některé typy dat neefektivní, a tak se pro ně nabízí využít specifické platformy velkých dat. Typicky jde o logová, senzorová či signální data, jež se generují ve velkém objemu a která získávají na hodnotě až zpracováním a propojením s dalšími daty, např. s profilem zařízení či zákazníka. Jak ale zajistit, aby propojení velkých dat a (tradičních) profilových dat bylo vždy aktuální a úplné?

Jednou z variant je pravidelně přesouvat klíčová data z tradičních datových skladů (EDW) na Big Data platformu. O aspektech zajištění pravidelného přenosu dat z EDW pojednávají následující řádky.

Datové přenosy do EDW

Integrace mnoha datových zdrojů do jednoho firemního prostředí (Enterprise Data Warehouse čili EDW) obecně zajišťují tzv. ETL procesy. Ty představují nejen získání dat z datových zdrojů (extrakce dat), ale i transformaci (normalizace, denormalizace, změny struktury) a nahrání dat (loading) do EDW, kde se dále zpracovávají, analyzují a reportují.

Cílem ETL procesů je zajistit uživateli vhodný pohled na data, která generují různé systémy, a poskytnout mu potřebné informační podklady pro podporu rozhodování. 

Datové přenosy do BD platformy

S pořízením platformy Big Data (BD) nebo někdy též Big Data Warehouse (BDW) se IT architektura a princip datových přenosů stávají mírně složitějšími. Nová platforma se musí propojit jak se systémy, které generují velké objemy dat, tak i s EDW, kde jsou zpravidla kvalitní a spolehlivé informace z podnikání společnosti.

A právě v souvislosti s plněním BDW se v rámci ETL procesů objevuje nový pojem – „offloading“. Ten označuje ETL proces, který má za úkol plnit BDW. Offloading představuje přenos obrovského množství dat z ERW do BDW. Někdy se tato úloha také označuje jako zrcadlení (mirroring) dat.

Výhody EDW

Data pocházející z enterprise data warehouse mají obecně vysokou cenu a kvalitu, neboť pro jejich získání investovaly společnosti často nemalé prostředky a úsilí. Benefity, které EDW přináší, nejsou zanedbatelné, a proto je účelné je plně využít i v rámci propojení s BDW. Jde především o:

  • Ukládání dat: umožňuje ukládat data, upravovat a historizovat.
  • Přístup k datům: umožňuje uživatelům přistupovat k datům, která byla dostupná pouze ve zdrojových systémech.
  • Analyzování dat: umožňuje analyzování dat, tvorbu reportovacích nástrojů a přípravu podkladů pro rozhodování Enterprise data warehouse dovoluje určitou škálovatelnost těchto benefitů podle potřeb společnosti, potom už jen záleží na typu organizace a jejích datových zdrojích, zda je tato škálovatelnost dostatečná.

Výhody BDW

Společnosti, jako jsou banky, finanční instituce, retail nebo telekomunikace, často narážejí na to, že jejich EDW nestačí v jednomz předchozích benefitů, a pořídí si BDW. Ten nejenže poskytuje všechny předchozí výhody, ale přináší i nové: má mnohem větší škálovatelnost (levnější storage, paralelní zpracování dat nebo podporuje ce- lou škálu analytických nástrojů než jen SQL).

Současné trendy vedou velké podniky k tomu, aby si pořídily BDW, nicméně interní IT často neví, k čemu jim přesně taková platforma může být a jak ji architektonicky zasadit do infrastruktury.

Jednou z motivací může být potřeba „odlehčit“ rostoucím nárokům na EDW. V tomto případě přichází na řadu klíčové architektonické rozhodnutí, zda uskutečnit „migraci“ EDW na BDW nebo jestli firma rozšiřuje existující EDW o prostředí BDW. V prvním případě čeká společnost velmi radikální a náročný proces migrace, ve druhém případě, tedy při rozšíření EDW o prostředí BDW, bude potřebovat vyřešit „offloading“ dat.

Obr. 1: Integrace dat z různých systémů do EDW

Offloading dat

Offloading představuje způsob, jak data dostupná v EDW nabídnout rovněž v prostředí BDW. Jeho cílem je zajistit, aby data z EDW byla k dispozici na BDW pro jejich propojení a umožnila tvorbu nových nebo bohatších pohledů na klíčové podnikání společnosti.

Co tedy offloading musí zajišťovat:

  • Přenos dat mezi EDW a BDW, tedy musí být schopný přenést data (jednosměrně/o bousměrně).
  • Konzistenci dat mezi EDW a BDW, tedy struktury na EDW a BDW musejí být identické (tak, jak to povolují prostředí).
  • Přenos práv, tedy uživatelé, kteří mají práva na EDW, musejí mít práva i na BDW (jednosměrně/ obousměrně).
  • Škálovatelnost a šetrnost, tedy nesmí způsobovat nestabilitu EDW a BDW.
  • Auditovatelnost výsledků, tedy musí poskytovat reporting a informace o přenosech.

Způsoby přenosu dat

V rámci přenosu dat mezi EDW a BDW je nutné především vyřešit, jak bude přenos probíhat. V tomto ohledu lze identifikovat dva způsoby přenosu.

Prvním je nepřímý způsob přenosu, kdy EDW připravuje pravidelně extrakty (batche) na vybraný server, odkud se potom přes STFP nebo jiný způsob přenosu přenášejí na BDW. BDW tyto extrakty zpracuje a připraví je pro finální uložení. Nepřímý způsob se preferuje, pokud objem dat není příliš velký, anebo když není možné z hlediska bezpečnosti učinit druhý způsob přenosu.

Druhý způsob přenosu lze označit jako přímý, kdy se mezi EDW a BDW udělá přímé propojení a vybere se technologie, která je schopna navázat spojení a dokáže data přenést napřímo bez nutnosti vytvářet „extrakt“. V tomto případě se nejčastěji volí technologie nativní pro BDW, jako jsou Apache Sqoop, Apache Spark či Apache Kafka, nebo se volí technologie vhodná pro vybrané prostředí EDW.

Režim přenosu

Další architektonickou výzvou je určit, kdy a jaká data přenášet, aby byla zachována jejich aktuálnost.
Z hlediska plánování přenosu je důležité, aby se aktualizace dat ze zdrojových ETL do EDW nepřekrývala s offloadem.

Tabulky se mohou přenášet ve dvou základních režimech. První režim je full, který představuje přenos celé tabulky (využívá se pro malé tabulky do 100 000 řádků), zatímco druhý typ přenosu lze označovat jako inkrementální, zde jde pouze o přenos vybraných dat (ideální pro velké tabulky nad 100 000 řádků).

Pro inkrementální přenos je důležité si uvědomit, že se nejčastěji dělá v režimu forward (tedy pouze nová data) nebo recent (nová data a aktualizace posledních přenosů), ale měl by podporovat možnost aktualizace historických dat.

Obr. 2: Přenos dat z EDW na BDW

Připravenost dat ve vrstvách

Při přenosu dat je nutné zajištění jejich konzistence, tzn. je třeba věnovat pozornost datovým typům a vyvarovat se nebezpečí ztráty přesnosti. Proto se na straně EDW vytváří output vrstva, kde se data před přenosem upravují do struktury, která je přívětivá pro přenos.

Na straně BDW se naopak vytváří landing vrstva, kde data přistávají a ukládají se v kompatibilní struktuře. Data z landing vrstvy se v BDW následně přenášejí do cílové vrstvy, kde už jsou přístupná běžnému uživateli.