| CPC G06F 9/5016 (2013.01) [G06F 9/5038 (2013.01); G06F 16/25 (2019.01); G06F 2209/503 (2013.01)] | 9 Claims |

|
1. A method of dynamically optimize allocation and utilization of system resources to efficiently transfer data between a source Relational Database Management System (“RDBMS”) and a target RDBMS, the method comprising:
i) collecting metadata regarding object data from the source RDBMS;
ii) calculating, on an object-level basis, a necessary amount of resources needed to perform a parallel reading objects from the source RDBMS based upon a volume of data to be read;
iii) calculating on an object-level basis, a necessary amount of resources needed to perform a parallel writing of objects to the target RDBMS;
iv) creating an index, on an object-level basis, of tables to be transferred from the source RDBMS, with the tables being ordered for processing and transfer on a heaviest to lightest basis;
on a first pass,
a) executing parallel reads of object-level table data from the source RDBMS based upon the ordering in the index; and
b) if sufficient resources are available, transferring the tables on a parallel write basis to the target DBMS, and
c) if sufficient resources are not available for a particular table identified in the index, marking the particular table as having a pending status for processing in a subsequent pass and skipping the particular table by advancing to a next heaviest table listed in the index;
v) performing DataFrame transformation on source DataFrames for objects of the source RDBMS to be transferred to the target RDBMS; and
repeating steps “a)” through “c)” and “v)” until all data that can be transferred to the target RDBMS has been transferred.
|