Skip to main content
Tech Blog banner (4096 x 1024 px) - 1

APEX dla (nie)wtajemniczonych – przewodnik po warstwie danych

APEX to świetny przykład współpracy inżynierów z Polski, Kosowa i Rumunii. W tym artykule poznasz podstawy funkcjonowania warstwy danych w platformie oraz kilka podstawowych terminów związanych APEX.

  • Robert Marek

Czym jest APEX?

Sama nazwa APEX rozwija się do słów: The Analytics Platform EXperience i jest następcą RBI Group Advanced Analytics Data Lake and Workspace.Platforma APEX wyróżnia się kilkoma istotnymi cechami, które odróżniają ją od tradycyjnych usług dostarczanych przez HO. Przede wszystkim charakteryzuje się zdecentralizowaną architekturą, co oznacza, że jest rozproszona zarówno na poziomie logicznym, jak i fizycznym. W kontekście tenantyzacji, w ramach każdego Network Unit, każdy zespół funkcjonuje jako w pełni niezależny tenant, co zapewnia większą elastyczność i autonomię w zarządzaniu. Platforma APEX jest również platformą self-service, oferującą dedykowane usługi, które umożliwiają zarządzanie użytkownikami, współdzielenie danych z innymi tenantami oraz importowanie i udostępnianie danych. Co ważne, zarządzanie platformą jest realizowane przez zespół APEX, co oznacza, że użytkownicy nie muszą mieć zaawansowanej wiedzy technicznej dotyczącej chmury, aby efektywnie korzystać z dostępnych funkcji.

APEX w Raiffeisen Tech

APEX powstał aby zastąpić poprzedni model datalake wykorzystywany wewnątrz Raiffeisen Tech – czyli wykorzystywanie AWS wraz z przetwarzaniem za pomocą EMR i Airflow. Model ten wymagał bardzo sztywnego podejścia do struktury przetwarzań, utrudniając kooperację pomiędzy Data Scientist i Inżynierami Danych. Platforma APEX ma na celu standaryzację podejścia do danych wewnątrz organizacji, ułatwiając automatyzację i skalowanie w kontekście całego cyklu data science (trenowanie modeli, testowanie, weryfikacja itp.)

Inicjatywa rozpoczęła się w roku 2021, platforma ciągle jest rozwijana. Jedne z najbardziej kluczowych momentów rozwoju platformy to:

  • Początek rozwoju platformy – Q1 2022
  • Pierwszy Pantest – Q1/Q2 2022
  • HO Onboarding – Q2 2022
  • HO w pełni zmigrowane do APEX – Q1 2023
  • Adaptacja self service platform w kontekście zarządzania dostępami do danych – Q1/Q2 2023
  • APEX release 2.0 (tak zwany K2) – Q2 2023
    • Umożliwienie konsumpcji danych poprzez jdbc/odbc
    • „Raw layer” zastępujący dotychczasowy „DL landing zone”
    • Reformacja logiki tworzenia baz danych reprezentujących istniejące zbiory danych na AWS
    • Możliwość współdzielenia danych pomiędzy use case

APEX wykorzystywane jest przez wiele zespołów projektowych, m.in. w RBI Head Office i Raiffeisen Tech Polska. :

Źródło: materiały własne
Źródło: materiały własne

Wszystkie te zespoły wykorzystują korzyści płynące z platformy APEX do rozwoju swoich produktów. Zintegrowane środowisko deweloperskie, wraz z szerokim dostępem do metod automatyzacji procesów inżynierii danych jak i tworzenia modeli przyśpiesza dostarczanie kolejnych wersji produktów. Integracja z ekosystemem danych wewnątrz organizacji, wraz z systemem Data Unit i Data Share umożliwiają swobodną kooperację Data Scientist i Data Engineerów. Możliwość skalowania zasobów obliczeniowych pozwala na optymalizację rozwiązań technicznych pod względem stosunku wydajność/cena.

Platforma APEX jest ściśle zintegrowana z ekosystemem cloud AWS. Ponadto, umożliwia integrację z innymi systemami zewnętrznymi, takimi jak Power BI wykorzystując uniwersalne i standardowe metody konsumpcji danych takie jak jdbc/odbc czy sftp.

