
Wprowadzenie
W obliczu dynamicznie zmieniającego się świata finansów, fundusz inwestycyjny o włosko-holenderskich korzeniach, posiadający oddział w Irlandii, stanął przed wyzwaniem modernizacji swoich przestarzałych systemów przetwarzania danych. Klient, wykorzystujący dotychczasowe rozwiązania oparte na SSIS (SQL Server Integration Services), zdecydował się na przejście na nowoczesną technologię w celu poprawy efektywności i elastyczności operacyjnej. Głównym celem była integracja oraz przetwarzanie danych pochodzących z różnorodnych źródeł, w tym danych giełdowych, w celu utworzenia nowego systemu raportowania. Wybór padł na platformę Snowflake, cenioną za jej zdolności do zarządzania zbiorami podobnych plików i elastyczność w obsłudze danych.
Problem
Kluczowym wyzwaniem było przetworzenie i integracja danych z różnorodnych formatów plików, w tym plików Excel i archiwów ZIP, bez konieczności tworzenia skomplikowanych transformacji danych dla każdego nowego źródła. Pierwotny plan zakładał zatrudnienie dodatkowych deweloperów do przeprojektowania systemu, jednakże propozycja automatyzacji procesu ładowania danych wydawała się bardziej efektywnym i oszczędzającym koszty rozwiązaniem.
Rozwiązanie
Zaproponowane rozwiązanie polegało na zbudowaniu harmonogramu ładowania danych przy ograniczonej przepustowości, z wykorzystaniem architektury event-driven opartej o Azure Event Hub. Pozwoliło to na natychmiastowe ładowanie dostępnych danych bez konieczności oczekiwania na pojawienie się wszystkich plików, znacząco redukując czas oczekiwania na zasoby i umożliwiając elastyczne zarządzanie kolejnością ładowania danych. System został zaprojektowany w taki sposób, aby był w stanie generować zdarzenia na podstawie pojawiających się plików, co z kolei uruchamiało kolejne etapy przetwarzania danych. Zastąpienie sztywnego harmonogramu ładowania przez system zdarzeń znacząco zwiększyło efektywność i skalowalność procesu.
Do realizacji projektu wykorzystano narzędzia takie jak Azure SQL Database, Azure Data Factory, oraz Azure Event Hub. Użycie Azure Data Factory umożliwiło ujednolicenie komunikacji i mapowania plików, co uprościło zarządzanie procesem ładowania danych. Interesującym aspektem projektu była rezygnacja z wykorzystania Informatica, co pozwoliło klientowi na oszczędności, pokazując, że wybrane narzędzia Azure w pełni zaspokoiły potrzeby projektu.
Wnioski
Implementacja nowego systemu przetwarzania danych przyniosła funduszowi szereg korzyści, w tym większą bezawaryjność, lepszą kontrolę pików obciążenia oraz oszczędności czasu i pieniędzy dzięki automatyzacji procesów. Jednym z kluczowych wniosków jest fakt, że system zbudowany na architekturze event-driven pozwala na szybką reakcję na ewentualne błędy, nie blokując całego systemu, co zwiększa jego odporność i efektywność. Dzięki centralizacji definicji ładowania plików, każda poprawka lub modyfikacja jest znacznie prostsza i szybsza, co przekłada się na zwiększoną elastyczność i skalowalność systemu.
Projekt ten stanowi przykład efektywnej transformacji systemów przetwarzania danych, demonstrując, jak zaawansowane technologie i podejście oparte na automatyzacji mogą przynieść znaczące korzyści operacyjne i finansowe w sektorze finansowym.