Transformacja kontroli transakcji w informatyce (przykład)

⚡ Inteligentne podsumowanie

Transformacja kontroli transakcji w Informatica to aktywny, połączony obiekt, który zatwierdza lub wycofuje wiersze podczas tworzenia mapyping działa, używając pięciu wbudowanych zmiennych wewnątrz warunku ocenianego raz dla każdego wiersza.

  • 🔄 Pięć wbudowanych zmiennych: TC_CONTINUE_TRANSACTION, TC_COMMIT_BEFORE, TC_COMMIT_AFTER, TC_ROLLBACK_BEFORE i TC_ROLLBACK_AFTER decydują, co dzieje się w każdym wierszu.
  • ⚙️ Stan mieszka w Nieruchomościach: Pole Warunek kontroli transakcji na karcie Właściwości zawiera wyrażenie IIF oceniane przez usługę integracji.
  • 🧪 Przykład rozwiązania: Siedem mapping Kroki projektanta polegają na zatwierdzaniu danych EMP w EMP_TARGET za każdym razem, gdy zostanie znaleziony dział numer 20.
  • ✅ Skuteczne lub nieskuteczne: Każda transformacja, która usuwa granice transakcji, sprawia, że ​​obiekt staje się nieskuteczny dla docelowego obiektu znajdującego się za nim.
  • 🔧 Typ zatwierdzenia sesji: Mapaping z efektywną transformacją Kontroli Transakcji działa w ramach typu zatwierdzenia zdefiniowanego przez użytkownika.
  • ⚠️ Ścisła wartość zwracana: Warunek zwracający cokolwiek innego niż commit, roll back lub continue powoduje niepowodzenie sesji usługi integracji.

Transformacja kontroli transakcji w informatyce

Co to jest transformacja kontroli transakcji?

Kontrola transakcji to aktywna i połączona transformacja, która umożliwia zatwierdzanie lub wycofywanie transakcji podczas wykonywania mapypingOperacje zatwierdzania i wycofywania mają ogromne znaczenie, ponieważ gwarantują dostępność danych.

Podczas przetwarzania dużej ilości danych może wystąpić sytuacja, w której konieczne będzie zatwierdzenie danych w systemie docelowym. Zbyt częste zatwierdzanie danych będzie stanowiło obciążenie dla systemu. Zbyt późne zatwierdzanie danych w przypadku awarii wiąże się z ryzykiem utraty danych.

Aby zapewnić elastyczność, wprowadzono transformację kontroli transakcji. Zamiast pozostawiać punkt zatwierdzenia domyślnym dla sesji, pozwala ona na ustawienie warunku wewnątrz mapaping decydować, wiersz po wierszu, gdzie kończy się jedna transakcja, a zaczyna następna.

Polecenia zatwierdzania i wycofywania TCL

W tej transformacji dostępnych jest pięć wbudowanych zmiennych do obsługi operacji. Warunek musi zwrócić jedną z pięciu zmiennych dla każdego wiersza, a wartość spoza tej listy powoduje niepowodzenie sesji usługi integracji.

TC_CONTINUE_TRANSACTION

W TC_CONTINUE_TRANSACTION nie są wykonywane żadne operacje, proces ładowania danych jest kontynuowany bez zmian. Jest to wartość domyślna wyrażenia.

TC_COMMIT_BEFORE

W przypadku TC_COMMIT_BEFORE, gdy ta flaga jest ustawiona, zatwierdzenie jest wykonywane przed przetworzeniem bieżącego wiersza. Następnie rozpoczyna się nowa transakcja, a bieżący wiersz jest zapisywany do celu.

TC_COMMIT_AFTER

W TC_COMMIT_AFTER przetwarzany jest bieżący wiersz, następnie wykonywane jest zatwierdzenie i rozpoczyna się następna transakcja.

TC_ROLLBACK_BEFORE

W przypadku opcji TC_ROLLBACK_BEFORE najpierw wykonywane jest wycofanie, a następnie przetwarzanie danych w celu zapisu.

TC_ROLLBACK_AFTER

W TC_ROLLBACK_AFTER dane są już przetworzone, po czym wykonywane jest wycofanie.

Właściwości transformacji kontroli transakcji

Obiekt konfiguruje się w oknie „Edycja transformacji”, które zawiera te same cztery zakładki, co inne transformacje PowerCenter. Wiedza o tym, która zakładka odpowiada za dane ustawienie, oszczędza sporo czasu podczas poniższego przeglądu.

zakładka Co jest tam skonfigurowane
Transformacja Nazwa transformacji, jej opis i informacja, czy obiekt ma być ponownie wykorzystywany.
porty Porty wejściowe i wyjściowe, zwykle tworzone poprzez przeciągnięcie kolumn z transformacji nadrzędnej.
Właściwości Warunek kontroli transakcji, otwierany małą strzałką obok pola i TracPoziom zapisywania w dzienniku sesji.
Rozszerzenia metadanych Zdefiniowane przez użytkownika metadane są przechowywane wraz z transformacją w repozytorium.

