Chuyển đổi kiểm soát giao dịch trong Informatica (Ví dụ)

⚡ Tóm tắt thông minh

Trong Informatica, phép biến đổi Kiểm soát Giao dịch là một đối tượng hoạt động, được kết nối, thực hiện cam kết hoặc hoàn tác các hàng trong khi một bản đồ đang được thực thi.ping chạy bằng cách sử dụng năm biến tích hợp bên trong một điều kiện được đánh giá một lần cho mỗi hàng.

  • 🔄 Năm biến số tích hợp sẵn: TC_CONTINUE_TRANSACTION, TC_COMMIT_BEFORE, TC_COMMIT_AFTER, TC_ROLLBACK_BEFORE và TC_ROLLBACK_AFTER quyết định điều gì sẽ xảy ra ở mỗi hàng.
  • ⚙️ Tình trạng nhà ở: Trường Điều kiện Kiểm soát Giao dịch trên tab Thuộc tính chứa biểu thức IIF mà Dịch vụ Tích hợp đánh giá.
  • 🧪 Ví dụ thực tế: Bản đồ Bảyping Các bước thiết kế sẽ ghi dữ liệu EMP vào EMP_TARGET bất cứ khi nào tìm thấy phòng ban số 20.
  • Có hiệu quả hay không hiệu quả: Bất kỳ phép biến đổi nào loại bỏ ranh giới giao dịch sau khi nó thực hiện đều khiến đối tượng trở nên không hiệu quả đối với mục tiêu phía sau.
  • 🔧 Loại cam kết phiên: Bản đồping Với quá trình chuyển đổi Kiểm soát Giao dịch hiệu quả, nó sẽ chạy theo kiểu cam kết do Người dùng Định nghĩa.
  • ⚠️ Giá trị trả về nghiêm ngặt: Nếu điều kiện trả về bất kỳ giá trị nào khác ngoài commit, rollback hoặc continue, thì Dịch vụ Tích hợp sẽ khiến phiên làm việc thất bại.

Chuyển đổi kiểm soát giao dịch trong Informatica

Chuyển đổi kiểm soát giao dịch là gì?

Kiểm soát giao dịch là một phép biến đổi chủ động và liên kết, cho phép chúng ta xác nhận hoặc hoàn tác các giao dịch trong quá trình thực thi ánh xạ.pingCác thao tác cam kết và hoàn tác có tầm quan trọng đáng kể vì chúng đảm bảo tính khả dụng của dữ liệu.

Khi xử lý một lượng lớn dữ liệu, có thể phát sinh tình huống cần phải ghi dữ liệu vào đích đến. Nếu việc ghi dữ liệu được thực hiện quá thường xuyên, nó sẽ gây ra gánh nặng cho hệ thống. Nếu việc ghi dữ liệu được thực hiện quá muộn, thì trong trường hợp xảy ra lỗi, có khả năng dữ liệu bị mất.

Vì vậy, để mang lại sự linh hoạt, phép biến đổi Kiểm soát Giao dịch được cung cấp. Thay vì để điểm cam kết mặc định của phiên, nó cho phép một điều kiện bên trong bản đồping Xác định, từng hàng một, nơi giao dịch này kết thúc và giao dịch tiếp theo bắt đầu.

Các lệnh Commit và Rollback của TCL

Có năm biến tích hợp sẵn trong phép biến đổi này để xử lý hoạt động. Điều kiện phải trả về một trong năm biến đó cho mỗi hàng, và một giá trị nằm ngoài danh sách đó sẽ khiến Dịch vụ Tích hợp thất bại trong phiên làm việc.

TC_CONTINUE_TRANSACTION

Trong TC_CONTINUE_TRANSACTION, không có thao tác nào được thực hiện, quá trình tải dữ liệu tiếp tục như bình thường. Đây là giá trị mặc định của biểu thức.

TC_COMMIT_BEFORE

Trong TC_COMMIT_BEFORE, khi cờ này được đặt, một lệnh commit sẽ được thực hiện trước khi xử lý hàng hiện tại. Một giao dịch mới sau đó bắt đầu và hàng hiện tại được ghi vào đích.

TC_COMMIT_AFTER

Trong TC_COMMIT_AFTER, sau khi hàng hiện tại được xử lý xong, thao tác commit sẽ được thực hiện và giao dịch tiếp theo bắt đầu.

TC_ROLLBACK_BEFORE

