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.listtable.include.list/table.exclude.listcolumn.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.
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).
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 filtratable.*.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:
- Poziom Schematu: Czy schemat jest na liście dozwolonych? (Jeśli nie -> Odrzuć całość).
- Poziom Tabeli: Czy tabela jest na liście dozwolonych? (Jeśli nie -> Odrzuć, nawet jeśli schemat był OK).
- Poziom Kolumny: Czy kolumna jest na liście dozwolonych?
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
| Scenariusz | Surowy Debezium | Database 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/Exclude | Błą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. |
| Nazewnictwo | Podatne 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. |