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.

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.
Krok 2) Utwórz nową transformację za pomocą menu Transformacja, a następnie w oknie Utwórz transformację:
- Wybierz kontrolę transakcji jako nową transformację
- Wprowadź nazwę transformacji „tc_commit_dept20”
- Wybierz opcję tworzenia
Krok 3) Transformacja kontroli transakcji zostanie utworzona. Kliknij przycisk „Gotowe”. Nowy obiekt pojawi się teraz na płótnie 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.
Krok 5) Double Kliknij na transformację Kontrola transakcji, a następnie w oknie edycji właściwości:
- Wybierz kartę właściwości
- Kliknij 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.
Krok 7) Wybierz OK w poprzednim oknie. Warunek zostanie zapisany na karcie Właściwości transformacji.
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.







