A story I like to tell was about my visit several years ago to State Farm in LA. The guy we met with was a real hot shot. He had a very good handle on his data, and had presided over the creation of about 37 dimensions of analytic data using FOCUS. He was ready for OLAP.
The problem was that he wanted to put everything in one cube. It took about 2 hours of intense discussion until we made a breakthrough. It went something like this: We wrote all of the dimensions he had on the board and talked about their meanings and hierarchies. Like most insurance companies, State Farm had about 12 dimensions of customer demographics, and were looking to add more. I figured out that our guy was thinking of his dimensions in clusters and his measures too. This was my first clue. So I asked him why he needed 12 demographic dimensions in all his models. "Because it's OLAP!", he said. Wasn't that the point?
As he started talking about the dimensions of Housing Type we came across an interesting attribute. It was 'Distance to a Fire Hydrant'. What? It turns out that when it comes writing lines of fire insurance, this is important to know. Breakthrough. I asked if it makes a difference whether the homeowner is male of female. Nope. Smoker or non-smoker? Yep. But the most important dimension, as far as the fire analysts were concerned, was type of roofing. It doesn't matter who you are, if your roof is made of straw, your fire insurance premium is going huff and puff and blow you away. So we ended up chopping down the number of dimensions of interest down to a reasonable size, and therefore had a cube design that wouldn't break the bank.
I've long argued against the human cognitive ability above 9 dimensions, but I think that subject matter experts (if no one else) can manage that many variables in their heads. The point of augmentation is to get the computer to help us manage more information than we normally would do, so I'm not so tough on that score any longer. Especially since I now know tools that can handle that many with ease.
Yet we designers still have to fight the tendancy for people to expect a be-all end-all cube. The way projects are managed contribute to this. Here are some helpful tips.
First off, get used to the idea of having purpose-built cubes. If you think one cube is going to serve everyone, you're going to be disappointed. You want a system that enables you to deliver everyone their own garden in the cube farm.
Secondly, get used to putting up or shutting up when it comes to hardware. It just may be the curse of Essbase, but running it on old beat up or shared hardware is not acceptable. A new colleague was raving this morning about Teradata performance. He said, all you have to do is snap in a new node and anything you need, you get. A Teradata node is 1 million dollars worth of hardware. You don't even talk to Teradata until you're ready for that level. In many respects that is what Essbase demands - first class hardware. Not a million dollars worth mind you, but any time I see Essbase on a server smaller than the ones in my house...
Thirdly, people have to stop assuming that Essbase can be maintained on a part-time basis. I've always said that Essbase is the Porsche of its class, and yes it's true that anyone with a driver's license is capable of driving a Porsche... off a cliff. Hyperion has done a good job in upgrading the look and feel of EAS such that it is appropriately intimidating to newbies, and it expresses the complexity inherent. That complexity needs to be managed by people dedicated to the database technology.
These three hurdles point, inevitably to the creation, development, production and retirement of databases. Not just putting everything into 'Hyperion'.
What requires a bit more understanding is designing for Analysis, which is a discipline most database architects have not studied. Eventually I am going to write the book. Cubegeek readers will be the first to know.
Thus endeth the lesson.