IP Library Granted Patent US 11,249,983
Granted Patent B2
US 11,249,983 · App. 16/373,044 · Granted Feb 15, 2022

Transaction change data forwarding

Inventors: Nirmal Kumar (Bangalore, IN); Venkat R. Arra (Bengaluru, IN); Rashmi Bharadwaj, V (Bangalore, IN)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F16/2379G06F16/2358G06F16/2365
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,249,983
App. No.
16/373,044
Granted
Feb 15, 2022
Kind
B2
Abstract

Transaction change data replication includes identifying changes being made to a source database as part of an ongoing transaction at a source. The identifying is performed as the changes are made to the source database and as the transaction remains ongoing prior to commit or rollback thereof at the source. The source and a target are in a replication relationship in which data of the source database at the source is replicated to destinations in a target database at the target. The indications of the changes being made to the source are forwarded, to the target, as the transaction remains ongoing prior to commit or rollback thereof, and based on ending the transaction at the source, an indication of the transaction end is sent to the target.

Claims (32)

1. A computer-implemented method comprising:

identifying changes being made to a source database as part of an ongoing transaction at a source, the identifying being performed as the changes are made to the source database and as the transaction remains ongoing prior to commit or rollback of the transaction at the source, wherein the source and a target are in a replication relationship in which data of the source database at the source is replicated to destinations in a target database at the target;

forwarding, to the target, as the transaction remains ongoing prior to commit or rollback thereof, indications of the changes being made to the source for triggered bulk application of the changes to the target database, and removing from the source, as the transaction remains ongoing prior to commit or rollback thereof, one or more transaction log records that reflect the changes and based on which the identifying identifies the changes; and

based on ending the transaction at the source, sending to the target an indication of transaction end, the indication of transaction end indicating to the target whether or not to apply and commit the changes as part of the bulk application thereof to the target database.

2. The method of claim 1 , wherein each identified change of the identified changes corresponds to a respective trigger to forward a respective indication of the identified change to the target.

3. The method of claim 2 , wherein based on the respective trigger, the method further comprises writing data from a transaction queue to a staging store at the source, and sending the data, as the indication of the change, across a network to a target agent of the target, as the transaction remains ongoing.

4. The method of claim 1 , wherein the identifying comprises reading one or more transaction logs at the source and parsing transaction log records for the changes.

5. The method of claim 4 , wherein the parsing the transaction log records for the changes identifies data manipulation language statements that are identified by the transaction log records and are in-scope of the replication relationship, wherein the indications of the changes comprise the in-scope data manipulation language statements, the in-scope data manipulation language statements being forwarded to add to a batch job to be applied at the target.

6. The method of claim 1 , wherein at transaction end, the identified changes have all been forwarded to the target as part of the forwarding.

7. The method of claim 1 , wherein, based on the forwarding, all changes included in the transaction are forwarded to and staged at the target prior to commit or rollback of the transaction at the target.

8. The method of claim 1 , wherein the transaction end comprises a rollback of the transaction at the source, and wherein the indication of transaction end sent to the target comprises an indication of rollback of the transaction.

9. The method of claim 1 , wherein the changes are staged at the target in one or more external tables as data manipulation language (DML) statements corresponding to the changes, for anticipated application and commit to the target database, the one or more external tables being different from the destinations in the target database.

10. A computer system comprising:

a memory; and

a processor in communication with the memory, wherein the computer system is configured to perform a method comprising:

identifying changes being made to a source database as part of an ongoing transaction at a source, the identifying being performed as the changes are made to the source database and as the transaction remains ongoing prior to commit or rollback of the transaction at the source, wherein the source and a target are in a replication relationship in which data of the source database at the source is replicated to destinations in a target database at the target;

forwarding, to the target, as the transaction remains ongoing prior to commit or rollback thereof, indications of the changes being made to the source for triggered bulk application of the changes to the target database, and removing from the source, as the transaction remains ongoing prior to commit or rollback thereof, one or more transaction log records that reflect the changes and based on which the identifying identifies the changes; and

