ODI Snippets: What is the Optimization Context in ODI?

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.

Related posts


  • Dnyaneshwar, raktate on Aug 14, 2013

    how to set default value for optimization context
    e.g i want to set the optimization to new context when i delete the old context from topology without changing individual objects like interface

  • Uli Bethke on Dec 20, 2012

    Great input!

  • Rodrigo de Souza on Dec 19, 2012

    Hi Uli. I always read your blog. It is amazing! Great work! I’ve posted something related to ODI Optimization context at my blog. Take a look there: http://devepm.com/2012/12/19/optimization-context-in-odi/