Trong TC_ROLLBACK_BEFORE, quá trình hoàn tác được thực hiện trước, sau đó dữ liệu mới được xử lý để ghi.

TC_ROLLBACK_AFTER

Trong TC_ROLLBACK_AFTER, dữ liệu được xử lý xong, sau đó thao tác hoàn tác sẽ được thực hiện.

Thuộc tính chuyển đổi kiểm soát giao dịch

Đối tượng được cấu hình từ cửa sổ Chỉnh sửa Biến đổi, cửa sổ này có bốn tab giống như các biến đổi khác trong PowerCenter. Việc biết tab nào chứa thiết lập nào sẽ giúp tiết kiệm rất nhiều thời gian tìm kiếm trong hướng dẫn bên dưới.

Tab Cấu hình ở đó như thế nào?
Chuyển đổi Tên của phép biến đổi, mô tả của nó và liệu đối tượng có thể được tái sử dụng hay không.
cổng Các cổng đầu vào và đầu ra thường được tạo ra bằng cách kéo các cột từ quá trình biến đổi phía trước.
Bất động sản Điều kiện kiểm soát giao dịch, được mở bằng mũi tên nhỏ bên cạnh trường, và TracCấp độ được ghi vào nhật ký phiên.
Tiện ích mở rộng siêu dữ liệu Siêu dữ liệu do người dùng định nghĩa được lưu giữ cùng với quá trình chuyển đổi trong kho lưu trữ.

Hai thiết lập mới thực sự tạo nên hiệu quả. Điều kiện kiểm soát giao dịch Chứa biểu thức, thường là một phép thử IIF() trả về một trong năm biến. Traccấp độ ing Tùy chọn này quyết định mức độ chi tiết về quá trình chuyển đổi sẽ hiển thị trong nhật ký phiên khi quá trình chạy được kiểm tra.

Một thiết lập nằm ngoài quá trình chuyển đổi. Khi một bản đồping Chứa một phép biến đổi Kiểm soát Giao dịch hiệu quả, phiên làm việc chạy với Loại cam kết Đặt thành "Do người dùng định nghĩa" trong tab Thuộc tính của Phiên, thay cho Target hoặc các loại cam kết nguồn sử dụng khoảng thời gian cam kết cố định.

Hướng dẫn sử dụng Chuyển đổi Kiểm soát Giao dịch trong Informatica

Trong ví dụ này, chúng ta sẽ ghi dữ liệu vào đích khi điều kiện số phòng ban = 20 được xác nhận là đúng.

Bước 1) Tạo bản đồping Với EMP là nguồn và EMP_TARGET là đích. Bản đồping Khung thiết kế sau đó sẽ chứa nguồn, thông tin định tính của nguồn và định nghĩa mục tiêu.

Bản đồping Khung thiết kế với nguồn EMP, bộ định danh nguồn và định nghĩa mục tiêu EMP_TARGET.

Bước 2) Tạo một phép biến đổi mới bằng cách sử dụng menu Biến đổi, sau đó trong cửa sổ Tạo phép biến đổi:

  1. Chọn một Transaction Control làm phép biến đổi mới.
  2. Nhập tên chuyển đổi “tc_commit_dept20”
  3. Chọn tùy chọn tạo

Tạo cửa sổ Chuyển đổi với tùy chọn Kiểm soát giao dịch được chọn và nhập tên tc_commit_dept20.

Bước 3) Quá trình chuyển đổi Kiểm soát Giao dịch sẽ được tạo, hãy chọn nút Xong. Đối tượng mới giờ đây xuất hiện trên khung làm việc bên cạnh Bộ lọc Nguồn.

Biến đổi Kiểm soát Giao dịch tc_commit_dept20 được tạo bên cạnh Bộ lọc Nguồn.

Bước 4) Kéo và thả tất cả các cột từ Source Qualifier vào phép biến đổi Transaction Control, sau đó liên kết tất cả các cột từ phép biến đổi Transaction Control với bảng đích. Quy trình hiện tại sẽ chạy theo thứ tự: nguồn → Source Qualifier → tc_commit_dept20 → EMP_TARGET.

Các cột Source Qualifier được liên kết thông qua tc_commit_dept20 vào bảng EMP_TARGET.

Bước 5) Double Nhấp chuột vào phép biến đổi Kiểm soát giao dịch, sau đó trong cửa sổ chỉnh sửa thuộc tính:

  1. Chọn tab thuộc tính
  2. Bấm vào biểu tượng soạn thảo kiểm soát giao dịch

