A look at the major components to the 9i next as it relates to OLAP.Starting at the bottom, note that all data is stored in Oracle data files – both relational and multidimensional. In the case of multidimensional, data is stored in an analytic workspace within a relational schema. An analytic workspace is the moral equivalent to an Express database. That is, it’s a self contained MD schema just like an Express database. The AW contains everything an Express DB contains … dimensions, variables, formulas, valuesets, etc. It stores data the same way as Express (e.g., variable by dimensions or composites), uses about the same amount of disk, etc. Unlike Express, it is managed by Oracle, so it’s safe and secure (e.g., backup and recovery).As with any other release of the Oracle database there are, of course, relational objects in the database. Obviously no change with 9i next, although it’s worthwhile to note that analytic workspaces and relational objects can happily coexist in the same schema.From the OLAP perspective, there are three technologies that are make up the server. The relational engine provides SQL and manages relational objects. The object technology provides the means for multidimensional data to be presented to the relational engine (this occurs through table functions). The multidimensional engine provides support for the OLAP DML (Express SPL renamed) and management of multidimensional objects. This is the same great multidimensional engine as Express (with enhancements, of course), except that it’s rehosted in the Oracle database.Applications can connect using the OLAP API, OCI or JDBC. In the case of connecting via the OLAP API, the OLAP API connects to the database using JDBC. As we will see in later slides, applications connect to the database using any of these methods and access both relational and multidimensional objects.
All OLAP option metadata is stored in the OLAP Catalog. There are three types of metadata:The logical dimensional model which includes:Dimensions (including levels, hierarchies, and attributes). The OLAP Catalog dimension object is consistent with the Oracle RDBMS dimension object, but it contains additional metadata.Cubes, which include measures. When a relational table is the source to a cube, the cube specifies the relationship between dimensions and fact tables and thus completes the definition of the star schema.Measure folders contain one or more measures from any number of cubes and provide a convenient way to group measures together by subject matter.The OLAP Catalog is the OLAP APIs source of metadata and thus it must be maintained if you are using the OLAP API. The OLAP Catalog is also the source of metadata for utilities such as Analytic Workspace Manager PL/SQL package that can be used to build analytic workspaces from star schemas. The OLAP Catalog can be managed by Oracle Enterprise Manager when the source of the cube is a relational table. The OLAP Catalog CWM2 packages can be used to manage the OLAP catalog when cubes are mapped to either relational tables or analytic workspaces. Note that there isn’t any metadata stored in analytic workspaces – the OLAP Catalog is the source of all metadata. Some applications might choose to build some metadata in the analytic workspace (that is, some OEO or OSA like metadata). That’s fine, but the official metadata is the OLAP Catalog.
This is an example of select data directly from an table function. Notice that this table function includes an OLAP DML command, FORECAST_SALES, that runs a forecast.
Table function technology:It is the Object technology that provides a way to extract data from a multidimensional storage format and represent it in a relational table format. Specifically, it is the Table function, OLAP_TABLE that provides this functionality. The table function manages the physical movement of the data from the AW to a relational view.
Now we’ll take a look at the four major methods of querying analytic workspaces. But first, remember that the OLAP option can query relational tables directly without the use of analytic workspaces.The major components of AW through SQL are:The analytic workspace itself. This is were the data is.The MD engine (not shown). This provides that calculation capability.Abstract data types are part of the database’s object technology. They are used to describe the output of a table function The OLAP_TABLE table function. This is the piece of software that provides the SQL interface to the MD engine and analytic workspace. OLAP_TABLE attaches analytic workspaces, can call OLAP DML commands, maps ADTs to analytic workspace objects and returns data to the relational engine.Now the query methods:Applications that use the OLAP API issue OLAP API calls to the OLAP option. The OLAP option’s SQL generator creates SQL against the relational view. The relational view is defined over a table function OLAP_TABLE and OLAP_TABLE gets data from the analytic workspace.It might seem interesting that the OLAP API accesses data through the RDBMS engine (the view) rather than accessing the MD engine directly. Surely it would be faster to go directly to the OLAP engine directly rather than through the relational engine? While it might be a little faster, the amount of time spent using OLAP_TABLE is small little as to be irrelevant (e.g., <.02 seconds). That speaks volumes about the efficiency of OLAP_TABLE.By using SQL, we can a few advantages. First, it makes sure that you always get the same results regardless of whether you source data in relational tables or analytic workspaces. Second, it provides the means for the OLAP API to join both relational and analytic workspace data in the same query (like any other application, the OLAP API doesn’t even need to know that an analytic workspace is behind the view – it just looks like a relational view). Finally, it minimizes the code paths in the software which generally leads to faster and more stable software and better engineering efficiency (which leaves more time for new feature development).‘Generic’ SQL applications can select data directly from relational views. Again, the relational views look just like any other relational data type in the database so SQL applications work ‘as is’ against relational views serviced by analytic workspaces.SQL applications can choose to be ‘OLAP aware’ by writing queries directly to the table function. By doing so, applications can send OLAP DML commands to the MD engine. For example, the application might want to limit the data that is returned, install a calculation, run a forecast or perform a product ranking. Although the OLAP DML might be used to limit the view of data or to perform a calculation, the data is returned to the relational engine (just like any other view). This allows SQL based applications to make incremental changes to their SQL generators while accessing the power of the multidimensional engine.Finally, applications can issue commands directly against against the multidimensional engine without using OLAP_TABLE. In this case, the PL/SQL package DBMS_AW.EXECUTE is used to send commands to the multidimensional engine. You can send any OLAP DML command you want via a OCI or JDBC connection (load data, aggregate data, solve a model, define a formula, etc.). If you’ve written to Express’ SNAPI API, you can think of OCI or JDBC and DBMS_AW.EXECUTE as being the replacement to SPAPI and its’ SN.EXECUTE command.Two other PL/SQL packages, DBMS_AW.INTERP and DBMS_AW.INTERPCLOB provide the means to return data from analytic workspaces to PL/SQL programs.
MS ExcelOracle Reports, Crystal Reports, Visual Basic, PowerBuilder etc.Oracle Discoverer, Brio, Business Object, MicroStrategy etc.BI Beans, Cognus PowerPlay, Pro Clarity etc
MS ExcelOracle Reports, Crystal Reports, Visual Basic, PowerBuilder etc.Oracle Discoverer, Brio, Business Object, MicroStrategy etc.BI Beans, Cognus PowerPlay, Pro Clarity etc
The OLAP Data Management package, DBMS_ODM, provides procedures for creating materialized views specific to the requirements of the OLAP API.
Tuple -- 元组,数组In a relational data base, a part of a relation that identifiers an entity and its attributes.关系数据库中,标识一个实体及其属性的关系的一部分。
Values above the partition level in a hierarchy are calculated dynamically.E.g., if partition on time at the quarter level, year totals are calculated on the fly.Higher level for partitioning (e.g., year):More presummarizationbetter query performanceFewer partitionsless opportunity for parallelizationlarger composites.Less granular rolloff of unused partitionsLower level for partitioning (e.g., month)Less presummarizationpoorer query performanceMore partitionsmore opportunity for parallelizationSmaller compositesMore granular rolloff of unused partitions