System and method for decomposition of code generation into separate physical units though execution units
First Claim
1. A computer-implemented method of generating a physical design from a logical design for data integration, comprising:
- receiving a logical design of a data integration mapping;
applying a plurality of rules to the logical design, wherein the plurality of rules are ranked and the ranking is used to resolve a conflict among the plurality of rules by applying a rule with a higher rank over a rule with a lower rank;
wherein the plurality of rules comprise transformation operations that are allowable by a plurality of execution units and the plurality of rules are pushed to the plurality of execution units;
generating a default physical design comprising the plurality of execution units based on the logical design;
grouping the plurality of execution units into one or more execution unit groups, wherein each execution unit group includes independent execution units which can execute in parallel;
receiving changes to the default physical design, wherein the changes redefine one or more of the plurality of execution units;
dynamically generating a second physical design based on the changes to the default physical design; and
associating the second physical design with the logical design, wherein the logical design can be associated with a plurality of different physical designs,wherein a first transformation operation is pushed to an execution unit in the default physical design, and a second transformation operation that is distinctly different from the first transformation operation is pushed to an execution unit in the second physical design.
1 Assignment
0 Petitions
Accused Products
Abstract
In various embodiments, a data integration system is disclosed which enables users to create a logical design which is platform and technology independent. The user can create a logical design that defines, at a high level, how a user wants data to flow between sources and targets. The tool can analyze the logical design, in view of the user'"'"'s infrastructure, and create a physical design. The logical design can include a plurality of components corresponding to each source and target in the design, as well as operations such as joins or filters, and access points. Each component when transferred to the physical design generates code to perform operations on the data. Depending on the underlying technology (e.g., SQL Server, Oracle, Hadoop, etc.) and the language used (SQL, pig, etc.) the code generated by each component may be different.
48 Citations
23 Claims
-
1. A computer-implemented method of generating a physical design from a logical design for data integration, comprising:
-
receiving a logical design of a data integration mapping; applying a plurality of rules to the logical design, wherein the plurality of rules are ranked and the ranking is used to resolve a conflict among the plurality of rules by applying a rule with a higher rank over a rule with a lower rank; wherein the plurality of rules comprise transformation operations that are allowable by a plurality of execution units and the plurality of rules are pushed to the plurality of execution units; generating a default physical design comprising the plurality of execution units based on the logical design; grouping the plurality of execution units into one or more execution unit groups, wherein each execution unit group includes independent execution units which can execute in parallel; receiving changes to the default physical design, wherein the changes redefine one or more of the plurality of execution units; dynamically generating a second physical design based on the changes to the default physical design; and associating the second physical design with the logical design, wherein the logical design can be associated with a plurality of different physical designs, wherein a first transformation operation is pushed to an execution unit in the default physical design, and a second transformation operation that is distinctly different from the first transformation operation is pushed to an execution unit in the second physical design. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer readable storage medium including instructions stored thereon which, when executed by a processor, cause the processor to perform the steps of:
-
receiving a logical design of a data integration mapping; applying a plurality of rules to the logical design, wherein the plurality of rules are ranked and the ranking is used to resolve a conflict among the plurality of rules by applying a rule with a higher rank over a rule with a lower rank; wherein the plurality of rules comprise transformation operations that are allowable by a plurality of execution units and the plurality of rules are pushed to the plurality of execution units; generating a default physical design comprising the plurality of execution units based on the logical design; grouping the plurality of execution units into one or more execution unit groups, wherein each execution unit group includes independent execution units which can execute in parallel; receiving changes to the default physical design, wherein the changes redefine one or more of the plurality of execution units; dynamically generating a second physical design based on the changes to the default physical design; and associating the second physical design with the logical design, wherein the logical design can be associated with a plurality of different physical designs, wherein a first transformation operation is pushed to an execution unit in the default physical design, and a second transformation operation that is distinctly different from the first transformation operation is pushed to an execution unit in the second physical design. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A system of generating a physical design from a logical design for data integration, comprising:
-
a data integration system comprising one or more computing devices each including a computer readable medium and processor, wherein the data integration system is configured to receive a logical design of a data integration mapping; apply a plurality of rules to the logical design, wherein the plurality of rules are ranked and the ranking is used to resolve a conflict among the plurality of rules by applying a rule with a higher rank over a rule with a lower rank; wherein the plurality of rules comprise transformation operations that are allowable by a plurality of execution units and the plurality of rules are pushed to the plurality of execution units; generate a default physical design comprising the plurality of execution units based on the logical design; group the plurality of execution units into one or more execution unit groups, wherein each execution unit group includes independent execution units which can execute in parallel, receive changes to the default physical design, wherein the changes redefine one or more of the plurality of execution units; dynamically generate a second physical design based on the changes to the default physical design; and associate the second physical design with the logical design, wherein the logical design can be associated with a plurality of different physical designs, wherein a first transformation operation is pushed to an execution unit in the default physical design, and a second transformation operation that is distinctly different from the first transformation operation is pushed to an execution unit in the second physical design. - View Dependent Claims (20, 21, 22, 23)
-
Specification