ODI Snippets: What is the Optimization Context in ODI?

There are a lot of confusing messages out there on what the Optimization Context in ODI is used for.

This is the setting I am talking about

Is it a runtime setting??

First of all, this is not a runtime or execution context setting. It is only used at design time in ODI Studio.
If you execute an interface in your Test context with the Optimization Context set to Development it will still execute in Test.

It is a design Time Setting!

So what is the Optimization Context used for? ODI uses the Optimization Context to validate your Interface at design time. This means it will validate your filters,functions etc. against the environment set in your Optimization Context.

You can easily try this out.

  • Set your Optimization Context to Development
  • Go to your source table, right click, and select Data…
  • This will display the Data in the source table in your Development environment
  • Now change the Optimization Context to Test.
  • Go back to your source table and select Data… again
  • This will now display the data in your test environment

What is this useful for?

Personally I can’t really think of anything, but let me know if you are using this feature.