It is clear from a survey of users and products ( see the OLAP report by Nigel
Pendse, et al ) that no single product is geared towards all application
environments. In addition, the technology, the architecture and the design
focus on a particular feature or a group of features ( see report by E. F. Codd
), as a result making the product ill-suited for generic use.
The following is based on a survey done by Manoj Jha and Surya Narayana on
OLAP towards finding a better solution.
Clearly, there are limitations to what performance and functionality can be
provided due to the constraints on hardware, network, CPU, etc. This causes the
vendors to exploit on a few grounds of the system thereby weakening the
performance of the others.
What we have arrived at is a concept of multi-level, comprehensive
configurability of the OLAP system ( including hardware and software ) towards
achieving the maximum user satisfaction in terms of the FASMI definition.
Multi-level: This refers to global, local, user-level and transaction-level
configurabiliity of several parameters of the OLAP system.
Comprehensive: The full set of features which can be configurable range from
hardware, network, RDBMS, MDD, database(s), stastical analyses and several
others which are specific to an OLAP application; and many times is specific to
By designing the product to be able to make intelligent choices and to be able
to optimize based on the demands of the users, the OLAP system takes full
advantage of the machine and database strengths and weaknesses to provide the
maximum satisfaction to users.
The list of configurable options given below is by no means an exhaustive one,
but more to illustrate the idea. Your comments are welcome.
Some configurable options:
Memory: This is primarily limited by the hardware/OS; however, several RDBMS
server parameters related to memory ( e.g. distributed memory, data cache size,
procedure cache size ) can be configured.
Speed : This will be a scale of values reflecting the users' expectation of
the response time.
Multi-Processor, MPP Capability: This will influence the scalability of the
Parallel Query: Can be enabled if RDBMS, and hardware support.
Database configuration: The option of several devices, distribution of data,
database size, creation of summary tables.
Allow modification Flag: This tells whether data may be modifiable by the OLAP
user on a particular table. This will influence where the table will be
physically located, whether summary statistics can be built, and so on.
Static table flag: This will indicate whether the user is interested in data
real-time or whether the data for analysis can be updated at a preset (
configurable ) time interval.
Maximum number of dimensions: This will help the OLAP engine optimize disk
space, and device configuration.
Types of analyses: The product optimizer should be able to recognize the
different statistical analyses ( e.g. Data distribution, ANOVA, regression,
time series, ) make an estimation of the resources required, evaluate the best
strategy for each kind of analyses.
Granularity: This lets the user decide ( particularly for large tables ) the
level of granularity of the data that they would want to see ( output to graph.