Whether to Convert Active Reports to Data Mart
Many Eagle clients have built their presentation-quality reports using PACE Active Reports. Now that Data Mart is available as an information delivery tool, should a client consider converting existing reports to source data against the Mart? This is a complex question, and involves several considerations explained in this section.
Supporting Non-OLAP Data in the Mart
All data built by PACE in Data Mart tables comes from the action of an OLAP process. There are strong arguments for maximizing the potential of the OLAPs to populate as much required reportable data as possible, given the powerful and flexible tools available in the Data Mart user interface for data management of the Mart. Sometimes, however, it is necessary to support data in the Mart not placed there by the OLAPs.
When to Move Non-OLAP Data to the Mart
Some types of data either should or must bypass the OLAP processes that build data into mart tables:
Data in structures not supported by OLAPs. The Eagle data model is very flexible and supports a very wide range of data structures. Custom tables may be built and joined to core tables to permit access by the OLAPs. Even database views may be created and field attributes built to report their contents. However, there may be instances in which data is loaded to the Eagle warehouse for which OLAP access is not readily available and cannot easily be provided.
Report-ready, single-use data loaded in high volume. Even in the case of single use data Eagle recommends as a best practice that all data be stored in the warehouse followed by Data Mart running the OLAP processes to move a set of values from one warehouse schema to the Data Mart schema. This is the best approach for clients who wish to load data from an external source such as report-ready performance data.
Data Moved in Anticipation of a Future Release Enhancement. Clients may find that they need to deliver a type of information that is supported in Data Mart only in a future release due to a product enhancement. Release upgrade may not be practical before the information is required. If the nature of the enhancement is to enable a new type of field to be built into existing Mart tables. A temporary workaround strategy may be available—please refer to “Direct Loads to Future Table Extensions” below.
How to Move Non-OLAP Data to the Mart
There area variety of ways to deploy non-OLAP data to the Data Mart schema.
Non-Materialized Views
A non-materialized view is an SQL query against other database tables that is exposed to reports and applications as if it were a physical table. This simplifies access; joins between tables and views are supported. The main drawback of such a view is that its use involves the latency of execution of a database query. Accordingly, this type of view should be reserved for the simplest views in use.
Materialized Views
Materialized views are physically built from data returned by underlying SQL. They are a sort of database copy. Queries against them perform much better than those against non-materialized views of the same datasets, since data is physically present and need not be assembled on the fly. They are best suited to views of larger numbers of fields. A drawback to materialized views is that they must be updated and maintained. Oracle offers a powerful toolset for deploying materialized views known as Oracle Materialized Views.
Direct Loads to Reserved Columns of Mart Tables
The “selective fields” enhancement to Data Mart allows you to do a direct load of fields to Data Mart tables as long as you can populate all rows of those tables by a regular Data Mart Submit. You could reserve some fields in the tables that need supplemental data from direct loads. You could do this by creating and selecting for the model a set of dummy field attributes to create columns in the table to receive the external load. Selective fields would then be used to avoid populating those fields in the regular build, thus “reserving” them for the external load. As a recommendation, an extension should be created and populated by the client since the Mart does not delete data but simply updates.
This practice introduces complexities, and you should attempt it only in consultation with Eagle. It may be simpler just to add a custom table to the Data Mart schema and join to appropriate tables in reporting.