Transforming data structures and data objects for migrating data between databases having different schemas
First Claim
1. A computing platform, comprising:
- at least one processor;
a communication interface communicatively coupled to the at least one processor; and
memory storing computer-readable instructions that, when executed by the at least one processor, cause the computing platform to;
query a logical view of a data table associated with a first database maintained by a first database server in a first schema;
responsive to querying the logical view of the data table associated with the first database maintained by the first database server in the first schema, receive, via the communication interface, from the first database server, source data associated with the logical view;
split the source data associated with the logical view to produce a plurality of data chunks associated with the logical view;
move the plurality of data chunks associated with the logical view to a plurality of nodes associated with the computing platform, wherein each node of the plurality of nodes associated with the computing platform is configured to receive a particular data chunk of the plurality of data chunks associated with the logical view and transform the particular data chunk of the plurality of data chunks associated with the logical view from the first schema to a second schema different from the first schema;
command the plurality of nodes associated with the computing platform to transform the plurality of data chunks associated with the logical view to produce transformed data; and
move the transformed data from the plurality of nodes associated with the computing platform to a second database maintained by a second database server in the second schema,wherein splitting the source data associated with the logical view to produce the plurality of data chunks associated with the logical view comprises identifying one or more available nodes and determining a uniform size of the plurality of data chunks associated with the logical view based on the one or more available nodes,wherein a numerical column included in the logical view of the data table associated with the first database maintained by the first database server provides an index indicative of a total size of the source data associated with the logical view, andwherein splitting the source data associated with the logical view to produce the plurality of data chunks associated with the logical view comprises splitting the source data associated with the logical view based on the numerical column to balance processing load across the one or more available nodes.
1 Assignment
0 Petitions
Accused Products
Abstract
Aspects of the disclosure relate to transforming data structures and data objects. A computing platform may query a logical view of a data table associated with a first database maintained by a first database server in a first schema and may receive source data associated with the logical view. Subsequently, the computing platform may split the source data into a plurality of data chunks associated with the logical view. Next, the computing platform may move the plurality of data chunks to a plurality of nodes configured to receive and transform the plurality of data chunks from the first schema to a second schema different from the first schema. Then, the computing platform may command the plurality of nodes to transform the plurality of data chunks and may move the transformed data from the plurality of nodes to a second database maintained by a second database server in the second schema.
60 Citations
20 Claims
-
1. A computing platform, comprising:
-
at least one processor; a communication interface communicatively coupled to the at least one processor; and memory storing computer-readable instructions that, when executed by the at least one processor, cause the computing platform to; query a logical view of a data table associated with a first database maintained by a first database server in a first schema; responsive to querying the logical view of the data table associated with the first database maintained by the first database server in the first schema, receive, via the communication interface, from the first database server, source data associated with the logical view; split the source data associated with the logical view to produce a plurality of data chunks associated with the logical view; move the plurality of data chunks associated with the logical view to a plurality of nodes associated with the computing platform, wherein each node of the plurality of nodes associated with the computing platform is configured to receive a particular data chunk of the plurality of data chunks associated with the logical view and transform the particular data chunk of the plurality of data chunks associated with the logical view from the first schema to a second schema different from the first schema; command the plurality of nodes associated with the computing platform to transform the plurality of data chunks associated with the logical view to produce transformed data; and move the transformed data from the plurality of nodes associated with the computing platform to a second database maintained by a second database server in the second schema, wherein splitting the source data associated with the logical view to produce the plurality of data chunks associated with the logical view comprises identifying one or more available nodes and determining a uniform size of the plurality of data chunks associated with the logical view based on the one or more available nodes, wherein a numerical column included in the logical view of the data table associated with the first database maintained by the first database server provides an index indicative of a total size of the source data associated with the logical view, and wherein splitting the source data associated with the logical view to produce the plurality of data chunks associated with the logical view comprises splitting the source data associated with the logical view based on the numerical column to balance processing load across the one or more available nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
at a computing platform comprising at least one processor, memory, and a communication interface; querying, by the at least one processor, a logical view of a data table associated with a first database maintained by a first database server in a first schema; responsive to querying the logical view of the data table associated with the first database maintained by the first database server in the first schema, receiving, by the at least one processor, via the communication interface, from the first database server, source data associated with the logical view; splitting, by the at least one processor, the source data associated with the logical view to produce a plurality of data chunks associated with the logical view; moving, by the at least one processor, the plurality of data chunks associated with the logical view to a plurality of nodes associated with the computing platform, wherein each node of the plurality of nodes associated with the computing platform is configured to receive a particular data chunk of the plurality of data chunks associated with the logical view and transform the particular data chunk of the plurality of data chunks associated with the logical view from the first schema to a second schema different from the first schema; commanding, by the at least one processor, the plurality of nodes associated with the computing platform to transform the plurality of data chunks associated with the logical view to produce transformed data; and moving, by the at least one processor, the transformed data from the plurality of nodes associated with the computing platform to a second database maintained by a second database server in the second schema, wherein splitting the source data associated with the logical view to produce the plurality of data chunks associated with the logical view comprises identifying one or more available nodes and determining a uniform size of the plurality of data chunks associated with the logical view based on the one or more available nodes, wherein a numerical column included in the logical view of the data table associated with the first database maintained by the first database server provides an index indicative of a total size of the source data associated with the logical view, and wherein splitting the source data associated with the logical view to produce the plurality of data chunks associated with the logical view comprises splitting the source data associated with the logical view based on the numerical column to balance processing load across the one or more available nodes. - View Dependent Claims (10, 11, 12, 13, 15, 16, 17)
-
14. One or more non-transitory computer-readable media storing instructions that, when executed by a computing platform comprising at least one processor, memory, and a communication interface, cause the computing platform to:
-
query a logical view of a data table associated with a first database maintained by a first database server in a first schema; responsive to querying the logical view of the data table associated with the first database maintained by the first database server in the first schema, receive, via the communication interface, from the first database server, source data associated with the logical view; split the source data associated with the logical view to produce a plurality of data chunks associated with the logical view; move the plurality of data chunks associated with the logical view to a plurality of nodes associated with the computing platform, wherein each node of the plurality of nodes associated with the computing platform is configured to receive a particular data chunk of the plurality of data chunks associated with the logical view and transform the particular data chunk of the plurality of data chunks associated with the logical view from the first schema to a second schema different from the first schema; command the plurality of nodes associated with the computing platform to transform the plurality of data chunks associated with the logical view to produce transformed data; and move the transformed data from the plurality of nodes associated with the computing platform to a second database maintained by a second database server in the second schema, wherein splitting the source data associated with the logical view to produce the plurality of data chunks associated with the logical view comprises identifying one or more available nodes and determining a uniform size of the plurality of data chunks associated with the logical view based on the one or more available nodes, wherein a numerical column included in the logical view of the data table associated with the first database maintained by the first database server provides an index indicative of a total size of the source data associated with the logical view, and wherein splitting the source data associated with the logical view to produce the plurality of data chunks associated with the logical view comprises splitting the source data associated with the logical view based on the numerical column to balance processing load across the one or more available nodes. - View Dependent Claims (18, 19, 20)
-
Specification