Tab Thuộc tính của cửa sổ Chỉnh sửa Chuyển đổi hiển thị biểu tượng trình chỉnh sửa điều khiển giao dịch.

Bước 6) Trong trình soạn thảo biểu thức, nhập biểu thức –

iif(deptno=20,tc_commit_before,tc_continue_transaction)

và chọn OK. Điều này có nghĩa là nếu tìm thấy mã phòng ban 20 thì thực hiện giao dịch tại đích, nếu không thì tiếp tục quá trình xử lý hiện tại.

Trình soạn thảo biểu thức chứa điều kiện IIF được thực thi trước một hàng có số phòng ban là 20.

Bước 7) Chọn OK trong cửa sổ trước đó. Điều kiện hiện đã được lưu trữ trong tab Thuộc tính của phép biến đổi.

Chọn tab Thuộc tính của cửa sổ Chỉnh sửa Chuyển đổi sau khi điều kiện kiểm soát giao dịch được lưu.

Bây giờ hãy lưu bản đồ lại.ping và thực thi nó sau khi tạo phiên và quy trình làm việc. Bản đồ nàyping Dữ liệu sẽ được ghi vào đích đến bất cứ khi nào tìm thấy phòng ban số 20 trong dữ liệu.

Các chuyển đổi kiểm soát giao dịch hiệu quả và không hiệu quả

Quá trình chuyển đổi này là một bộ tạo giao dịch. Nó loại bỏ bất kỳ ranh giới giao dịch nào đến từ phía thượng nguồn và định nghĩa các ranh giới mới của riêng nó cho mọi thứ ở phía hạ nguồn, đó là lý do tại sao vị trí của nó trong quy trình quan trọng không kém gì trạng thái của nó.

Nó được gọi là hiệu quả đối với một mục tiêu khi các ranh giới mà nó tạo ra vẫn vươn tới mục tiêu đó, và không hiệu quả Khi một phép biến đổi sau đó loại bỏ các ranh giới đó. Theo Hướng dẫn Biến đổi Informatica PowerCenter, các đối tượng sau đây sẽ loại bỏ các ranh giới giao dịch đến:

  • Một công cụ tổng hợp, Người tham gia, Cấp, Bộ sắp xếp hoặc phép biến đổi tùy chỉnh có Phạm vi biến đổi là Tất cả đầu vào
  • Một phép biến đổi tùy chỉnh được cấu hình để tạo ra các giao dịch.
  • Một sự chuyển đổi Kiểm soát Giao dịch khác
  • Một quá trình chuyển đổi nhóm đầu vào đa dạng được kết nối với nhiều điểm kiểm soát giao dịch ở phía thượng nguồn.

Việc không hiệu quả đối với mục tiêu không làm cho đối tượng trở nên vô dụng. Một phép biến đổi tiếp theo có Phạm vi biến đổi là Giao dịch vẫn sử dụng các ranh giới được định nghĩa ở phía trước, vì vậy cùng một phép biến đổi có thể hiệu quả đối với một Trình sắp xếp nhưng lại không hiệu quả đối với bảng phía sau nó.

Trên bản đồping Với nhiều mục tiêu, vật thể có thể hiệu quả với mục tiêu này nhưng lại không hiệu quả với mục tiêu khác. Bản đồping Nó vẫn hợp lệ miễn là mọi mục tiêu đều được kết nối với một phép biến đổi Kiểm soát Giao dịch hiệu quả, và trở nên không hợp lệ ngay khi một mục tiêu không được kết nối. Trình thiết kế báo cáo các phép biến đổi nào không hiệu quả đối với các mục tiêu khi ánh xạ được thực hiện.ping đã được lưu hoặc xác thực.

Các quy tắc và hướng dẫn về chuyển đổi kiểm soát giao dịch

