Skip to main content
SUBMITTED

Automatic Impact-based change propagation

Related products:TimeXtender Data Integration
  • March 29, 2024
  • 1 reply
  • 45 views

rory.smith
TimeXtender Xpert
Forum|alt.badge.img+8

When you are applying changes in TimeXtender you often start at source-selection and then push changes forwards through DWH Data Areas into SSL. A common pattern to follow manually will then be:

  • new field appears in a source table
  • synchronize source
  • (perhaps explicitly add the column to ODX)
  • reload ODX
  • synchronize objects
  • add the field to DWH mapping in staging area
  • (perhaps do some transformations on the field)
  • map the field into subsequent Data Areas: MDW and perhaps other layers
  • synchronize any downstream SSL
  • edit the tables in downstream SSL to get the extra field there

What if TimeXtender could suggest a “push” of your changes downstream? In many cases you would want your new field to be made available downstream, and you now need to go through the manual steps listed above. Similarly to how the synchronization dialogues allow you to “help” TX by choosing mappings instead of manually performing them, you might be able to steer the generation of code and deployment and execution in one go from a simple interface dialogue. A similar functionality can be seen in coalesce.io where code changes can be propagated downstream.

A more complex scenario can happen when you change a table that becomes a dimension to be historical (type 2):​​​​​​ you probably want to reevaluate surrogate keys (or introduce them) to properly couple your fact tables into the historical data you now have available. When I build in TimeXtender I set up history before dealing with facts so I can make use of the automated “you seem to be making a conditional lookup from a history table” function. In reality you are going to run into situations where you are making the change and then having some kind of “do you also want to change lookups in this way in your downstream” functionality would be really valuable. Especially because this would push implementations into “best practice” making for more consistency across implementations.

 

This functionality would make applying changes faster and more controlled and would also foster more “end-to-end” thinking.

 

1 reply

anders.e.jonsson
Contributor
Forum|alt.badge.img+1

A kind of generative ai