Prawdziwą pracę wykonują dwa ustawienia. Warunek kontroli transakcji zawiera wyrażenie, które zwykle jest testem IIF(), zwracającym jedną z pięciu zmiennych. TracPoziom wejściowy decyduje, ile szczegółów dotyczących transformacji pojawi się w dzienniku sesji podczas badania przebiegu.

Jedno ustawienie znajduje się poza transformacją. Kiedy mapaping zawiera skuteczną transformację kontroli transakcji, sesja działa z Typ zatwierdzenia ustaw na Zdefiniowane przez użytkownika na karcie Właściwości Sesja, zamiast tego Target lub Typy zatwierdzania źródła, które wykorzystują ustalony interwał zatwierdzania.

Jak korzystać z transformacji kontroli transakcji w Informatica

W tym przykładzie zatwierdzimy dane w obiekcie docelowym, gdy warunek dept no = 20 zostanie uznany za prawdziwy.

Krok 1) Utwórz mapęping z EMP jako źródłem i EMP_TARGET jako celem. Mapaping Następnie płótno projektanta zawiera źródło, jego kwalifikator źródłowy i definicję celu.

Mapaping Płótno projektanta ze źródłem EMP, jego kwalifikatorem źródła i definicją celu EMP_TARGET

Krok 2) Utwórz nową transformację za pomocą menu Transformacja, a następnie w oknie Utwórz transformację:

  1. Wybierz kontrolę transakcji jako nową transformację
  2. Wprowadź nazwę transformacji „tc_commit_dept20”
  3. Wybierz opcję tworzenia

Utwórz okno transformacji z wybraną opcją Kontrola transakcji i wprowadzoną nazwą tc_commit_dept20

Krok 3) Transformacja kontroli transakcji zostanie utworzona. Kliknij przycisk „Gotowe”. Nowy obiekt pojawi się teraz na płótnie obok kwalifikatora źródła.

Transformacja kontroli transakcji tc_commit_dept20 utworzona obok kwalifikatora źródła

Krok 4) Przeciągnij i upuść wszystkie kolumny z kwalifikatora źródłowego do transformacji kontroli transakcji, a następnie połącz wszystkie kolumny z transformacji kontroli transakcji z tabelą docelową. Potok uruchomi się teraz w kolejności: źródło → kwalifikator źródłowy → tc_commit_dept20 → EMP_TARGET.

Kolumny kwalifikatora źródła połączone przez tc_commit_dept20 z tabelą EMP_TARGET

Krok 5) Double Kliknij na transformację Kontrola transakcji, a następnie w oknie edycji właściwości:

  1. Wybierz kartę właściwości
  2. Kliknij ikonę edytora kontroli transakcji

Karta Właściwości okna Edycja transformacji pokazująca ikonę edytora kontroli transakcji

Krok 6) W edytorze wyrażeń wprowadź wyrażenie –

iif(deptno=20,tc_commit_before,tc_continue_transaction)

i wybierz OK. Oznacza to, że jeśli numer deptno 20 zostanie znaleziony, należy zatwierdzić transakcję w miejscu docelowym, w przeciwnym razie należy kontynuować bieżące przetwarzanie.

Edytor wyrażeń przechowujący warunek IIF, który zatwierdza przed wierszem z numerem działu 20

Krok 7) Wybierz OK w poprzednim oknie. Warunek zostanie zapisany na karcie Właściwości transformacji.

Karta Właściwości okna Edycja transformacji po zapisaniu warunku kontroli transakcji

Teraz zapisz mapęping i wykonaj ją po utworzeniu sesji i przepływów pracy. Ta mapaping przekaże dane do celu za każdym razem, gdy w danych zostanie znaleziony dział numer 20.

Skuteczne i nieskuteczne transformacje kontroli transakcji

Transformacja jest generatorem transakcji. Usuwa wszelkie granice transakcji pochodzące z górnego strumienia i definiuje nowe granice dla wszystkich transakcji w dół strumienia, dlatego jej pozycja w potoku ma równie duże znaczenie, co jej stan.

To się nazywa skuteczny dla celu, gdy granice, które tworzy, nadal sięgają tego celu, i nieskuteczny gdy późniejsza transformacja usuwa te granice. Zgodnie z Informatica PowerCenter Transformation Guide, następujące obiekty usuwają granice transakcji przychodzących:

  • Agregator, Stolarz, Ranga, Sorter lub transformacja niestandardowa, której zakres transformacji obejmuje wszystkie dane wejściowe
  • Niestandardowa transformacja skonfigurowana do generowania transakcji
  • Kolejna transformacja kontroli transakcji
  • Transformacja wielu grup wejściowych połączona z więcej niż jednym punktem sterowania transakcjami w górnym biegu rzeki

