Príklad z praxe: Prenos veľkých dát

Dnes by sme Vám chceli predstaviť jedno zaujímavé riešenie, kde prvotná myšlienka síce vznikla za jeden deň, ale jeho realizácia trvala pár mesiacov. Niekedy takéto nápady vzniknú z nevyhnutnosti a tak to bolo aj v tomto prípade. Bolo to asi druhá požiadavka na riešenie pre integráciu kritického systému v štátnej správe, z ktorého potrebovali okolité systémy čerpať kľúčové údaje, vrátane informácií na zverejňovanie ako aj na medzinárodnú výmenu informácií.

Táto požiadavka by nebola ničím výnimočné, keby týchto systémov nebolo niekoľko, keby týchto objektov neboli desiatky a keby tieto objekty neobsahovali milióny záznamov. Navyše tieto objekty bolo potrebné často dopĺňať o vzniknuté entity, ktoré vznikajú pravidelne na ročnej báze. Ďalšia špecialita bola v tom, že aj keď niektorý systém potreboval čerpať dáta zo spoločného objektu, ich požiadavky na obsah dát neboli rovnaké. Zoznam prenášaných údajov musel podliehať auditu, aby nedošlo k nechcenému úniku informácií. Ak sa k tomu pripoja aj požiadavky na bezpečnosť, na monitoring a kontrolu prenosu, na jednoznačnosť a na kompletnosť ... tak téma začala byť prinajmenšom zaujímavá.

Keďže zákazník používal integračnú platformu ako štandard pre všetky integrácie, hlavná technológia bola našťastie jednoznačne určená. Ako prvé nás napadlo, že pôjdeme klasickou cestou. Nastavíme v integračnej platforme toľko scenárov, koľko je rozhraní. Dáta k nim zoberieme priamo o zdrojového systému, však ako inak, nie ? V zozname bolo však asi 250 prvotných požiadaviek na prenos a zoznam sa nám mal každý rok rozširovať.

Keď sme si spočítali, aká zložitá by bola implementácia pre jednotlivú implementáciu a aká zložitá by bola údržba a ďalšie rozširovanie, aké nároky na výkon by boli pri umožnení čítania dát viacerým systémom priamo z kritického systému, vrátili sme sa späť na úplný začiatok.

Položili sme si niekoľko kľúčových otázok: Je potrebné poskytnúť dáta naozaj úplne aktuálne v každú minútu, alebo to môžu byť dáta aktuálne z predošlého dňa? Je možné nad týmito dátami vytvoriť jednotný mechanizmus, ktorý umožní za definovaných podmienok načítať požadované údaje? Je možné tento mechanizmus doplniť o centrálne nastavenie rozdeľovania dát na viaceré dávky, kontrolný mechanizmus, zmena formátov a kompresiu? Bude vytvorenie takého jedného špeciálneho riešenia jednoduchšie ako nastavenie desiatky samostatných integračných scenárov?

Keďže na všetky odpovede bola odpoveď ÁNO, vymysleli a nastavili u zákazníka jedinečný efektívny mechanizmus, ktorý umožňuje cez integračnú platformu poskytovať údaje na vyžiadanie dát rýchlo, efektívne a hlavne transparentne.

Samotné dáta sme sa nakoniec rozhodli neposkytovať priamo zo zdrojového kritického systému, ale zo systému Business Warehouse, kde sa požadované entity každú noc pravidelne replikujú. Takto sme vyriešili aj výkonnostné odľahčenie kľúčového systému, vrátane bezpečnosti. Zmenou zdrojového systému pre poskytovanie dát na Business Warehouse sme navyše zabezpečili určitú unifikáciu objektov, ktoré sú v tomto systéme ukladaná jednotným spôsobom pre rôzne business objekty.

Dnes cez tento mechanizmus pravidelne pretekajú denne gigabajty dát a milióny záznamov s tým, že naše riešenie dokáže fungovať spoľahlivo už celé roky. Vykonanie menších zmien alebo rozšírenia vieme vykonať v priebehu niekoľkých dní. Monitoring a prevádzku dnes zabezpečuje zákazník vo vlastnej réžii.

Samozrejme, technológie za posledné obdobie pokročili a dnes by dalo uvažovať a o inej technickej alternatíve a zlepšeniach. Napriek tomu si myslím, nebude jednoduché tento náš výkonný a spoľahlivý unikát prekonať ... 😊, ale určite ho v budúcnosti vieme nahradiť niektorou z nových a moderných cloudových technológií. Bude to určite veľká výzva a pri prvej príležitosti to určite skúsime ...

Podobné príspevky