The most important aspect of the product is the ability to work with almost any data source or target. I can readily develop processes that use relational, file, XML, JMS messaging, web and big data sources or targets.
I can control the style of integration through "knowledge modules", and if they don’t do exactly what I want. I can write my own or customize the Oracle supplied ones.
The ability to execute third-party (or in-house developed) Java code by installing JAR files allows a great deal of flexibility; for example, I can add custom processors to do access web APIs that use token based authentication.
Another key feature is that we do not need to pass our data through some form of ETL engine hosted on a server; in some cases for example transforming data within a data warehouse all of the processing is done in single SQL queries thus reducing network traffic.
Finally, the rich SDK supplied with ODI allows developers to create virtually any form of development or deployment automation.
It allows a single skill set to handle virtually all of the data transport and transformation needs of a company. It moves the ETL processing to where the data resides and saves network traffic and the need for dedicated transformation engines - hardware that needs to be purchased, managed and supported.
There needs to better support of external version control software, currently only SVN is present, but I hear the GIT is planned in future patch.
From a DevOps point of view it would be useful to add better separation between ‘code’ and ‘executable’ exports, at the moment a piece of code will contain the embedded executable which bloats any source control objects (this may only be relevant to those the develop their own source and code control processes).
I've been using it for the last 10 years.
We've had no issues with deployment.
12cR2 is a new version, and there are a few issues with stability, but I expect most to be resolved in the first patch.
There have been no issues with the scalability.
I rarely engage with support.
As an independent consultant, I work with other ETL products, and switching is requirement of my employers. However, of the products I used recently (Informatica and Talend), I feel ODI gives me the most flexibility.
Set up of ODI Studio and the ODI repository is relatively simple, it is all done through a single JAR file executable. The complexity comes when you need to create ODI agents - there are three flavors of agent and the best choice of agent will depend on your agent management needs and infrastructure. The ODI agent executes ODI code and interacts with the host OS, typically one agent is sufficient, but more may be needed.
The licensing model has changed a few times over the years - read the Oracle price list or speak to sales.
Plan your ODI infrastructure, especially where data is transformed to ensure you get the best balance between license costs and performance. Get your developers trained in best practices so that avoid unnecessary pit falls.
This is great thanks for posting. Have you completed this in ODI12c? It would be interesting to see how the approach changes because of the differences in the versions.