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.

  • ๐Ÿ”„ Lima variabel bawaan: TC_CONTINUE_TRANSACTION, TC_COMMIT_BEFORE, TC_COMMIT_AFTER, TC_ROLLBACK_BEFORE dan TC_ROLLBACK_AFTER menentukan apa yang terjadi pada setiap baris.
  • โš™๏ธ Kondisi tinggal di Properti: Kolom Kondisi Kontrol Transaksi pada tab Properti berisi ekspresi IIF yang dievaluasi oleh Layanan Integrasi.
  • ๐Ÿงช Contoh yang dikerjakan: Tujuh Petaping Langkah-langkah perancang (designer steps) akan menyimpan data EMP ke EMP_TARGET setiap kali nomor departemen 20 ditemukan.
  • โœ… Efektif atau tidak efektif: Transformasi apa pun yang menghilangkan batasan transaksi setelahnya membuat objek tersebut tidak efektif untuk target di baliknya.
  • ๐Ÿ”ง Jenis komitmen sesi: Sebuah petaping dengan transformasi Kontrol Transaksi yang efektif berjalan di bawah tipe commit yang Ditentukan Pengguna.
  • โš ๏ธ Nilai kembalian yang ketat: Kondisi yang mengembalikan nilai selain commit, roll back, atau continue akan menyebabkan Integration Service gagal dalam sesi tersebut.

Transformasi Kontrol Transaksi di Informatica

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.

Lokasiping Kanvas perancang dengan sumber EMP, Kualifikasi Sumbernya, dan definisi target EMP_TARGET.

Langkah 2) Buat transformasi baru menggunakan menu Transformasi, lalu di jendela Buat Transformasi:

  1. Pilih Kontrol Transaksi sebagai transformasi baru.
  2. Masukkan nama transformasi โ€œtc_commit_dept20โ€
  3. Pilih opsi buat

Buat jendela Transformasi dengan Kontrol Transaksi terpilih dan nama tc_commit_dept20 dimasukkan.

Langkah 3) Transformasi Kontrol Transaksi akan dibuat, pilih tombol selesai. Objek baru sekarang muncul di kanvas di samping Kualifikasi Sumber.

Transformasi Kontrol Transaksi tc_commit_dept20 dibuat di sebelah 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.

Kolom Source Qualifier dihubungkan melalui tc_commit_dept20 ke dalam tabel EMP_TARGET.

Langkah 5) Double Klik pada transformasi Kontrol Transaksi, lalu di jendela edit properti:

  1. Pilih tab properti
  2. Klik pada ikon editor kontrol transaksi

Tab Properti pada jendela Edit Transformasi menampilkan 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.

Editor ekspresi yang menyimpan kondisi IIF yang akan dieksekusi sebelum baris dengan nomor departemen 20.

Langkah 7) Pilih OK di jendela sebelumnya. Kondisi tersebut sekarang tersimpan di tab Properti transformasi.

Tab Properti pada jendela Edit Transformasi setelah kondisi kontrol transaksi disimpan.

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.

Pertanyaan Umum Demo Slot

Interval komit akan melakukan komit setelah sejumlah baris tetap yang ditetapkan dalam sesi. Kondisi kontrol transaksi akan melakukan komit pada data itu sendiri, sehingga titik komit mengikuti aturan bisnis, bukan jumlah baris.

Panduan Transformasi Informatica PowerCenter menyatakan bahwa transformasi Kontrol Transaksi yang terhubung ke target apa pun selain target relasional, XML, atau MQSeries dinamis tidak efektif untuk target tersebut.

Ya. Buat di Transformation Developer, atau centang Make Reusable pada tab Transformation dari yang sudah ada. Setiap petaping maka semuanya memiliki kondisi yang sama, sehingga perubahan aturan akan memengaruhi semuanya sekaligus.

Pembelajaran mesin pada log sesi historis dapat menandai beban di mana frekuensi commit berkorelasi dengan waktu eksekusi yang lama atau lonjakan rollback. Saran ini masih berupa hipotesis, jadi verifikasilah terhadap eksekusi nyata sebelum mengubah kondisinya.

Copilot dapat membuat draf bentuk IIF() dan mengingatkan Anda tentang lima nama variabel, tetapi ia tidak mengetahui nama port atau aturan bisnis Anda. Anggap output tersebut sebagai titik awal dan validasi di editor ekspresi.

Strategi Pembaruan menentukan apa yang terjadi pada suatu baris, dengan menandainya sebagai sisipkan, perbarui, hapus, atau tolak. Kontrol Transaksi menentukan kapan baris yang ditulis dijadikan permanen. Keduanya menjawab pertanyaan yang berbeda dan sering digunakan bersama-sama.

Cloud Data Integration menyertakan transformasi Kontrol Transaksi sendiri dengan variabel commit, roll back, dan continue yang sama. Ide desainnya tetap sama, tetapi objeknya dibangun di cloud Map.ping Designer, bukan di klien PowerCenter.

Baris yang ditulis sejak commit terakhir dalam transaksi tersebut akan dibuang. Apa pun yang di-commit sebelumnya tetap berada di target, itulah sebabnya penempatan titik commit menentukan seberapa besar pekerjaan yang dapat ditimbulkan oleh kegagalan.

Ringkaslah postingan ini dengan: