🎯 Definicja

Pełna synchronizacja odświeżania (Full Refresh Sync) to tryb synchronizacji w systemach integracji danych (np. Airbyte), w którym przy każdym uruchomieniu zaciągane są wszystkie dane ze źródła, niezależnie od tego, czy zostały już wcześniej zsynchronizowane. Jest to prosta, ale kosztowna metoda zachowywania spójności danych pomiędzy źródłem a celem.

🔑 Kluczowe punkty

  • Pobierane i przesyłane są pełne zbiory danych – za każdym razem od zera.
  • Występują dwa tryby zachowania w celu:
    • Nadpisanie (Overwrite) – usuwa dane docelowe przed załadunkiem nowych
    • Dołączanie (Append) – dołącza dane bez usuwania poprzednich rekordów
  • Nie wymaga pola kursora (cursor field) ani logiki identyfikacji zmian.
  • Obciąża systemy źródłowe i sieć – zwłaszcza przy dużych wolumenach danych.
  • Sprawdza się w systemach zawierających małe tabele lub w przypadku trudności w detekcji zmian.

📚 Szczegółowe wyjaśnienie

Tryby Full Refresh

TrybZachowanie
OverwriteUsuwa istniejące dane docelowe przed załadowaniem nowych zasobów
AppendDołącza nowy zrzut danych do istniejącego zestawu rekordów, bez kasowania

Overwrite

  • Tworzy dokładne lustrzane odbicie źródła.
  • Pozwala odzwierciedlać również usunięcia danych.
  • Bezpieczeństwo: aktualne, spójne dane, brak duplikatów.
  • Wadą jest utrata historii i wydajność (przepisywanie wszystkiego).

Append

  • Każda synchronizacja dodaje komplet rekordów.
  • Może prowadzić do duplikowania danych przy braku kontroli.
  • Używane, gdy zależy nam na zachowaniu historii lub śledzeniu zmian.
  • Wymaga dodatkowej logiki deduplikacji po stronie celu.

Wady i zalety podejścia

ZaletyWady
Prosta konfiguracjaWysokie zużycie API/źródła i przepustowości
Nie wymaga pola typu timestampPowielanie danych (Append) lub nadpisywanie (Overwrite)
Gwarantuje spójność z systemem źródłowymNiska efektywność dla dużych tabel

💡 Przykład zastosowania

W przypadku API dostawcy reklam, które nie udostępnia znacznika updated_at, Airbyte używa pełnej synchronizacji z opcją Overwrite dla tabel takich jak ads_config. Dzięki temu hurtownia danych zawsze zawiera aktualny zestaw konfiguracji kampanii. Mniejsze tabele (<10 MB) nie powodują wizualnie dużego kosztu, a zapewniają pełne odświeżenie danych.

📌 Źródła

👽 Brudnopis

  • Full Refresh = brak „inteligencji różnicowej” → zawsze wszystko
  • Append = trzeba deduplikować (np. primary key, hash, generation)
  • Overwrite robi drop + insert, przydaje się tam, gdzie są delecje
  • Generacja _airbyte_generation_id przy każdej synchronizacji
  • Nieefektywne dla danych > 1M rekordów – przejdź na inkrementalne lub RAG
  • Dobry fallback gdy nie działa tryb inkrementalny (brak kolumny timestamp lub ID)