Last week, while auditing a 1 year-old data warehouse totally dead in
terms of response time and aggregating accuracy, I had the following
chat with the *data multidimensional architect*...I thought some of you
may find it interesting to understand one sign of our time....
Multidimensional Architect: How come you wrote in your report that the
system has excessive reponse time and no accuracy because relational
rules of design were broken. That show you don't understand anything
about OLAP modeling
Me: I do not need to know what OLAP modeling is. All I can see, is no
matter how well designed is your OLAP system, it still incorrect result
at high cost because its raw data source is not normalized
Multidimensional Architect: But OLAP modeling has nothing to do
normalization, star schema's are totally denormalized...
Me: Really? I could argue that a star schema is a fully normalized
because it is nothing else than a fact table exclusively made up of
foreign key attributes pointing to dimension tables...Besides to
denormalize, it would initially start from some normal form? What
normal form did you start from to start your *denormalizing*
Multidimensional Architect: That's not the point. The point is a
relational model only applies to OLTP (Online Transactional Processing)
systems while OLAP model is targetted at Decision Support
Systems...OLAP is totally independent from relational model.
Me: What exactly is OLAP model?
Multidimensional Architect: It is a multidimensional model that pulls
data from various relational data sources and filters only what is
relevant to decision makers...
Me: So basically, you are stating that OLAP pulls data from SQL DBMS's
right? What if the results of data sources are wrong? What does it
say about the results of OLAP..Are you saying you are filtering
something that is not correct at the first place? Weird...
Multidimensional Architect: But OLAP does not care about the accuracy
of the data pulled from the RM as it gets filtered anyway.
Me: How exactly do you do that?
Multidimensional Architect: By putting filters on the views extracting
data from the relational structure.
Me: So basically it is the same thing as putting filters on a view to
attemps compensate for the loss of integrity?
Multidimensional Architect: No it is not the same thing?
Me: What is the difference then?
Multidimensional Architect: OLAP modeling is made of hierarchies of
dimensions that can be reorganized at run time...
Me: How many filters do you exacty put for each extracting process?
Multidimensional Architect: Between 6 and 10 AND conditions in the
WHERE clause
Me: And how many processes are there to filter
Multidimensional Architect: Between 60 and 100
Me: Are'nt you afraid that may have some impact on ressources consumed?
What if these filters are not sufficient anyway? What if you forget to
add on excluding conditions in one of the numerous processes?
Multidimensional Architect: That won't happen as long as I am
around...
Me: And how long will you be around
Multidimensional Architect: Not very long....