The great migration debate: Essbase to Analysis Services

Moving Cubes

There may be multiple political/managerial reasons behind a decision to move from Hyperion's Essbase to Microsoft's Analysis Services – not least of which might be the recent purchase of Hyperion by Oracle.

Whatever the reason, from a developer's viewpoint, moving a set of multi-dimensional databases from one engine to another is non-trivial. What are your options?

At the risk of teaching my grandmother to suck eggs, moving a cube isn't really about the data, it's about the meta data. The raw data is typically held in a relational database somewhere and the cube is refreshed from that data source every night.

In a migration project we have to move the cube structure, which is essentially no more than a metadata description of how the users think about the data and how they want to see and analyse it.

It takes a great deal of effort to understand what users want: many hours are spent in listening and discussion to extract subtleties of meaning. This is followed by further long hours encapsulating this into the measures, dimensions, and hierarchies that will form the cube design, along with any data manipulations that require the use of built-in and custom-built functions. It is all of this that needs to be ported between engines.

And there is more. Essbase and Analysis Services differ in their capabilities. A five-year-old Essbase cube will have been built within the hardware and software constraints of the time. These may well have placed huge restrictions on the fundamental cube design, restricting factors like granularity and dimensional complexity. In the current version of Analysis Services, on modern hardware, these constraints may no longer exist. In an ideal world, your migration should take advantage of the improvements made over the last five years.

Porting a simple cube with few measures and dimensions doesn't present much of a problem, but most cubes in commerce are relatively complex and a manual conversion can easily take three to four person-months per cube. One reason it takes so long is that a person with Essbase skills does not typically possess Analysis Services skills as well. While good practice in cube design is a transferable skill, Essbase developers will probably have to learn the idiosyncrasies of Analysis Services (both good and bad) and discover the new features that can be used to advantage when porting cubes.

Sponsored: 5 critical considerations for enterprise cloud backup

Next page: CubePort