data warehouse
Data Warehouses have a constantly increasing importance for enterprises, because they supply information - usually to the (top) management - which cannot be compiled by other tools or using other approaches. Therefore, it is not surprising that Data Warehouse projects make up an ever growing share among database applications, and that they must cope with increasingly complex requirements.

Data Warehouses play an important role in our portfolio: we have had the opportunity to acquire expertise in DWH projects for Banking (Basel II, General Bank Steering), Travel Management, Telecommunications, Logistics, etc. The emphasis was placed thereby on:

  • Using special DWH techniques to support queries on huge data sets: redundant data storage (de-normalization) on the upper levels, table partitioning, query materialization, data pre-aggregation, use of parallelism, use of indexes, etc.

  • Ensuring appropriate response times for arbitrary queries. Thereby, some queries might take a longer time, however they must be optimized with respect to both execution plans and usage of special DWH techniques.

  • Applications often set constraints on the duration of the ETL processes, because the results must be available within a definite time interval after the source data has become available itself. In such cases, special ETL techniques, like Direct Path Loads, Parallelism, etc. must be employed.

  • The presentation layer uses constructs designed specially for DWH: Cube and Rollup operations, OLAP and Data Mining functionalities, analytic functions, etc.

  • Even though Data Warehouses usually do not have to guarantee a high availability, there are time limits for recovery after crashes, which are not always easy to hold, on account of the size of the database, and possibly of the archived logs. The decision, which is the most adequate Backup & Recovery strategy, should be taken on a per-case basis.

  • A data warehouse usually has a considerably smaller number of users than an online system. Parallelization is therefore done mainly on the level of queries and DML statements (session level).

  • . . .