Wprowadzenie
Pierwsze kroki
DataFlow AI to platforma integracji i modernizacji danych dla telekomunikacyjnego środowiska sieci „Plus” należącego do Polkomtela — wielojęzyczny produkt mikrousługowy, który pozwala inżynierom, analitykom, opiekunom danych i administratorom budować, uruchamiać, zarządzać i migrować potoki danych ETL/ELT, a wszystko to ze wsparciem copilota opartego na modelu LLM.

Architektura
Jak współpracują ze sobą wielojęzyczne mikrousługi, brama API, współdzielona baza danych i strumieniowanie zdarzeń.
Przewodnik po funkcjach
Przewodniki krok po kroku po Design Studio, Monitorze, Zarządzaniu Danymi, Migracji i AI Copilocie.
Dokumentacja API
Powierzchnia bramy /api/v1, uwierzytelnianie, nagłówki tożsamości oraz punkty końcowe poszczególnych usług.
Wdrożenie
Uruchom pełny stos lokalnie za pomocą Docker Compose lub wdroż go w produkcyjnej topologii VPS.
Czym jest DataFlow AI
DataFlow AI to produkt integracji i modernizacji danych ETL/ELT zbudowany specjalnie dla Polkomtela, operatora polskiej sieci komórkowej „Plus”. Zastępuje on rozproszony krajobraz przestarzałych narzędzi ETL i ręcznie utrzymywanych skryptów jednolitą, zarządzaną platformą do przenoszenia danych między systemami telekomunikacyjnymi Polkomtela — domenami CRM, billingu, sieci oraz rekordów szczegółów połączeń (CDR) rozproszonymi w Teradata, Snowflake, SAP HANA, Databricks i Microsoft SQL Server.
Platforma to wielojęzyczne monorepozytorium mikrousług. Jej katalog główny pakietu to com.polkomtel.dataflow i łączy ona w sobie:
- Platformę JVM złożoną z usług Kotlin + Spring Boot 3.3.5 na Java 21.
- Dwie usługi AI w Python 3.12 / FastAPI — copilota i silnik migracji.
- Aplikację jednostronicową w React 19 + Vite + TypeScript.
- CLI w Go (
dataflow) oraz rozszerzenie przeglądarki.
Wszystko to jest obsługiwane przez jedną reaktywną bramę API, która uwierzytelnia każde żądanie względem Keycloak i przekierowuje je do właściwej usługi docelowej.
Dla kogo jest ta dokumentacja
Niniejsza dokumentacja służy czterem personom operacyjnym Polkomtela — Inżynierom Danych, Analitykom Biznesowym, Administratorom Platformy i Opiekunom Danych — a także każdemu, kto buduje, wdraża lub rozszerza samą platformę.
Problem, który rozwiązuje
Zespoły danych Polkomtela mierzyły się z czterema powtarzającymi się problemami. DataFlow AI jest zorganizowany wokół rozwiązania każdego z nich.
| Problem | Możliwość DataFlow AI |
|---|---|
| Budowanie i uruchamianie potoków danych ETL/ELT jest powolne i niespójne | Wizualne Design Studio ze zsynchronizowaną edycją Visual/SQL/Python na kanonicznej definicji potoku w formacie YAML |
| Setki przestarzałych przepływów ETL są zablokowane w Informatica PowerCenter i Alteryx | Centrum Migracji wykorzystuje AI do konwersji przestarzałych przepływów na potoki YAML DataFlow |
| Zarządzanie danymi, pochodzenie danych oraz obowiązki zgodności z RODO i przepisami polskimi są trudne do udokumentowania | Centrum Zarządzania Danymi zapewnia pochodzenie danych na poziomie kolumn, monitorowanie jakości, kolejkę przeglądu oraz niezmienny dziennik audytu połączony łańcuchem skrótów |
| Diagnozowanie awarii potoków wśród ponad 500 potoków zajmuje zbyt dużo czasu | Centrum Monitorowania oraz AI Copilot, który przeprowadza analizę przyczyn źródłowych i sugeruje poprawki |
Platforma jest dostosowana do rzeczywistej skali Polkomtela: ponad 500 produkcyjnych potoków danych, ponad 500 przepływów Informatica PowerCenter oraz 50–100 przepływów Alteryx oczekujących na migrację.
Możliwości na wysokim poziomie
Projektowanie i wykonywanie potoków danych
Potoki danych są tworzone jako skierowane grafy acykliczne (DAG) i przechowywane w formacie YAML. Silnik potoków kompiluje YAML do wykonawczego DAG-a, sprawdza go pod kątem cykli i zawieszonych węzłów, a następnie uruchamia zadania w kolejności topologicznej — równolegle w obrębie każdego poziomu DAG-a. Wykonanie można przekazać do Apache Flink lub Spark/Dataproc, delegować do zewnętrznych orkiestratorów takich jak Airflow albo uruchomić natywnie. Usługa samonaprawiania klasyfikuje awarie i stosuje strategie odzyskiwania.
Łączność
Modułowy SDK konektorów dostarcza 21 implementacji konektorów obejmujących bazy danych JDBC (Teradata, Snowflake, SAP HANA, Oracle, MS SQL, PostgreSQL, MySQL, Databricks), formaty plików (Parquet, Avro, Excel, CSV, JSON, XML), chmurowe magazyny obiektów (GCS, S3, Azure Blob) oraz źródła strumieniowe (Kafka, Pub/Sub, Azure Event Hubs) — w tym przechwytywanie zmian danych za pośrednictwem Debezium.
Zarządzanie danymi i zgodność
Pochodzenie danych na poziomie kolumn, dynamiczne maskowanie PII, reguły jakości danych, kolejka przeglądu zarządzania danymi, obsługa wniosków DSAR w ramach RODO, polityka retencji oraz kryptograficznie połączony łańcuchem skrótów niezmienny dziennik audytu. Harmonogramy domyślnie korzystają ze strefy czasowej Europe/Warsaw.
AI Copilot
Copilot oparty na modelu Claude wykonuje generowanie potoków danych z języka naturalnego, konwersję języka naturalnego na SQL, konwersacyjne debugowanie, wyszukiwanie w katalogu rozszerzone o pobieranie (RAG) oraz analizę przyczyn źródłowych. Dostawca LLM jest wymienny — Anthropic, OpenRouter lub model lokalny.
Obserwowalność
Metryki Prometheus, pulpity Grafana, śledzenie OpenTelemetry, zdarzenia OpenLineage oraz strumienie SSE i WebSocket w czasie rzeczywistym, które zasilają w interfejsie użytkownika dzienniki uruchomień potoków oraz alerty na żywo.
Uwaga
DataFlow AI używa współdzielonej bazy danych PostgreSQL dla wszystkich usług, izolowanej za pomocą historii migracji Flyway oraz prefiksów tabel właściwych dla poszczególnych usług. To bliższe rozproszonemu monolitowi nad jedną bazą danych niż w pełni autonomicznym mikrousługom — pamiętaj o tym, rozważając kwestie skalowania i wdrożenia.
Powierzchnia produktu
Frontend to aplikacja jednostronicowa dostosowująca się do roli: elementy nawigacji są ukrywane (a nie wyszarzane) dla person, które ich nie używają. Główne powierzchnie to:
| Powierzchnia | Trasa | Co robi |
|---|---|---|
| Pulpit główny | /dashboard | Strona startowa dostosowująca się do roli — kafelki KPI, ostatnia aktywność i szybkie akcje dostrojone do persony |
| Design Studio | /design-studio | Wizualny kreator potoków danych oparty na węzłach ze zsynchronizowanymi trybami Visual / SQL / Python |
| Centrum Monitorowania | /monitor | Uruchomienia potoków, analityka wydajności, alerty i dzienniki z diagnozą awarii przez AI |
| Centrum Zarządzania Danymi | /governance | Eksplorator pochodzenia danych, monitorowanie jakości, kolejka przeglądu, słownik i ścieżka audytu |
| Konsola administracyjna | /admin | Użytkownicy, bezpieczeństwo, infrastruktura, koszty i zarządzanie środowiskiem |
| Centrum Migracji | /migration | Wspomagana przez AI konwersja przepływów Informatica i Alteryx na YAML DataFlow |
| AI Copilot | nakładka | Wszechobecny czat, podpowiedzi kodu w linii oraz proaktywne wglądy |
| Przeglądarka danych / Katalog | /data-browser | Wyszukiwanie i eksplorowanie każdej tabeli i kolumny w całym środowisku danych |
| Rynek konektorów | /marketplace | Przeglądanie i instalowanie konektorów danych |
| Szablony potoków danych | /templates | Tworzenie instancji gotowych szablonów potoków danych |
| Moje potoki danych | /pipelines | Zarządzanie własnymi potokami danych — uruchamianie, edytowanie, usuwanie |
| Wdrażanie | /onboarding | Sześcioetapowy kreator pierwszego uruchomienia z prowadzeniem |
Cztery persony
Interfejs użytkownika dostosowuje się do aktywnej persony. Każda persona widzi inny układ pulpitu oraz inny zestaw modułów nawigacji.
| Persona | Rola | Główne moduły |
|---|---|---|
| Anna Kowalska | Inżynier Danych | Design Studio, Monitor, Przeglądarka danych, Migracja, AI Copilot, Pochodzenie danych |
| Marek Nowicki | Analityk Biznesowy | Design Studio, Monitor, Przeglądarka danych, AI Copilot |
| Katarzyna Zielińska | Administrator Platformy | Monitor, Migracja, Administracja, Koszty, Użytkownicy, Audyt |
| Tomasz Wiśniewski | Opiekun Danych | Centrum Zarządzania Danymi, Przeglądarka danych, Jakość, Pochodzenie danych, Audyt, AI Copilot |
Jak poruszać się po tej dokumentacji
Dokumentacja jest podzielona na trzy ścieżki. Zacznij od tej, która odpowiada temu, co chcesz zrobić.
Zrozumieć system
Przeczytaj przewodnik Architektura, aby poznać inwentarz mikrousług, porty, przepływy żądań i wzorce integracji; stronę Stos technologiczny, aby poznać każdy język, framework i bibliotekę; oraz przewodnik Instalacja, aby uruchomić platformę na własnym komputerze.
Używać produktu
Przewodniki po funkcjach prowadzą krok po kroku przez każdą powierzchnię. Zacznij od Pulpitu głównego, następnie przejdź do Design Studio (podstawowego kreatora potoków danych), Centrum Monitorowania, Centrum Zarządzania Danymi oraz Centrum Migracji. Przewodnik po AI Copilocie wyjaśnia obejmującą całą platformę warstwę inteligencji.
Integrować się z API
Dokumentacja API opisuje powierzchnię bramy /api/v1 — uwierzytelnianie, nagłówki tożsamości X-User-* wstrzykiwane przez bramę, ograniczanie liczby żądań oraz punkty końcowe poszczególnych usług udostępniane przez metadata, pipeline-engine, lineage, monitor, copilot i migration-engine.
Szybki start
Nowy w platformie? Przeczytaj Pierwsze kroki (tę stronę), następnie przewodnik Architektura, a potem uruchom stos lokalnie zgodnie z Instalacja i konfiguracja lokalna. Stamtąd przewodnik po Design Studio w ramach Przewodnika po funkcjach pokazuje produkt od początku do końca.
Konwencje używane w tej dokumentacji
- Kod w linii oznacza ścieżki plików, ścieżki tras, zmienne środowiskowe oraz identyfikatory — na przykład
backend/docker-compose.yml,/api/v1/pipelinesczyLLM_PROVIDER. - Bloki kodu zawierają znacznik języka oraz prawdziwe polecenia, konfigurację lub szkice interfejsu.
- Ekrany interfejsu użytkownika są rysowane jako szkice ASCII wewnątrz bloków kodu, a nie jako zrzuty ekranu, dzięki czemu dokumentacja pozostaje dokładna w miarę rozwoju interfejsu.
- Tabele są obficie wykorzystywane do inwentaryzacji — usług, portów, bibliotek i punktów końcowych.
Każdy fakt w tej dokumentacji pochodzi z monorepozytorium DataFlow AI. Tam, gdzie specyfikacja prototypu klikalnego i dostarczona aplikacja się różnią, odnotowane są oba warianty.