Brak skuteczności dla obiektu docelowego nie oznacza, że ​​obiekt jest bezużyteczny. Transformacja downstream, której zakres transformacji to transakcja, nadal korzysta z granic zdefiniowanych w górnym biegu strumienia, więc ta sama transformacja może być skuteczna dla sortera, a nieskuteczna dla tabeli za nim.

Na mapieping W przypadku kilku celów obiekt może być skuteczny w przypadku jednego celu, a nieskuteczny w przypadku innego. Mapaping Pozostaje ważny, dopóki każdy cel jest połączony z skuteczną transformacją kontroli transakcji i staje się nieważny, gdy jeden cel nie jest połączony. Projektant raportuje, które transformacje są nieskuteczne dla celów, gdy mapaping jest zapisany lub zatwierdzony.

Zasady i wytyczne dotyczące transformacji kontroli transakcji

Większość problemów z tą transformacją ujawnia się w czasie wykonywania, a nie w czasie projektowania, dlatego warto sprawdzić poniższe punkty przed utworzeniem sesji.

  • Wartość zwracana jest ścisła. Jeśli warunek zostanie oceniony inaczej niż commit, roll back lub continue, usługa integracji zakończy sesję niepowodzeniem.
  • TC_CONTINUE_TRANSACTION jest rozwiązaniem awaryjnym. Każda gałąź IIF() musi się gdzieś kończyć, a continue jest wartością, która pozostawia bieżącą transakcję nienaruszoną.
  • Rodzaj celu ma znaczenie. Transformacja kontroli transakcji połączona z jakimkolwiek celem innym niż relacyjny, XML lub dynamiczny MQSeries jest nieskuteczna dla tego celu.
  • Stan ten może wykorzystać tylko to, co do niego dotrze. W edytorze kontroli transakcji dostępne są wyłącznie porty połączone z transformacją, jej zmienne porty i zmienne wbudowane.
  • Częstotliwość zatwierdzania jest kwestią kompromisu. Warunek, który zatwierdza niemal każdy wiersz, usuwa korzyści buforowania, podczas gdy warunek, który prawie nigdy nie jest realizowany, ponownie wprowadza okno utraty danych, które transformacja miała zamknąć.
  • Sprawdź dziennik sesji. W dzienniku zapisywane są punkty zatwierdzenia, które zostały faktycznie podjęte, co jest najszybszym sposobem potwierdzenia, że ​​warunek zachowywał się zgodnie z oczekiwaniami. dostrajanie wydajności.

FAQ

Interwał zatwierdzania jest zatwierdzany po ustalonej liczbie wierszy ustawionych w sesji. Warunek kontroli transakcji zatwierdza dane na samych danych, więc punkt zatwierdzania jest zgodny z regułą biznesową, a nie z liczbą wierszy.

W podręczniku Informatica PowerCenter Transformation Guide stwierdzono, że transformacja kontroli transakcji połączona z jakimkolwiek celem innym niż relacyjny, XML lub dynamiczny MQSeries jest nieskuteczna w przypadku tego celu.

Tak. Zbuduj go w Transformation Developer lub zaznacz opcję „Utwórz ponownie do użytku” na karcie Transformation w istniejącej mapie. Każda mapaping następnie dzieli ten sam warunek, więc zmiana reguły dotyczy ich wszystkich naraz.

Uczenie maszynowe wykorzystujące historyczne dzienniki sesji może sygnalizować obciążenia, w których częstotliwość zatwierdzania jest skorelowana z długimi czasami wykonania lub burzami wycofywania danych. Sugestia ta jest wciąż hipotezą, dlatego przed zmianą warunku należy ją zweryfikować w rzeczywistym przebiegu.

Copilot może utworzyć szkic IIF() i przypomnieć Ci nazwy pięciu zmiennych, ale nie zna nazw portów ani reguł biznesowych. Potraktuj dane wyjściowe jako punkt wyjścia i sprawdź ich poprawność w edytorze wyrażeń.

Strategia aktualizacji decyduje, co dzieje się z wierszem, oznaczając go tagami: wstaw, zaktualizuj, usuń lub odrzuć. Kontrola transakcji decyduje, kiedy zapisane wiersze zostaną utrwalone. Oba te mechanizmy odpowiadają na różne pytania i często są używane razem.

Cloud Data Integration oferuje własną transformację kontroli transakcji z tymi samymi zmiennymi commit, rollback i continue. Koncepcja projektu jest zachowana, ale obiekt jest tworzony w chmurze.ping Projektant, a nie klient PowerCenter.

Wiersze zapisane od ostatniego zatwierdzenia w tej transakcji są odrzucane. Wszystko zatwierdzone wcześniej pozostaje w celu, dlatego rozmieszczenie punktów zatwierdzenia decyduje o tym, ile pracy może kosztować awaria.

Podsumuj ten post następująco: