Wzorce przetwarzania danych to dziś jeden z kluczowych tematów w inżynierii oprogramowania. W obliczu rosnącej złożoności środowisk danych, potrzeby analizy w czasie rzeczywistym oraz nacisku na automatyzację, umiejętne projektowanie i implementacja systemów przetwarzania danych stają się niezbędne. 

Jak pokazuje raport 2024 State of Analytics Engineering opublikowany przez dbt Labs, ponad 57% specjalistów ds. danych wskazuje na niską jakość danych jako główną przeszkodę w efektywnym wykorzystaniu danych w organizacjach.

Odpowiednia architektura oraz zastosowanie właściwych wzorców przetwarzania danych nie tylko wspierają efektywne procesy ETL/ELT, ale także umożliwiają integrację z narzędziami powszechnie wykorzystywanymi w środowiskach korporacyjnych, takimi jak Microsoft Excel. 

W tym artykule przyjrzymy się ewolucji wzorców architektonicznych w kontekście przetwarzania danych oraz pokażemy na praktycznym przykładzie, jak integracja z Excelem może usprawnić dostęp i analizę danych w czasie rzeczywistym – bez konieczności budowania odrębnych paneli frontendowych.

Czym jest ETL, a czym ELT? 

Podstawą architektury przetwarzania danych są procesy ETL (Extract, Transform, Load) oraz ELT (Extract, Load, Transform). W przypadku ETL dane są:

  1. Ekstrahowane z różnych źródeł,
  2. Transformowane (np. oczyszczane, normalizowane),
  3. Ładowane do docelowej bazy danych lub hurtowni.

Z kolei w ELT dane najpierw trafiają w surowej postaci do magazynów danych (np. Data Lake), a transformacja następuje dopiero, gdy potrzebujemy je wykorzystać. ELT to podejście bardziej elastyczne, pozwalające operować na pełnych, niefiltrowanych danych.

Ewolucja rozwiązań do przetwarzania danych

  1. Bazy danych (lata 60.) – Pionier: Charles Bachman.
Charles Bachman i Wzorce przetwarzania danych
  1. Data Warehouse (lata 80.) – Twórcy: Barry Devlin i Paul Murphy (IBM).
    • Centralizacja danych.
    • Historyczne analizy.
    • Wysokie koszty utrzymania.
  2. Data Mart – Popularne dzięki Ralphowi Kimballowi.
    • Skupienie na konkretnym obszarze biznesowym.
    • Redundancja i ograniczona perspektywa.
  3. Data Lake – James Dixon (Pentaho).
    • Przechowywanie surowych, różnorodnych danych.
    • Ryzyko powstania „data swamp”.
  4. Data Fabric – Promowane przez IBM i Oracle.
    • Łączy dane z wielu źródeł w jednorodną tkaninę logiczną.
    • Szybki dostęp i zarządzanie w czasie rzeczywistym.
  5. Data Mesh – Twórczyni: Zhamak Dehghani (NextData, ex-ThoughtWorks).
    • Decentralizacja i odpowiedzialność domenowa.
    • Interfejsy API jako sposób udostępniania danych.
  6. Data Lakehouse (od 2020) – Firma: Databricks (twórcy Apache Spark).
    • Połączenie zalet Data Lake i Data Warehouse.
    • Obsługa zarówno danych strukturalnych, jak i niestrukturalnych.

Inne popularne wzorce przetwarzania danych

  • CDC (Change Data Capture) – zestaw wzorców projektowych oprogramowania używanych do określania i śledzenia danych, które uległy zmianie, tak aby można było podjąć działania na podstawie zmienionych danych. 
  • Lambda Architecture – przetwarzanie wsadowe + strumieniowe.
  • Kappa Architecture – koncentruje się na przetwarzaniu danych wyłącznie w trybie strumieniowym.
  • Data Vault – technika modelowania danych zaprojektowana tak, aby zapewnić przechowywanie danych historycznych z wielorakich systemów operacyjnych

Integracja z Microsoft Excel w przetwarzaniu danych – przykładowe zastosowanie

Microsoft Excel, choć często postrzegany jako narzędzie biurowe, może stać się potężnym narzędziem do interakcji z danymi przetwarzanymi w systemach backendowych. Przykład zrealizowany w projekcie FireUp.pro pokazał, że:

  1. Użytkownik otrzymuje wtyczkę do Excela (tzw. Office Add-in), która umożliwia:
    • Wywoływanie funkcji zdefiniowanych w projekcie (w JavaScript).
    • Pobieranie danych przez WebSocket z backendu aplikacji.
  2. Konfiguracja oparta jest na pliku manifest.xml, definiującym m.in. linki do skryptów JS (hostowanych np. na Amazon S3).
kod a Wzorce przetwarzania danych
  1. Wtyczka:
    • Jest przypisywana użytkownikom przez administratora konta Office 365.
    • Może zawierać widoki, logo firmy i funkcje, które działają jak zwykłe formuły Excela (np. =getCustomerData(„ID123”)).
Czym jest plik manifest we wzorcach przetwarzania danych?
  1. Dane aktualizowane są dynamicznie w arkuszu, np. przy użyciu eventów wysyłanych przez backend (wsparcie WebSocket).
  2. Komunikację i debugowanie umożliwia narzędzie „Developer Tools” w Excelu.

Technologie i narzędzia używane w projekcie:

  • JavaScript + Yeoman Generator for Office Add-ins
    GitHub: https://github.com/OfficeDev/generator-office
  • WebSocket API do komunikacji z backendem
  • Office Add-in Manifest Reference: https://learn.microsoft.com/en-us/office/dev/add-ins/develop/add-in-manifests

Podsumowanie 

Zrozumienie wzorców projektowych i architektur danych pozwala nie tylko lepiej projektować systemy przetwarzania danych, ale również skuteczniej integrować je z narzędziami, które są już dobrze znane i powszechnie stosowane przez użytkowników biznesowych, takimi jak Excel. 

fireup.pro wspiera takie wdrożenia, łącząc nowoczesną architekturę danych z praktyczną automatyzacją procesów. 

Chcesz wdrożyć nowoczesne wzorce przetwarzania danych w swojej firmie i zintegrować je z narzędziami, z których korzysta Twój zespół na co dzień, jak Excel? Skontaktuj się z nami – zbudujemy dla Ciebie wydajne rozwiązanie. Dowiedz się więcej: https://fireup.pro/uslugi/przetwarzanie-danych