Nasze projekty
w zakresie backendu i inżynierii danych
Studia przypadków z zakresu backendu i inżynierii danych
Zaplanowane pozyskiwanie danych z 43 źródeł dla amerykańskiej firmy dostarczającej dane publiczne
Challenge:
43 dostawców danych, niestabilne schematy dostarczania, tysiące zadań ingestion i miliardy rekordów. Pliki zmieniały się, nie pobierały poprawnie lub pojawiały się z opóźnieniem.
Solution:
Zautomatyzowany system ingestion z indywidualną logiką dla każdego dostawcy, ciągłym sprawdzaniem endpointów, ponawianiem prób i weryfikacją integralności plików.
Result:
Ponad 6 400 zadań rocznie przy współczynniku awarii na poziomie 0,09%. Miliardy rekordów ładowanych każdego miesiąca.
Comiesięczne pozyskiwanie danych z ponad 60 źródeł dla amerykańskiego agregatora danych
Challenge:
Dane publiczne z ponad 60 stron internetowych, częste zmiany witryn, niespójne formaty oraz potrzeba stabilnego, comiesięcznego źródła danych dla nowej funkcji wyszukiwania.
Solution:
Modularne pozyskiwanie danych z wewnętrzną orkiestracją, ciągłym monitoringiem, normalizacją, konsolidacją na poziomie stanów oraz dostarczaniem plików CSV ze stabilnym schematem.
Result:
Niezawodny comiesięczny zbiór danych, uruchomiona nowa funkcja wyszukiwania oraz pipeline danych działający przez ponad 10 lat bez zakłócania systemów zależnych.
Pipeline ETL dla bazy wyborców w Indiach dla firmy zajmującej się danymi politycznymi i doradztwem
Challenge:
1 miliard rekordów wyborców, 22 języki lokalne i 36 formatów danych wejściowych, w tym pliki PDF oraz formularze wypełniane odręcznie.
Solution:
Rozpoznawanie tekstu OCR i uczenie maszynowe do transliteracji oraz weryfikacja danych na podstawie rejestrów pocztowych.
Result:
Ujednolicona, transliterowana i przeszukiwalna baza danych.
Pozyskiwanie i przetwarzanie 150 mln rekordów dla platformy wyszukiwania osób
Challenge:
Zbiór 150 mln rekordów z codzienną aktualizacją 1 mln rekordów.
Solution:
Zautomatyzowany pipeline danych z codziennym pozyskiwaniem, rozpakowywaniem i walidacją danych. Przetwarzanie danych za pomocą Airflow i AWS Glue Jobs w Scali.
Result:
Przeszukiwalna baza danych w chmurowym magazynie danych Snowflake.
Pozyskiwanie danych internetowych dla platformy zakupowej części samochodowych opartej na AI
Challenge:
Wiele źródeł katalogów motoryzacyjnych, miliony potencjalnych wywołań API, zmieniający się zakres, ścisłe terminy onboardingu i ograniczony budżet.
Solution:
Etapowa współpraca obejmująca stworzenie bezpłatnego modułu ładowania danych, dostarczenie zweryfikowanej próbki oraz kontrolowane, równoległe pozyskiwanie danych zgodne z priorytetami biznesowymi.
Result:
Załadowano ponad 313 tys. rekordów. Kontrolowane pod względem budżetu wdrożenie dostosowane do dwóch terminów onboardingu klientów.
Pipeline ETL dla ponad 4 mld rekordów wyborców i zmian adresu w USA dla firmy zajmującej się analizą tożsamości
Challenge:
Pięć niepołączonych źródeł danych o wyborcach i zmianach adresu. Miliardy rekordów. Brak wspólnego formatu. Wysokie ryzyko duplikacji. Wszystko powstało w czasach, gdy narzędzia Big Data były jeszcze niedojrzałe, a sprzęt kosztowny.
Solution:
Wieloetapowy pipeline ETL z logiką dostosowaną do poszczególnych źródeł, standaryzacją danych, entity resolution i scentralizowanym indeksowaniem w SOLR.
Result:
Przetworzono i ujednolicono ponad 4 miliardy rekordów. Pięć zewnętrznych źródeł zintegrowano w jeden przeszukiwalny zbiór danych.
Entity resolution dla platformy B2B data intelligence
Challenge:
Ujednolicić rekordy z trzech źródeł.
Solution:
Pipeline z probabilistycznym dopasowywaniem i normalizacją pól dotyczących imienia i nazwiska, danych kontaktowych, pracy i edukacji.
Result:
76% deduplikacji przy dopasowaniu ≥85%, 400 mln rekordów dopasowanych w 40 minut
Ekstrakcja danych z plików PDF za pomocą AI dla wiodącej platformy B2B data intelligence
Challenge:
Wyodrębnić dane z 18 tys. zeskanowanych plików PDF w 30 formatach.
Solution:
Wytrenowany model Gemini Vertex AI do ekstrakcji danych na podstawie wzorców. Zautomatyzowane ładowanie i przetwarzanie danych za pomocą Airflow DAGs w Pythonie.
Result:
Pliki tekstowe z danymi kontaktowymi firm.
Optymalizacja systemu parsowania adresów dla platformy wyszukiwania osób
Challenge:
Zoptymalizować system parsowania, walidacji i oczyszczania adresów, który nie radził sobie z dużym obciążeniem oraz zbiorem obejmującym 1 mln rekordów.
Solution:
Migracja systemu z MSSQL do Redis. Wstępnie skompilowane zapytania MSSQL. Nowe algorytmy parsowania adresów. Wewnętrzne buforowanie, deduplikacja i indeksowanie.
Result:
Stabilny i łatwo skalowalny system dla ponad 1 mln rekordów Dwukrotnie szybsze przetwarzanie danych O 40% mniejszy ruch związany z przetwarzaniem O 12% mniej błędów
Rozwój backendu dla rozproszonego systemu pozyskiwania danych internetowych
Challenge:
Zbudować narzędzie do pozyskiwania danych na dużą skalę, wymagające minimalnej konfiguracji.
Solution:
Chmurowy system pozyskiwania danych na dużą skalę z zarządzaniem zasobami, obsługą proxy i monitoringiem projektów.