based on ending the transaction at the source, sending to the target an indication of transaction end, the indication of transaction end indicating to the target whether or not to apply and commit the changes as part of the bulk application thereof to the target database.

11. The computer system of claim 10 , wherein each identified change of the identified changes corresponds to a respective trigger to forward a respective indication of the identified change to the target.

12. The computer system of claim 11 , wherein based on the respective trigger, the method further comprises writing data from a transaction queue to a staging store at the source, and sending the data, as the indication of the change, across a network to a target agent of the target, as the transaction remains ongoing.

13. The computer system of claim 10 , wherein the identifying comprises reading one or more transaction logs at the source and parsing transaction log records for the changes, wherein the parsing the transaction log records for the changes identifies data manipulation language statements that are identified by the transaction log records and are in-scope of the replication relationship, and wherein the indications of the changes comprise the in-scope data manipulation language statements, the in-scope data manipulation language statements being forwarded to add to a batch job to be applied at the target.

14. The computer system of claim 10 , wherein at transaction end, the identified changes have all been forwarded to the target as part of the forwarding.

15. The computer system of claim 10 , wherein the changes are staged at the target in one or more external tables as data manipulation language (DML) statements corresponding to the changes, for anticipated application and commit to the target database, the one or more external tables being different from the destinations in the target database, wherein the transaction end comprises a rollback of the transaction at the source, and wherein the target retains the identified changes despite receiving the indication of rollback from the source.

16. A computer program product comprising:

a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:

identifying changes being made to a source database as part of an ongoing transaction at a source, the identifying being performed as the changes are made to the source database and as the transaction remains ongoing prior to commit or rollback of the transaction at the source, wherein the source and a target are in a replication relationship in which data of the source database at the source is replicated to destinations in a target database at the target;

forwarding, to the target, as the transaction remains ongoing prior to commit or rollback thereof, indications of the changes being made to the source for triggered bulk application of the changes to the target database, and removing from the source, as the transaction remains ongoing prior to commit or rollback thereof, one or more transaction log records that reflect the changes and based on which the identifying identifies the changes; and

based on ending the transaction at the source, sending to the target an indication of transaction end, the indication of transaction end indicating to the target whether or not to apply and commit the changes as part of the bulk application thereof to the target database.

17. The computer program product of claim 16 , wherein each identified change of the identified changes corresponds to a respective trigger to forward a respective indication of the identified change to the target, and wherein based on the respective trigger, the method further comprises writing data from a transaction queue to a staging store at the source, and sending the data, as the indication of the change, across a network to a target agent of the target, as the transaction remains ongoing.

18. The computer program product of claim 16 , wherein the identifying comprises reading one or more transaction logs at the source and parsing transaction log records for the changes, wherein the parsing the transaction log records for the changes identifies data manipulation language statements that are identified by the transaction log records and are in-scope of the replication relationship, and wherein the indications of the changes comprise the in-scope data manipulation language statements, the in-scope data manipulation language statements being forwarded to add to a batch job to be applied at the target.

19. The computer program product of claim 16 , wherein at transaction end, the identified changes have all been forwarded to the target as part of the forwarding.

20. The computer program product of claim 16 , wherein the changes are staged at the target in one or more external tables as data manipulation language (DML) statements corresponding to the changes, for anticipated application and commit to the target database, the one or more external tables being different from the destinations in the target database, wherein the transaction end comprises a rollback of the transaction at the source, and wherein the target retains the identified changes despite receiving the indication of rollback from the source.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2019
From: KUMAR, NIRMAL; ARRA, VENKAT R.; BHARADWAJ V, RASHMI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048770/0355 →
Continuity (1)
Related Publication 20200320059A1 · Oct 8, 2020
Cited By (3)
US 12,405,865 US 12,481,639 US 12,639,335