// case study
Operational Data Store
Centralizovaná dátová vrstva, poskytujúca aktuálny, zjednotený a spoľahlivý pohľad na prevádzkové dáta
Pre Západoslovenskú distribučnú sme vybudovali Operational Data Store (ODS) — centralizovanú dátovú vrstvu, ktorá konsoliduje prevádzkové dáta z viacerých interných systémov a poskytuje ostatným aplikáciám aktuálny, zjednotený a spoľahlivý pohľad na ne. Celé riešenie sme postavili výhradne na open source technológiách, bez závislosti na licenciách konkrétneho dodávateľa.
Zadanie
Prevádzkové dáta ZSDIS boli pred nasadením ODS roztrúsené naprieč viacerými internými systémami a každá aplikácia si ich získavala samostatne. Výsledkom boli nekonzistentné a neraz neaktuálne pohľady na tie isté údaje — chýbal jeden spoľahlivý zdroj pravdy. Zároveň každé nové riešenie muselo nanovo integrovať jednotlivé zdrojové systémy, čo vývoj zbytočne predlžovalo.
Architektúra postavená na open source
Jadrom systému je databáza PostgreSQL doplnená o rozsiahlu sadu ETL procesov, ktoré v priebehu spracovania získavajú dáta z interných systémov ZSDIS. Medzi zdrojové systémy patrí okrem iného:
- systémy SAP,
- konsolidovaná odpočtová centrála,
- GIS systém,
- bilančný systém,
- a rad ďalších zdrojov.
Voľba open source technológií zákazníkovi zabezpečuje plnú kontrolu nad riešením a žiadny vendor lock-in.
ETL procesy s rešpektovaním závislostí
Najkomplexnejšou časťou dodávky sú ETL procesy, ktoré transformujú vstupné dáta do cieľových štruktúr tak, aby boli jednoducho použiteľné pre nadväzujúce systémy. Dáta sú vzájomne previazané — výstup jedného ETL spracovania často vstupuje do ďalšieho.
Aby sme túto previazanosť zvládli, navrhli sme hierarchický systém, ktorý rešpektuje závislosti medzi dátami a optimálne plánuje jednotlivé procesy. Vstupné dáta sa tak do ODS dostávajú v čo najkratšom čase.
Reaktívne spracovanie v reálnom čase
Celé spracovanie je reaktívne. Procesy nečakajú na vopred určené časové okamihy, ale spúšťajú sa v reálnom čase ako reakcia na prichádzajúce vstupné dáta. Dáta sa tak spracúvajú okamžite po tom, ako sú k dispozícii.
Sprístupnenie dát
Spracované dáta sprístupňujeme interným systémom ZSDIS podľa ich potrieb prostredníctvom:
- sady mikroslužieb,
- Apache Kafka,
- RabbitMQ.
Prínos pre zákazníka
- Jednotný zdroj pravdy — aplikácie čerpajú z jednej konzistentnej a spoľahlivej dátovej vrstvy namiesto roztrúsených sil.
- Dáta v reálnom čase — reaktívny ETL systém spracúva dáta okamžite, takže konzumenti majú aktuálne informácie k dispozícii v reálnom čase.
- Odbremenenie zdrojových systémov — aplikácie sa dotazujú do ODS namiesto priamo do produkčných systémov (SAP a ďalších), ktoré tak nezaťažujú.
- Rýchlejší vývoj nových riešení — nové aplikácie, ako napríklad sankčný screening, stavajú na pripravenej dátovej vrstve namiesto opätovnej integrácie každého systému zvlášť.
- Bez vendor lock-in — ODS je postavené výhradne na open source technológiách, zákazník má nad riešením plnú kontrolu.