Why I created a blog

Its been four years since I first created this blog. It has remained true to Essbase and related information over those years. Hopefully it has answered questions and given you insight over those years. I will continue to provide my observations and comments on the ever changing world of EPM. Don't be surprised if the scope of the blog changes and brings in other Hyperion topics.

Friday, March 3, 2017

Three Little Words

Others and I answer a lot of questions on the Oracle Technical Network and other forums and there is a ubiquitous little phrase that sends chills down our spines when someone is asking a question. What could be so bad that it sends terror down our spines?  “Nothing has changed”. Well that was the start, but the chilling words? “Just one thing” Why do I start this post with this? 

I was at a client doing a technical review of their environment this week.  (Names, PAG files sizes, dimension hierarchies are all fake to protect the innocent) We were doing some performance testing and somewhat related to the testing, but in production, they were having an issue with a BSO cube.  Their process is to export the level zero data, Clear the cube, “Deploy” the cube, reload the data and aggregate the cube.  

During this process, the cube grew from ~60 gig to ~180 gig. Of course I asked the question, what changed? The initial response was “nothing…” then a few minutes later “well just one little thing.” What was that one little thing? They explained to me most of the data is loaded into one member in the hierarchy (let’s call it No_ZZZZ). They continued that No_ZZZZ was a level zero child of the dimension ZZZZ. So the hierarchy looked like:

“All we did was to move No_ZZZZ to be a sibling of F2”

From this we had a deep discussion about how blocks are created.  Let’s make an assumption that all other dimensions have only one member in them (wouldn’t that simple design be nice?). In the first example, if I aggregate and all of the data exists in No_ZZZZ I will create one new block - ZZZZZ

In the second case, 4 additional blocks are created – d1, aaaa, Total_zzzz and ZZZZ.  In my simple case, going from 2 blocks to 5 is huge. Imagine when you consider real dimensions where you are aggregating a large number of members in the other dimensions. It makes it very easy for a cube to grow tremendously with just a simple change.  

The moral of the story? Well there are two First you have to understand the impact of any change you make no matter how small it may seem. You need to test and not just assume the change is minimal. Second, if an issue occurs, it is typically because of some change somewhere. Before asking, research to try to figure out what might be causing the issue. It might be “Just one little thing”         

1 comment:

Anonymous said...

Indeed. :)

Very related to this is the "just keep it simple" 4 words of destruction. Some quick fix with blinders on seems always to be preferred to the picky guy's "complex" solution. Then... year end activities or some far away process in the future and.. kaboom.

While commenting on expressions, let's add some true ones:
"The devil is in the details!"
"If there is always time to fix it, how come there is never enough time to do it right in the first place?"