What's the best location for the ODI agent?

July 24, 2011

Get our e-books Discover the Oracle Data Integrator 11g Repository Data Model and Oracle Data Integrator Snippets and Recipes
I am just back from a holiday in County Wexford, Ireland’s sunny south east. We had a great time even though I was not allowed to bring the laptop (there was no reception anyway).
I got some good inspirations for a couple of new posts. Some on ODI and some others on Enterprise data architecture esp. around the relationship of MDM/SOA and the Enterprise Data Warehouse.
Today, however, we will have a look at the best location for your ODI agent(s).
You want to have your agent on the target
– You only have one target destination for your data. This is typically the case in a data warehousing environment.
– When you have a lot of data integration tasks that flow through the agent, e.g. when you use JDBC drivers, parse XML, use the Sunopsis Memory Engine etc. For all these tasks the data needs to flow through the agent’s memory and as a result you have increased network traffic, i.e. the data first needs to flow from your source to the server where you have your agent installed and then from there to your target. If you have the agent installed on the target. It will flow from source directly to target avoiding the extra roundtrip.
– You don’t have a separate server to install your agent on.
You should have your agent on a separate server
– Multiple targets. If you have multiple targets you could install the agent on one of the targets. However, you then tie this agent to the maintenance cycle of this server. When this server shuts down your agent shuts down with it.
– If you run your agent as a JEE agent on Weblogic. Weblogic takes up a lot of server resources and typically is installed on a separate server. However, you may install a standalone agent on the target in addition to the JEE agent
– When your target databse sits on Linux and you have MS Excel or MS Access or any other source technology that requires ODBC drivers. You may purchase third party ODBC drivers in this case though.
– There is not enough memory on the target to host the agent. Typically the memory that the agent requires is quite low. However, depending on your circumstances and your data volume this may not the case for you
– The DBAs don’t allow you to install the agent on the target
– If the OS of the database server is not supported for your agent, e.g. the case for Windows 2008 for ODI 10.
So you see it’s not always a good idea to have the agent on the target as you can read on some of the forums and blogs.