Multidimensional Database and Relational/OLAP
There is no question that Holos was way ahead of the curve in 1988 when it was first released. No other tool offered the combination of multidimensional analysis, true client server architecture and tight integration with relational databases. It seems a natural to be a true "crossover" product, occupying the product space of both MDDs and Relational/OLAP. Does it?
Unfortunately, it comes up short. The "database structure" of Holos generates its own SQL to populate a "view" of a relationship database, allowing you to manipulate the data in the underlying tables as if it were in a Holos multidimensional structure. Other than that, Holos has no SQL generation engine, except a very simple one in support of the "load block" (a block programming construct that creates and populates a multidimensional structure in server memory directly from a relational database) and a point-and-click query generator. Compare this to tools like DSS/Agent that have very intelligent SQL generators that are driven by metadata and create SQL optimized for each database. If you were to attempt to duplicate this in Holos, you would have to program it yourself. This sort of development goes beyond application development, it is more on the scale of software engineering, and the Holos development environment is inadequate for software engineering. It lacks the necessary debuggers, profilers and version control.
Secondly, in order for a Relational/OLAP combination to perform adequately, there has to be an intelligent mechanism for creating, managing and maintaining summary tables. All of the Relational/OLAP tools have made strides in this area. Without this capability, the managing of summary tables is a manual process, and can quickly overwhelm a staff.
This is not an across-the-board critique of Holos. It is a superb product, and offers a very convenient way to blend persistent and transient multidimensional modeling. But in the narrow problem space of Relational/OLAP, it is not a contender, but it could be. After all, Relational/OLAP products are still pretty weak in the way they handle rules, a real strength for Holos. The problem is not what happens to data once it has been transformed into a multidimensional structure, it's how it gets there. Why not open Holos up with an API? That way, you could generate SQL on your workstation (or even a middle tier) and pipe it to Holos to dispatch to the RDB. And it would eliminate all of the coding in Holos for every application to approximate good SQL.
Raden, N., "Data, Data Everywhere," DSSResources.COM, 02/14/2003.