How Oracle
Does OLAP
Oracle has changed signals so often on
the-products-formerly-known-as-Express that a lot of people are pretty confused. But
in Oracle10g, the situation is pretty simple, at least on the database side. And its closely analogous to the way Oracle
handles text data.
OLAP cubes are stored
in LOBs (Large OBject data), inside the general
Oracle10g database. The contents of such
LOBs can be indexed by a descendant of the old Express data management technology, much as
a collection of documents can be placed into LOBs and then indexed via the technology
formerly known as Oracle ConText.
Then you can get at these OLAP cubes via SQL. Specifically, theres a relatively new
and rarely used SQL Model clause that
permits OLAP calculations to be embedded in a normal SQL statement. Conceptually, this works against embedded OLAP
cubes and regular relational tables alike, just as text search works against both real
documents and ordinary character fields. Performance-wise,
however, any Oracle user who makes significant use of this capability will probably want
to store OLAP data in LOBs, using Oracles multidimensional indices.
Of course, the OLAP/text analogy isnt perfect. The primary way to get at OLAP data stored in
Oracle10g is still the Express language; Oracle has nothing analogous in the text area. And since SQL statements are likely to perform
calculations on OLAP data in ways that dont happen on text data, there are issues
with combining information from multiple cubes that dont arise in the document case. But as this technology matures, its likely
that the arguments for keeping OLAP data in a general-purpose database will be just as
valid as those for integrating text.
For more information, please contact Curt Monash.
To reach Monash
Information Services by phone, please call 978-266-1815.
Copyright 1996-2003, Monash Information Services. All
rights reserved.
Updated: 05/11/04 |