Transformasi Kontrol Transaksi di Informatica (Contoh)
โก Ringkasan Cerdas
Transformasi Kontrol Transaksi di Informatica adalah objek aktif dan terhubung yang melakukan commit atau rollback baris saat pemetaan.ping dijalankan, menggunakan lima variabel bawaan di dalam suatu kondisi yang dievaluasi sekali untuk setiap baris.

Apa itu Transformasi Pengendalian Transaksi?
Kontrol Transaksi adalah transformasi aktif dan terhubung yang memungkinkan kita untuk melakukan commit atau rollback transaksi selama eksekusi map.pingOperasi commit dan rollback sangat penting karena menjamin ketersediaan data.
Saat memproses data dalam jumlah besar, mungkin ada situasi di mana data perlu di-commit ke target. Jika commit dilakukan terlalu sering, maka akan menjadi beban tambahan bagi sistem. Jika commit dilakukan terlalu lambat, maka jika terjadi kegagalan, ada kemungkinan kehilangan data.
Jadi, untuk memberikan fleksibilitas, transformasi Kontrol Transaksi disediakan. Alih-alih membiarkan titik komit pada default sesi, transformasi ini memungkinkan kondisi di dalam petaping Tentukan, baris demi baris, di mana satu transaksi berakhir dan transaksi berikutnya dimulai.
Perintah Commit dan Rollback TCL
Terdapat lima variabel bawaan yang tersedia dalam transformasi ini untuk menangani operasi tersebut. Kondisi tersebut harus mengembalikan salah satu dari kelima variabel tersebut untuk setiap baris, dan nilai di luar daftar tersebut akan menyebabkan Integration Service gagal dalam sesi tersebut.
TC_CONTINUE_TRANSACTION
Dalam TC_CONTINUE_TRANSACTION tidak ada operasi yang dilakukan, proses pemuatan data berlanjut seperti biasa. Ini adalah nilai default dari ekspresi tersebut.
TC_COMMIT_BEFORE
Dalam TC_COMMIT_BEFORE, ketika flag ini ditemukan aktif, sebuah commit dilakukan sebelum pemrosesan baris saat ini. Transaksi baru kemudian dimulai dan baris saat ini ditulis ke target.
TC_COMMIT_AFTER
Dalam TC_COMMIT_AFTER, baris saat ini diproses, kemudian dilakukan commit dan transaksi berikutnya dimulai.
TC_ROLLBACK_BEFORE
Dalam TC_ROLLBACK_BEFORE, rollback dilakukan terlebih dahulu, kemudian data diproses untuk ditulis.
TC_ROLLBACK_AFTER
Dalam TC_ROLLBACK_AFTER, data diproses terlebih dahulu, kemudian dilakukan rollback.
Properti Transformasi Kontrol Transaksi
Objek dikonfigurasi dari jendela Edit Transformations, yang memiliki empat tab yang sama dengan transformasi PowerCenter lainnya. Mengetahui tab mana yang memiliki pengaturan mana akan menghemat banyak waktu pencarian selama panduan di bawah ini.
| Tab | Apa yang dikonfigurasi di sana? |
| Transformasi | Nama transformasi, deskripsinya, dan apakah objek tersebut dapat digunakan kembali. |
| port | Port input dan output, biasanya dibuat dengan menyeret kolom dari transformasi hulu. |
| Properties | Kondisi Kontrol Transaksi, dibuka dengan tanda panah kecil di samping kolom, dan TracLevel ing ditulis ke log sesi. |
| Ekstensi Metadata | Metadata yang ditentukan pengguna disimpan bersama transformasi di dalam repositori. |
Dua pengaturan inilah yang melakukan pekerjaan sebenarnya. Kondisi Kontrol Transaksi berisi ekspresi, yang biasanya berupa uji IIF() yang mengembalikan salah satu dari lima variabel. TracTingkat ing Menentukan seberapa detail transformasi yang muncul dalam log sesi saat proses dijalankan diselidiki.
Satu pengaturan berada di luar transformasi. Saat petaping berisi transformasi Kontrol Transaksi yang efektif, sesi berjalan dengan Jenis Komitmen Atur ke "Didefinisikan Pengguna" pada tab Properti. Sidang, bukan Target atau tipe commit sumber yang menggunakan interval commit tetap.
Cara Menggunakan Transformasi Kontrol Transaksi di Informatica
Dalam contoh ini, kita akan mengirimkan data ke target ketika kondisi nomor departemen = 20 ditemukan benar.
Langkah 1) Buat petaping dengan EMP sebagai sumber dan EMP_TARGET sebagai target. Peta tersebutping Kanvas perancang kemudian memuat sumber, Kualifikasi Sumbernya, dan definisi target.
Langkah 2) Buat transformasi baru menggunakan menu Transformasi, lalu di jendela Buat Transformasi:
- Pilih Kontrol Transaksi sebagai transformasi baru.
- Masukkan nama transformasi โtc_commit_dept20โ
- Pilih opsi buat
Langkah 3) Transformasi Kontrol Transaksi akan dibuat, pilih tombol selesai. Objek baru sekarang muncul di kanvas di samping Kualifikasi Sumber.
Langkah 4) Seret dan lepas semua kolom dari Source Qualifier ke transformasi Transaction Control, lalu tautkan semua kolom dari transformasi Transaction Control ke tabel target. Pipeline sekarang berjalan sebagai berikut: sumber โ Source Qualifier โ tc_commit_dept20 โ EMP_TARGET.
Langkah 5) Double Klik pada transformasi Kontrol Transaksi, lalu di jendela edit properti:
- Pilih tab properti
- Klik pada ikon editor kontrol transaksi
Langkah 6) Di editor ekspresi, masukkan ekspresi โ
iif(deptno=20,tc_commit_before,tc_continue_transaction)
lalu pilih OK. Artinya, jika nomor departemen 20 ditemukan, maka lakukan commit transaksi di target, jika tidak, lanjutkan pemrosesan saat ini.
Langkah 7) Pilih OK di jendela sebelumnya. Kondisi tersebut sekarang tersimpan di tab Properti transformasi.
Sekarang simpan petanyaping dan jalankan setelah membuat sesi dan alur kerja. Peta iniping Data akan dikirim ke target setiap kali nomor departemen 20 ditemukan dalam data.
Transformasi Kontrol Transaksi yang Efektif dan Tidak Efektif
Transformasi ini adalah generator transaksi. Ia mengabaikan batasan transaksi apa pun yang datang dari hulu dan mendefinisikan batasan baru sendiri untuk semua yang berada di hilir, itulah sebabnya posisinya dalam pipeline sama pentingnya dengan kondisinya.
Hal ini disebut efektif untuk suatu target ketika batasan yang diciptakannya masih mencapai target tersebut, dan tidak efektif ketika transformasi selanjutnya menghilangkan batasan tersebut. Menurut Panduan Transformasi Informatica PowerCenter, objek-objek berikut menghilangkan batasan transaksi yang masuk:
- Sebuah Agregator, Tukang kayu, Peringkat, Pengurut atau transformasi Kustom yang Cakupan Transformasinya adalah Semua Input
- Transformasi kustom yang dikonfigurasi untuk menghasilkan transaksi.
- Transformasi Kontrol Transaksi lainnya
- Transformasi grup input ganda yang terhubung ke lebih dari satu titik kontrol transaksi hulu.
Ketidakefektifan bagi target tidak membuat objek tersebut menjadi tidak berguna. Transformasi hilir yang Cakupan Transformasinya adalah Transaksi masih menggunakan batasan yang didefinisikan di hulu, sehingga transformasi yang sama dapat efektif untuk Pengurut dan tidak efektif untuk tabel di belakangnya.
Dalam sebuah petaping Dengan beberapa target, objek tersebut bisa efektif untuk satu target dan tidak efektif untuk target lainnya. Petaping Tetap valid selama setiap target terhubung ke transformasi Kontrol Transaksi yang efektif, dan menjadi tidak valid segera setelah satu target tidak terhubung. Designer melaporkan transformasi mana yang tidak efektif untuk target ketika pemetaanping disimpan atau divalidasi.
Aturan dan Pedoman untuk Transformasi Kontrol Transaksi
Sebagian besar masalah dengan transformasi ini muncul saat eksekusi program, bukan saat perancangan, jadi poin-poin di bawah ini perlu diperiksa sebelum sesi dibuat.
- Nilai kembaliannya bersifat ketat. Jika kondisi tersebut menghasilkan nilai selain commit, roll back, atau continue, maka Integration Service akan menggagalkan sesi tersebut.
- TC_CONTINUE_TRANSACTION adalah opsi cadangan. Setiap cabang dari IIF() harus berakhir di suatu tempat, dan continue adalah nilai yang membiarkan transaksi saat ini tidak tersentuh.
- Jenis target itu penting. Transformasi Kontrol Transaksi yang terhubung ke target selain target relasional, XML, atau MQSeries dinamis tidak efektif untuk target tersebut.
- Kondisi tersebut hanya dapat menggunakan apa yang sampai kepadanya. Hanya port yang terhubung ke transformasi, port variabelnya, dan variabel bawaan yang tersedia di dalam editor kontrol transaksi.
- Frekuensi komitmen adalah sebuah pertimbangan untung rugi. Suatu kondisi yang terjadi pada hampir setiap baris menghilangkan manfaat buffering, sementara kondisi yang hampir tidak pernah terjadi akan memunculkan kembali jendela kehilangan data yang seharusnya ditutup oleh transformasi tersebut.
- Periksa log sesi. Log tersebut mencatat titik commit yang sebenarnya diambil, yang merupakan cara tercepat untuk memastikan kondisi tersebut berjalan sesuai yang diharapkan. penyempurnaan kinerja.