Kluczowe elemety - Databricks

Jednym z kluczowych elementów ekosystemu APEX jest platforma Databricks, udostępniona w formie panelu WebUI.

W ramach APEX Databricks umożliwia m. in.

  • Przetwarzanie Big Data z Apache Spark,
  • MLflow: zarządzanie cyklem życia modeli uczenia maszynowego, od eksperymentu do produkcji,
  • Databricks SQL: wykonywanie zapytań SQL dla analiz biznesowych i wizualizacji danych, łącznie z wykorzystaniem konektorów jdbc,
  • Tworzenie i zarządzanie klastrami Apache Spark, umożliwiając dobór mocy obliczeniowej do potrzeb,
  • Tworzenie harmonogramowanych zadań, których kod tworzyć można z wykorzystaniem Jupyter Notebook.

Warstwa danych

Istotnym elementem warstwy danych są pojęcia Data Unit oraz Data Share. Ich zrozumienie jest kluczowe w zrozumieniu, jak działa udostępnianie danych pomiędzy tenantami.

Data Unit

Data unit, w dużym uproszczeniu, jest reprezentacją lokalizacji danych. W kontekście APEX jest to lokalizacja w chmurze AWS (S3), zarówno na koncie danego Network Unitu, jak i Data Lake.

Podstawowymi typami Data Unitów są:

  • Source system – dedykowany danym i zasobom źródłowym, wykorzystywanym przez późniejsze przetwarzania. Możliwe jest udostępnienie przesyłania plików do danego Source System z wykorzystaniem sftp oraz dedykowanej roli AWS.
  • Data Product – dedykowany końcowym/pośrednim produktom. Wraz z każdym Data Produktem tworzona jest baza danych, dostępna z poziomu Databricks. Bezpośredni dostęp do danych jest możliwy z wykorzystaniem S3 Access Point, udostępnianego użytkownikowi końcowemu (tak, aby dostęp przez standardowy interfejs s3 również był możliwy).

Data Share

Data share jest logiczną reprezentacją udostępniania danych dla danego tenanta. Samo utworzenie Data Unit nie daje dostępu do danych żadnemu z tenantów, wymagany jest dedykowany Data Share.

W uproszczeniu:

  • Każdy data unit może być udostępniany wielu tenantom, wykorzystując Data Share.
  • Data Share może nadawać uprawnienia ReadOnly lub Read/Write.
  • Dodatkowe opcje udostępniania (dostęp poprzez bazę danych, sftp) odbywają się na poziomie Data Share.

Interfejs użytkownika i funkcjonalności

Kilka zdań na temat interfejsu użytkownika APEX. Opisz kluczowe funkcjonalności i jak użytkownicy mogą korzystać z platformy. Możesz dodać zrzuty ekranu lub opisać dostępne opcje konfiguracji.

W najbliższym czasie priorytetem jest integracja Unity Catalog, który umożliwi udostępnienie wielu dodatkowych możliwości użytkownikom platformy, takich jak:

  • Warstwa wirtualizacji danych
  • Ulepszone współdzielenie danych
  • Data Governance 
  • Data Lineage

Ponadto, rozwijana jest intensywnie warstwa self-service, która umożliwi delegację zarządzania aspektami workspace do użytkowników końcowych, bez potrzeby kontaktowania HO.

Wkrótce zostanie również udostępniona możliwość dodania wektorowej bazy danych do wybranych workspace.

Podsumowanie

Chociaż ten artykuł daje jedynie ogólny zarys architektury warstwy danych APEX, mamy nadzieję, że wprowadził on nieco klarowności w działanie platformy. Dzięki zdecentralizowanej architekturze i elastycznym opcjom zarządzania danymi, APEX stanowi nowoczesne i wszechstronne rozwiązanie dla potrzeb analitycznych w Grupie RBI. A więcej o pozyskiwaniu i przetwarzaniu danych w APEX znajdziecie w kolejnym artykule.