Following on Nic’s excellent blog on Migrating Configuration Data, I would like to elaborate a bit on the style, which he selected.
From the options Nic outlined, he chose the route of grouping objects into a release, packaging up the Config and releasing it. This is in contrast to the alternative of time-based releases, where all of the Dev is released at a point in time.
It is my observation that most Business Intelligence environments are not set up for Time Based Releases. With all of the potential benefits, why is this? I believe that it has to do with cost. Standing up enough multi-terabyte environments is expensive. Building a robust enough suite of tests to prove that it is safe to release the whole project is an onerous and expensive task. Instead, most BI departments rely on Developers testing their own work against Production like data. This means that the Dev environment is more like a Sandpit, and it isn’t possible to do a full release.
A common workflow would be:
- Developer Builds a release in Dev and tests it functionally
- Package up the release and release it to Test
- SME / Developer checks that the Package is producing the correct results, and runs without failure
- Package released to Production.
ODE is a very loosely coupled form of Data Warehouse and makes parallel development more possible than most conventional designs. For example, a “conformed” Dimension in ODE may be supported by a “Hub”, with a number of Satellites. Each Satellite can be developed independently of the others, as compared with a more conventional design, where Conformed Dimensions can become significant bottlenecks. This is what I have observed in practice rather than how I think BI departments should run.
Nic’s first choice is quite “conventional”, with many products in the segment (I think of Wherescape, Cognos, Microstrategy) implementing some form of this. Most BI Developers are used to operating in this fashion. Outside of the segment, SAP, another highly Config driven product, also supports a packaging mechanism. This method can work with a “Sandpit” Dev environment.
The alternative is more of a continuous release approach. This is well used in application development, with good reason. Most BI departments would not choose to use this method.
Brian – Master of the Vault