Fabric enables setting the execution order of LU table population objects within an LU schema. The execution order is set by a sequence number (1, 2, 3…).
The default order of an LU table’s population is set when the LU schema is created. The default population execution order is based on the LU schema’s hierarchy. However, a different population execution order can be set that supersedes the automatically generated execution order. This could mean, for example, that a table higher in the LU schema’s hierarchy can be populated or modified after a table lower in the LU schema hierarchy has been modified or populated. Therefore, it is imperative to strategize and define the correct execution order of the LU Table populations.
Parallel Sync Ability
By default, the populations with the same execution order run sequentially within the same execution order.
When linking a population, or changing its parent table order, it will increase all other populations with higher order number, by keeping the same “gaps” between them, Child tables are increased according to the lowest population order of the parent table.
To improve the sync time of an LUI, Fabric can support parallel syncs on several populations within the same execution order. This can be set in config.ini using the parameter MAX_PARALLEL_SYNC_SAME_ORDER (default value = 1). When this parameter is greater than 1, it allows Fabric to run the LU Table Populations with the same execution order in parallel groups (according to the parameter’s value) in order to bring data from the source DB faster. The part of the sync that writes the data into Fabric remains sequential.
The LU schema's Root Table is always populated first. By default, its execution order is set to 1. Other tables in the LU schema are populated according to their hierarchy level in the LU schema in a parent plus one order.
By default, all LU table populations on the same hierarchy level in an LU schema have the same execution order. The order can be modified and have different values if needed. For example, when tables T2 and T3 are added to a schema under table T1, the population execution order of tables T2 and T3 will be the same and will be higher than the execution order of table T1. An LU table may have more than one population. By default, all populations in the same LU table are set to the same population execution order, which can also be updated manually if needed.
A Root Table can have multiple populations like any other LU table. By default, their execution order is set to 1, which can be updated manually if needed. Note that if Root Table populations have been updated to have different execution order and the population with the minimum execution order doesn't return any IIDs, Fabric doesn't execute other Root Table's populations.
Example
The following diagram displays an LU schema with four tables: Customer, Subscriber, Activity and Address.
The following diagram displays an LU schema with four tables: Customer, Activity, Address and Cases.
Note that if MAX_PARALLEL_SYNC_SAME_ORDER is set to 1 in config.ini, the above LU table populations whose execution order = 2 will be executed sequentially. However, if MAX_PARALLEL_SYNC_SAME_ORDER is set to 3 or higher, all LU table populations will fetch the data from the source DB in parallel and will then populate the target DB sequentially.
The population in an LU schema can be disabled / enabled according to requirements. For example, if a table population is not required temporarily it can be disabled and be later enabled instead of being deleted.
Note that at least one population must be enabled in the root table.
Click for more information about Disabling / Enabling Populations.
Fabric enables setting the execution order of LU table population objects within an LU schema. The execution order is set by a sequence number (1, 2, 3…).
The default order of an LU table’s population is set when the LU schema is created. The default population execution order is based on the LU schema’s hierarchy. However, a different population execution order can be set that supersedes the automatically generated execution order. This could mean, for example, that a table higher in the LU schema’s hierarchy can be populated or modified after a table lower in the LU schema hierarchy has been modified or populated. Therefore, it is imperative to strategize and define the correct execution order of the LU Table populations.
Parallel Sync Ability
By default, the populations with the same execution order run sequentially within the same execution order.
When linking a population, or changing its parent table order, it will increase all other populations with higher order number, by keeping the same “gaps” between them, Child tables are increased according to the lowest population order of the parent table.
To improve the sync time of an LUI, Fabric can support parallel syncs on several populations within the same execution order. This can be set in config.ini using the parameter MAX_PARALLEL_SYNC_SAME_ORDER (default value = 1). When this parameter is greater than 1, it allows Fabric to run the LU Table Populations with the same execution order in parallel groups (according to the parameter’s value) in order to bring data from the source DB faster. The part of the sync that writes the data into Fabric remains sequential.
The LU schema's Root Table is always populated first. By default, its execution order is set to 1. Other tables in the LU schema are populated according to their hierarchy level in the LU schema in a parent plus one order.
By default, all LU table populations on the same hierarchy level in an LU schema have the same execution order. The order can be modified and have different values if needed. For example, when tables T2 and T3 are added to a schema under table T1, the population execution order of tables T2 and T3 will be the same and will be higher than the execution order of table T1. An LU table may have more than one population. By default, all populations in the same LU table are set to the same population execution order, which can also be updated manually if needed.
A Root Table can have multiple populations like any other LU table. By default, their execution order is set to 1, which can be updated manually if needed. Note that if Root Table populations have been updated to have different execution order and the population with the minimum execution order doesn't return any IIDs, Fabric doesn't execute other Root Table's populations.
Example
The following diagram displays an LU schema with four tables: Customer, Subscriber, Activity and Address.
The following diagram displays an LU schema with four tables: Customer, Activity, Address and Cases.
Note that if MAX_PARALLEL_SYNC_SAME_ORDER is set to 1 in config.ini, the above LU table populations whose execution order = 2 will be executed sequentially. However, if MAX_PARALLEL_SYNC_SAME_ORDER is set to 3 or higher, all LU table populations will fetch the data from the source DB in parallel and will then populate the target DB sequentially.
The population in an LU schema can be disabled / enabled according to requirements. For example, if a table population is not required temporarily it can be disabled and be later enabled instead of being deleted.
Note that at least one population must be enabled in the root table.
Click for more information about Disabling / Enabling Populations.