{"id":6016,"date":"2024-03-07T16:22:05","date_gmt":"2024-03-07T14:22:05","guid":{"rendered":"https:\/\/brsolutions.pl\/blog\/oparty-na-zdarzeniach-framework-etl-dla-adf-i-snowflake\/"},"modified":"2025-07-21T10:44:42","modified_gmt":"2025-07-21T08:44:42","slug":"oparty-na-zdarzeniach-framework-etl-dla-adf-i-snowflake","status":"publish","type":"blog","link":"https:\/\/brsolutions.pl\/pl\/blog\/oparty-na-zdarzeniach-framework-etl-dla-adf-i-snowflake\/","title":{"rendered":"Oparty na zdarzeniach framework ETL dla ADF i Snowflake"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.4&#8243; custom_padding=&#8221;0px||0px||false|false&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; custom_margin=&#8221;||0px||false|false&#8221; sticky_enabled=&#8221;0&#8243;][et_pb_row _builder_version=&#8221;4.27.4&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; width=&#8221;100%&#8221; custom_padding=&#8221;0px||||false|false&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_image src=&#8221;https:\/\/brsolutions.pl\/wp-content\/uploads\/2025\/07\/event-based-etl-framework.png&#8221; alt=&#8221;Tablica ze znacznikami czasu&#8221; title_text=&#8221;Whiteboard ETL&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;0px||||false|false&#8221; custom_padding=&#8221;0px||||false|false&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; src_last_edited=&#8221;on|desktop&#8221; sticky_enabled=&#8221;0&#8243; src_phone=&#8221;https:\/\/brsolutions.pl\/wp-content\/uploads\/2025\/07\/Whiteboard-ETL-1.png&#8221; force_fullwidth=&#8221;on&#8221; src_tablet=&#8221;https:\/\/brsolutions.pl\/wp-content\/uploads\/2025\/07\/event-based-etl-framework.png&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.27.4&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; custom_padding=&#8221;||0px|||&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<h2 style=\"margin-bottom: 8px; margin-top: 0px;\">Wprowadzenie<\/h2>\n<p>W obliczu dynamicznie zmieniaj\u0105cego si\u0119 \u015bwiata finans\u00f3w, fundusz inwestycyjny o w\u0142osko-holenderskich korzeniach, posiadaj\u0105cy oddzia\u0142 w Irlandii, stan\u0105\u0142 przed wyzwaniem modernizacji swoich przestarza\u0142ych system\u00f3w przetwarzania danych. Klient, wykorzystuj\u0105cy dotychczasowe rozwi\u0105zania oparte na SSIS (SQL Server Integration Services), zdecydowa\u0142 si\u0119 na przej\u015bcie na nowoczesn\u0105 technologi\u0119 w celu poprawy efektywno\u015bci i elastyczno\u015bci operacyjnej. G\u0142\u00f3wnym celem by\u0142a integracja oraz przetwarzanie danych pochodz\u0105cych z r\u00f3\u017cnorodnych \u017ar\u00f3de\u0142, w tym danych gie\u0142dowych, w celu utworzenia nowego systemu raportowania. Wyb\u00f3r pad\u0142 na platform\u0119 Snowflake, cenion\u0105 za jej zdolno\u015bci do zarz\u0105dzania zbiorami podobnych plik\u00f3w i elastyczno\u015b\u0107 w obs\u0142udze danych.<\/p>\n<h2 style=\"margin-bottom: 8px; margin-top: 0px;\">Problem<\/h2>\n<p>Kluczowym wyzwaniem by\u0142o przetworzenie i integracja danych z r\u00f3\u017cnorodnych format\u00f3w plik\u00f3w, w tym plik\u00f3w Excel i archiw\u00f3w ZIP, bez konieczno\u015bci tworzenia skomplikowanych transformacji danych dla ka\u017cdego nowego \u017ar\u00f3d\u0142a. Pierwotny plan zak\u0142ada\u0142 zatrudnienie dodatkowych deweloper\u00f3w do przeprojektowania systemu, jednak\u017ce propozycja automatyzacji procesu \u0142adowania danych wydawa\u0142a si\u0119 bardziej efektywnym i oszcz\u0119dzaj\u0105cym koszty rozwi\u0105zaniem.<\/p>\n<h2 style=\"margin-bottom: 8px; margin-top: 0px;\">Rozwi\u0105zanie<\/h2>\n<p>Zaproponowane rozwi\u0105zanie polega\u0142o na zbudowaniu harmonogramu \u0142adowania danych przy ograniczonej przepustowo\u015bci, z wykorzystaniem architektury event-driven opartej o Azure Event Hub. Pozwoli\u0142o to na natychmiastowe \u0142adowanie dost\u0119pnych danych bez konieczno\u015bci oczekiwania na pojawienie si\u0119 wszystkich plik\u00f3w, znacz\u0105co redukuj\u0105c czas oczekiwania na zasoby i umo\u017cliwiaj\u0105c elastyczne zarz\u0105dzanie kolejno\u015bci\u0105 \u0142adowania danych. System zosta\u0142 zaprojektowany w taki spos\u00f3b, aby by\u0142 w stanie generowa\u0107 zdarzenia na podstawie pojawiaj\u0105cych si\u0119 plik\u00f3w, co z kolei uruchamia\u0142o kolejne etapy przetwarzania danych. Zast\u0105pienie sztywnego harmonogramu \u0142adowania przez system zdarze\u0144 znacz\u0105co zwi\u0119kszy\u0142o efektywno\u015b\u0107 i skalowalno\u015b\u0107 procesu.<\/p>\n<p>Do realizacji projektu wykorzystano narz\u0119dzia takie jak Azure SQL Database, Azure Data Factory, oraz Azure Event Hub. U\u017cycie Azure Data Factory umo\u017cliwi\u0142o ujednolicenie komunikacji i mapowania plik\u00f3w, co upro\u015bci\u0142o zarz\u0105dzanie procesem \u0142adowania danych. Interesuj\u0105cym aspektem projektu by\u0142a rezygnacja z wykorzystania Informatica, co pozwoli\u0142o klientowi na oszcz\u0119dno\u015bci, pokazuj\u0105c, \u017ce wybrane narz\u0119dzia Azure w pe\u0142ni zaspokoi\u0142y potrzeby projektu.<\/p>\n<h2 style=\"margin-bottom: 8px; margin-top: 0px;\">Wnioski<\/h2>\n<p>Implementacja nowego systemu przetwarzania danych przynios\u0142a funduszowi szereg korzy\u015bci, w tym wi\u0119ksz\u0105 bezawaryjno\u015b\u0107, lepsz\u0105 kontrol\u0119 pik\u00f3w obci\u0105\u017cenia oraz oszcz\u0119dno\u015bci czasu i pieni\u0119dzy dzi\u0119ki automatyzacji proces\u00f3w. Jednym z kluczowych wniosk\u00f3w jest fakt, \u017ce system zbudowany na architekturze event-driven pozwala na szybk\u0105 reakcj\u0119 na ewentualne b\u0142\u0119dy, nie blokuj\u0105c ca\u0142ego systemu, co zwi\u0119ksza jego odporno\u015b\u0107 i efektywno\u015b\u0107. Dzi\u0119ki centralizacji definicji \u0142adowania plik\u00f3w, ka\u017cda poprawka lub modyfikacja jest znacznie prostsza i szybsza, co przek\u0142ada si\u0119 na zwi\u0119kszon\u0105 elastyczno\u015b\u0107 i skalowalno\u015b\u0107 systemu.<\/p>\n<p style=\"margin-bottom: 0px; margin-left: 0px; margin-top: 0px;\">Projekt ten stanowi przyk\u0142ad efektywnej transformacji system\u00f3w przetwarzania danych, demonstruj\u0105c, jak zaawansowane technologie i podej\u015bcie oparte na automatyzacji mog\u0105 przynie\u015b\u0107 znacz\u0105ce korzy\u015bci operacyjne i finansowe w sektorze finansowym.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"author":9,"featured_media":6086,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[],"tags":[],"class_list":["post-6016","blog","type-blog","status-publish","has-post-thumbnail","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/brsolutions.pl\/pl\/wp-json\/wp\/v2\/blog\/6016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brsolutions.pl\/pl\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/brsolutions.pl\/pl\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/brsolutions.pl\/pl\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/brsolutions.pl\/pl\/wp-json\/wp\/v2\/comments?post=6016"}],"version-history":[{"count":10,"href":"https:\/\/brsolutions.pl\/pl\/wp-json\/wp\/v2\/blog\/6016\/revisions"}],"predecessor-version":[{"id":6425,"href":"https:\/\/brsolutions.pl\/pl\/wp-json\/wp\/v2\/blog\/6016\/revisions\/6425"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/brsolutions.pl\/pl\/wp-json\/wp\/v2\/media\/6086"}],"wp:attachment":[{"href":"https:\/\/brsolutions.pl\/pl\/wp-json\/wp\/v2\/media?parent=6016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brsolutions.pl\/pl\/wp-json\/wp\/v2\/categories?post=6016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brsolutions.pl\/pl\/wp-json\/wp\/v2\/tags?post=6016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}