How can I improve webi performance of dim objects?

Oracle 10 - BOXI31 - IIS6.0 - .NET

I have a little mess on my hands… I have a universe (HR) with no fact table, no contexts. There are 6 tables - almost fact-like - with about 80-150 columns, 2 tables have 4MM rows, others have 2MM give or take. The rest of the tables are dim tables. All joins are outer joins. There are over 800 objects in the universe and all calulations are done within the reports, there are only 4 true “measures”.

Client doesn’t want any changes to the universe, yet, not happy with performance and won’t consider moving measures up to the universe or database.

Only way “out”, as I can see, is to rebuild the universe and “prove” certain realities… That being said, I am running into some performance issues on dim objects with no measures - taking 6-8 mins - anyone have any insight on how I can increase performance of dim only objects???


MichaelB :us: (BOB member since 2008-11-19)

Well, I would ask them why you are supposed to be there… :? .

They admit they have a problem, have bought you in to solve it and aren’t listening to you.

You need to put your foot down a bit… 8) .

Is it the case that these dimensions should be measures, in some cases?


Mak 1 :uk: (BOB member since 2005-01-06)

Well… I think I put my foot just about everywhere – (no relationship building skills here!) and I’ll probably be out the door here in the next couple weeks! Quite tiring arguing with clients and even other consultants, particularly in line with what you have correctly identified.

Any suggestions on working in a DIM (not just the objects) environment would be appreciated! Just want any feedback prior to working nights and this weekend trying to convince others of something I would have thought was common knowledge, and I’m no rocket scientist myself.


MichaelB :us: (BOB member since 2008-11-19)

Its quite a common feeling that usually occurs in the first week… :mrgreen:
Had many when I have felt like walking on day two, never have though…:).

You need to be sure of what you are saying and why you are saying it.
i.e.

  • Why it is best to resolve SQL aggregates at run time.
  • Why it is better not to use outer joins, I mean, whoops, there go my indexes, if they had any in the first place :).
  • Why it is better not to just join things all together at the universe level, just because you can.

I believe that the “universe” was created this way to avoid having to deal with any actual universe design issues, i.e.Fan, Chasm Traps, Contexts, the list goes on.

Surely, you could just work on objects for one or two reports as your POC, as to why not to do it the current way.


Mak 1 :uk: (BOB member since 2005-01-06)

Subtle as ever Mak.

Without any (or little) measures - what type of reports does the client expect - as far as I can gather from that snippet of info it’s going to lists rather than reports.
How performant and expensive is the database? are they happy ot have that sitting idle while the BO server or client PC (deski) crunch through those lists.
Throw in some RoI figures - are they really getting the performance that hey paid for? why not?.
Why not put together a simple PoC universe and show the performance of your query against that of the client query?


dessa :madagascar: (BOB member since 2004-01-29)

Well, it didn’t work with you Des :wave:


Mak 1 :uk: (BOB member since 2005-01-06)

Thanks and YES… I apparently - well, not apparently as I was told I offended literally “everyone” when I asked who designed the universe… apparently someone here (still here but won’t come forward) tried, but there are some sensitivities and no one likes to be told they’re wrong (I’m in this group myself).

Thanks for the input… I’m not one to turn down a challenge, so I’ll burn the midnight oil on this one!

I think when I’m done I’ll go for a walk at the Duke of Westminister’s estate and play with the herds of deer that roam his property. I’m sure the armed security will understand when I tell them I work in IT and just needed a break! :crazy_face:


MichaelB :us: (BOB member since 2008-11-19)

Oh well, at least you know that you are not wrong about this, you’ll just have got to now go and prove it.

Disclaimer - This action may make you, even, more unpopular…:mrgreen:

Careful, people will start to talk…:rotf:


Mak 1 :uk: (BOB member since 2005-01-06)

Hey dessa!

Your accurate, however, the client does all of their “logic” in the query panel AND they actually want to keep it there… they perform all of their if/then else in the query panel and they feel if the move this upstream, they’ll “lose” something as the requirements will “change daily”… My 18th attempt at trying to move measure to the universe didn;t even get to the second word as the client blutterred out "No, I don’t want the measures in the universe cause I’d have to re-do them evertime!

I don’t think they really grasp the idea of BI, but trying to break that ice- berg daily!


MichaelB :us: (BOB member since 2008-11-19)

Is there a sponsor for this project? I honestly don’t understand some people and organisations, why pay to get someone in and glibbly disregard advice? I mean they may as well do it themeselves…

…oh right, they did that and look where they are now!!!

Point them to BoB and suggest that you develop some training material, deliver the training, hand hold the users etc etc etc…

you could be made up for life in this palce if you play it right :wink:


dessa :madagascar: (BOB member since 2004-01-29)

But it may - in turn - shorten my life!

Thanks for the input!


MichaelB :us: (BOB member since 2008-11-19)

A) Measure belong in the universe whenever possible, see also B)
B) All calculations should be pushed down as close to the source as possible, read: first database, then universe, as a last resort in the report. Why? Because of consistency, ToC (define once use many times, will save on maintenance), performance
C) You might have factless fact tables, these are tables where you count some columns for example. Also, your Dim tables are very wide, 150 columns, this will negatively impact performance on the database side (reading wide rows from the DB is time consuming). Ask to get a competent DBA with performance tuning experience involved.

Finally, you can bring a horse to the water, but you cannot force it to drink.


Andreas :de: (BOB member since 2002-06-20)

[quote:ebaa210380=“BOBUJ’s Customer”]No, I don’t want the measures in the universe cause I’d have to re-do them evertime!
[/quote]
They have to do them every time anyway.

Why not ask them if you can spend a couple of hours creating a new version of the universe and then show them how your version is better than theirs? Or just do it anyway.

Yes, have you not offended the DBAs yet?


Damocles :uk: (BOB member since 2006-10-05)

Plenty of ammo there :).

:rotf:


Mak 1 :uk: (BOB member since 2005-01-06)

You guys are GREAT!

Nice to be in a situation where, as abnormal as it can get, there are others that have run into similar situation, or can offer a well educated sounding-board to at least confirm perceptions, process etc…

I’ll update this in a week or so to let all know what has transpried

Many, many thanks!


MichaelB :us: (BOB member since 2008-11-19)

Mak just likes to open his mouth to change feet.

Andreas is spot on.

Build a universe on the quiet, test it and then show them what they could have won. Delete it because it wouldn’t have worked for them :smiley:

Steady, Mark :mrgreen: !

And you say I’m bad!


Mak 1 :uk: (BOB member since 2005-01-06)

Thanks… and much appreciated. However, I don’t think you can have a “real” true life experience without pulling a couple feet from numerous parts of ones own, and others, anatomy!

This is the path I’m going down… univ off to the side, via the weekend work, etc…

Thanks again to all - even MAK!


MichaelB :us: (BOB member since 2008-11-19)