← Wróć do case studies
Case study — platforma danych Wdrożone

Trzy arkusze prowadziły firmę. Jedno miejsce — z codzienną kopią.

Firma doradztwa kredytowego prowadziła całą działalność na około 130 000 rekordów rozsianych po trzech rozłączonych arkuszach — bez historii zmian, bez backupów i z danymi call center, które nigdy nie trafiały do analityki. Scaliłem to w jedną samodzielnie hostowaną platformę relacyjną z automatycznym pipeline zasilającym hurtownię.

  • ~130k rekordów z trzech rozjeżdżających się arkuszy w jednej bazie.

  • Dane call center trafiają do raportu co 15 minut.

  • Codzienne backupy i sprawdzona ścieżka odtworzenia — bezpieczny wzrost.

Problem

Firma żyła w trzech dużych, rozłączonych arkuszach — około 130 000 rekordów edytowanych ręcznie, łączonych lookupami i po cichu uderzających w limity wierszy. Nie było historii zmian, strategii backupu ani bezpiecznego sposobu na rozwój: jedno złe wklejenie mogło bezpowrotnie utracić dane.

Osobno dane call center siedziały w bazie dostawcy telefonii, ale nigdy nie trafiały do analityki. Gotowe narzędzie do transferu wciąż padało, bo dostawca wymusza twardy limit dwóch jednoczesnych połączeń — więc raporty były zawsze nieaktualne albo po prostu ich brakowało.

Co zbudowałem

Samodzielnie hostowaną platformę bazodanową w chmurze firmy: NocoDB na PostgreSQL, za reverse proxy z automatycznym HTTPS i Google SSO ograniczonym do domeny firmy, z dziennymi backupami wypychanymi do object storage i zweryfikowaną ścieżką odtworzenia. Osoby nietechniczne dostają znajomy, arkuszowy interfejs; dane pod spodem są wreszcie relacyjne, z kontrolą dostępu i audytowalne.

Dla danych call center zastąpiłem padający transfer zaplanowanym zadaniem, które synchronizuje 27 tabel do hurtowni co 15 minut. Z założenia działa na jednym połączeniu, by uszanować limit dwóch połączeń dostawcy, używa watermarków do ładowań przyrostowych i deduplikuje przez merge-on-write — więc analityka jest aktualna, nigdy nie wyczerpując źródła.

Osobny panel umów spina workflow prawny z CRM-em sprzedaży przez webhooki, synchronizując statusy w obie strony.

Stack

NocoDB · PostgreSQL · Google Cloud · Cloud Run · BigQuery · Python · Docker · Traefik · Next.js · Express

Zarezerwuj darmowe 30 min