Przejdź do głównej zawartości

Database Wizard

Moduł graficznego wybierania obiektów pozwala na intuicyjne zdefiniowanie zakresu danych, które mają być replikowane przez konektor Debezium. Zamiast ręcznie wpisywać skomplikowane listy tabel i kolumn w formacie tekstowym, użytkownik może skorzystać z interaktywnego drzewa struktury bazy danych.

Narzędzie to automatycznie generuje odpowiednie parametry konfiguracyjne:

  • schema.include.list / schema.exclude.list
  • table.include.list / table.exclude.list
  • column.include.list / column.exclude.list

Dlaczego wprowadziliśmy nową wersję modułu?

Wcześniejsza wersja konfiguratora wymagała od użytkownika głębokiej wiedzy technicznej i dużej ostrożności. Została zastąpiona, aby wyeliminować najczęstsze błędy konfiguracyjne.

Automatyczna ochrona przed konfliktami (Include vs Exclude)

W konfiguracji Debezium nie można jednocześnie definiować list include i exclude dla tego samego poziomu (np. tabel). Wcześniejsza wersja pozwalała na takie błędy, co powodowało awarię konektora. Nowy interfejs automatycznie blokuje możliwość stworzenia sprzecznej konfiguracji – interfejs pilnuje spójności za użytkownika.

Brak potrzeby rozumienia Debeziuma

Wcześniej użytkownik musiał wiedzieć, że aby śledzić konkretną kolumnę, musi ręcznie dodać do konfiguracji również jej tabelę. Nowa wersja działa w sposób inteligentny: jeśli wybierzesz kolumnę, system sam zadba o to, by w tle dodać niezbędne wpisy dla tabeli i schematu. Użytkownik wybiera „co”, a system martwi się „jak”.

Wsparcie dla ekspertów

Wcześniej edycja graficzna nie wspierała ręcznie wpisanych wyrażeń regularnych (Regex). Nowy moduł potrafi je odczytać, zwizualizować na drzewie (pokazując, które tabele łapią się pod wpisany wzorzec) i zablokować je przed przypadkową edycją.

Interfejs użytkownika

Po uruchomieniu modułu Database Wizard użytkownik zobaczy strukturę swojej bazy danych przedstawioną w formie drzewa hierarchicznego.

  • Schematy – najwyższy poziom drzewka.
  • Tabele – rozwijana lista tabel wewnątrz schematu.
  • Kolumny – najniższy poziom, pozwalający na precyzję co do pojedynczego pola.
Ważne

Aby moduł Database Wizard był aktywny, należy wybrać dostępne zapisane połączenie do bazy we wcześniejszym etapie konfiguratora.

Schematy i tabele nieobsługiwane przez Debeziuma nie zostaną wyświetlone.

Moduł pozwala wybierać między dwoma trybami definicji filtrów. Należy pamiętać o zasadzie działania Debezium: nie można jednocześnie zdefiniować list include i exclude dla tego samego poziomu obiektów (np. nie można mieć jednocześnie listy włączonych i wyłączonych tabel).

Ważne

Domyślnie Debezium śledzi wszystko. Użyj listy Include, jeśli chcesz replikować tylko wybrane, nieliczne tabele (tzw. Whitelist).

Użyj listy Exclude, jeśli chcesz replikować całą bazę z wyjątkiem kilku konkretnych tabel (tzw. Blacklist).

Instrukcja krok po kroku

Krok 1: Nawigacja po drzewie

Rozwiń węzeł bazy danych, klikając ikonę strzałki przy nazwie schematu. Moduł wyświetli listę dostępnych tabel. Kliknięcie na nazwę tabeli rozwinie listę jej kolumn.

Krok 2: Zaznaczanie obiektów

Zaznacz elementy, które chcesz dodać do konfiguracji z odpowiednim filtrem include / exclude.

  • Zaznaczenie Schematu: Powoduje dodanie całego schematu do filtra schema.*.list.
  • Zaznaczenie Tabeli: Powoduje dodanie w pełni kwalifikowanej nazwy tabeli (np. public.users) do filtra table.*.list.
  • Zaznaczenie Kolumny: Powoduje dodanie kolumny do filtra column.*.list.

Krok 4: Podgląd i Zapis

Po zakończeniu wybierania, w sekcji Replication Preview zobaczysz, co realnie będzie replikować konektor Debezium. Zweryfikuj, czy lista odpowiada Twoim oczekiwaniom, i kliknij Save.

Mechanika działania

Debezium filtruje dane kaskadowo, działając jak seria bramek bezpieczeństwa. Aby dane z konkretnej kolumny trafiły do replikacji, muszą przejść pomyślnie przez wszystkie trzy etapy weryfikacji:

  1. Poziom Schematu: Czy schemat jest na liście dozwolonych? (Jeśli nie -> Odrzuć całość).
  2. Poziom Tabeli: Czy tabela jest na liście dozwolonych? (Jeśli nie -> Odrzuć, nawet jeśli schemat był OK).
  3. Poziom Kolumny: Czy kolumna jest na liście dozwolonych?
Problem

W surowym Debezium, jeśli ręcznie wpiszesz kolumnę do column.include.list, ale zapomnisz dodać jej tabeli do table.include.list, Debezium nie zgłosi błędu, ale po prostu nie prześle żadnych danych. To tzw. "ciche odrzucenie", które jest trudne do wykrycia.

Database Wizard vs Debezium

ScenariuszSurowy DebeziumDatabase Wizard
Zależności (Hierarchia)Brak automatyzacji. Użytkownik musi ręcznie dodać wpisy dla tabeli i schematu, aby kolumna zadziałała. Ciche odrzucenie danych.Inteligentne uzupełnianie. Zaznaczenie kolumny automatycznie włącza jej tabelę i schemat. Gwarancja spójności.
Konflikt Include/ExcludeBłąd krytyczny. Pozwala wpisać listy include i exclude jednocześnie (np. dla tabel). Powoduje to błąd startu konektora (Crash). Możliwość stworzenia błędnej konfiguracji.Prewencja błędów. Interfejs wymusza wybór jednego trybu (tylko Include lub tylko Exclude) dla danego poziomu. Brak możliwości stworzenia błędnej konfiguracji.
Obsługa Regex (Wyrażeń regularnych)Ślepy tekst. Wpisujesz wzorzec (np. ^sales.*), ale nie wiesz, które dokładnie tabele on obejmie, dopóki nie uruchomisz procesu.Wizualizacja i Blokada. Moduł analizuje Regex, podświetla pasujące tabele na drzewie i blokuje je. Widzisz, co dokładnie wybierasz.
NazewnictwoPodatne na literówki. Wymaga wpisywania pełnych nazw (np. inventory.customers). Pomyłka w jednej literze skutkuje brakiem danych. Możliwe literówki.Point-and-Click. Wybierasz obiekty z listy pobranej prosto z bazy danych. Zero literówek.

Niestandardowe przypadki

W momencie, gdy nic nie zostało wybrane, replikowana będzie cała baza.

Database wizard whole baseDatabase wizard whole base

Nie można wykluczać wyższej w hierarchii struktury, gdy niższa została zawarta w konfigurację.

Database wizard whole baseDatabase wizard whole base

Zablokowana jest interakcja z strukturami podrzędnymi do elementu wykluczonego.

Database wizard whole baseDatabase wizard whole base

Wyższe struktury zostaną automatycznie dodane, aby zagwarantować replikację niższej w hierarchii struktury.

Database wizard whole baseDatabase wizard whole base