Hầu hết các vấn đề với quá trình chuyển đổi này chỉ xuất hiện khi chạy chương trình chứ không phải ở giai đoạn thiết kế, vì vậy những điểm dưới đây rất đáng kiểm tra trước khi xây dựng phiên làm việc.

  • Giá trị trả về là cố định. Nếu điều kiện được đánh giá là bất kỳ giá trị nào khác ngoài commit, rollback hoặc continue, thì Dịch vụ Tích hợp sẽ báo lỗi phiên làm việc.
  • TC_CONTINUE_TRANSACTION là phương án dự phòng. Mỗi nhánh của hàm IIF() đều phải kết thúc ở một điểm nào đó, và "continue" là giá trị giữ nguyên giao dịch hiện tại.
  • Loại mục tiêu rất quan trọng. Việc chuyển đổi Kiểm soát Giao dịch được kết nối với bất kỳ đích nào khác ngoài đích quan hệ, XML hoặc MQSeries động đều không hiệu quả đối với đích đó.
  • Tình trạng này chỉ có thể sử dụng những gì đến được với nó. Chỉ các cổng được liên kết với quá trình chuyển đổi, các cổng biến của nó và các biến tích hợp sẵn mới khả dụng bên trong trình chỉnh sửa điều khiển giao dịch.
  • Tần suất thực hiện cam kết là một sự đánh đổi. Một điều kiện được thực thi trên hầu hết mọi hàng sẽ loại bỏ lợi ích của việc đệm dữ liệu, trong khi một điều kiện hầu như không bao giờ được kích hoạt lại tái tạo khoảng thời gian mất dữ liệu mà quá trình biến đổi được thêm vào để khắc phục.
  • Kiểm tra nhật ký phiên. Nhật ký ghi lại các điểm cam kết đã thực sự được thực hiện, đây là cách nhanh nhất để xác nhận điều kiện hoạt động như mong muốn. điều chỉnh hiệu suất.

Câu Hỏi Thường Gặp

Khoảng thời gian cam kết (commit interval) sẽ thực hiện cam kết sau khi xử lý một số lượng hàng cố định được thiết lập trong phiên. Điều kiện kiểm soát giao dịch (transaction control condition) sẽ thực hiện cam kết trên chính dữ liệu, do đó điểm cam kết tuân theo một quy tắc nghiệp vụ chứ không phải theo số lượng hàng.

Hướng dẫn chuyển đổi Informatica PowerCenter nêu rõ rằng phép biến đổi Kiểm soát giao dịch được kết nối với bất kỳ đích nào khác ngoài đích quan hệ, XML hoặc MQSeries động đều không hiệu quả đối với đích đó.

Vâng. Hãy xây dựng nó trong Trình phát triển Chuyển đổi, hoặc chọn "Làm cho có thể tái sử dụng" trên tab Chuyển đổi của một chuyển đổi hiện có. Mỗi bản đồping Khi đó, chúng đều có cùng điều kiện, vì vậy sự thay đổi về quy tắc sẽ ảnh hưởng đến tất cả chúng cùng một lúc.

Việc sử dụng máy học trên nhật ký phiên hoạt động lịch sử có thể giúp xác định các tải mà tần suất commit tương quan với thời gian chạy dài hoặc hiện tượng rollback đột ngột. Đề xuất này vẫn chỉ là giả thuyết, vì vậy hãy kiểm chứng nó bằng một lần chạy thực tế trước khi thay đổi điều kiện.

Copilot có thể soạn thảo cấu trúc IIF() và nhắc nhở bạn về năm tên biến, nhưng nó không biết tên cổng hoặc các quy tắc nghiệp vụ của bạn. Hãy coi kết quả đầu ra như một điểm khởi đầu và xác thực nó trong trình chỉnh sửa biểu thức.

Chiến lược cập nhật quyết định điều gì xảy ra với một hàng, gắn thẻ cho nó là chèn, cập nhật, xóa hoặc từ chối. Kiểm soát giao dịch quyết định khi nào các hàng đã ghi được lưu lại vĩnh viễn. Hai chiến lược này giải quyết các câu hỏi khác nhau và thường được sử dụng cùng nhau.

Tích hợp dữ liệu đám mây (Cloud Data Integration) cung cấp phép biến đổi Kiểm soát giao dịch riêng với các biến cam kết, hoàn tác và tiếp tục tương tự. Ý tưởng thiết kế được giữ nguyên, nhưng đối tượng được xây dựng trong Map trên đám mây.ping Trình thiết kế nằm ngoài phạm vi ứng dụng khách PowerCenter.

Các hàng được ghi kể từ lần commit cuối cùng trong giao dịch đó sẽ bị loại bỏ. Bất kỳ thứ gì được commit trước đó vẫn còn trong đích đến, đó là lý do tại sao vị trí của các điểm commit quyết định chi phí công việc mà một lỗi có thể gây ra.

Tóm tắt bài viết này với: