3.1.1 OLAP definition and background
Although sometimes used interchangeably, the terms data warehousing and OLAP apply to different components of systems often referred to as decision support systems or business intelligence systems. Components of these types of systems include databases and applications that provide the tools analysts need to support organizational decision-making.
OLAP technology enables data warehouses to be used effectively for online analysis, providing rapid responses to iterative complex analytical queries. OLAP\'s multidimensional data model and data aggregation techniques organize and summarize large amounts of data so it can be evaluated quickly using online analysis and graphical tools. The answer to a query into historical data often leads to subsequent queries as the analyst searches for answers or explores possibilities. OLAP systems provide the speed and flexibility to support the analyst in real time.
A basic advantage of OLAP systems is that they can be used to study different scenarios by asking the question \"What if?\" An example of such a scenario in a store example would be, \"What if the price for a certain product goes up by 2 percent?\" This unique feature makes OLAP a great decision making tool that could help determine the best courses of action for the company\'s business. OLAP and data warehouses complement each other. The data warehouse stores and manages the data, while OLAP converts the stored data into useful information. OLAP techniques may range from simple navigation and browsing of the data (often referred to as \'slicing and dicing\'), to more serious analyses, such as time-series and complex modeling.
Fig 3-1. OLAP role in data analysis
OLAP applications are defined as those that should deliver fast analysis of shared multidimensional information (FASMI). OLAP tools can improve the productivity of the whole organization by focusing on what is essential for its growth, and by transferring the responsibility for the analysis to the operational parts of the organization. Developers also benefit from using the right OLAP software. Although it is possible to build an OLAP system using software designed for transaction processing or data collection, it is certainly not a very efficient use of developer time. By using software specifically designed for OLAP, developers can deliver applications to business users faster, providing better service, which in turn allows the developers to build more applications.
Another advantage of using OLAP systems is that if such systems are separate from the On-Line Transaction Processing (OLTP) systems that feed the data warehouse, the OLTP systems\' performance will improve due to the reduced network traffic and elimination of long queries to the OLTP database.
3.1.2 OLAP features
Regardless the type of application, an OLAP application always must have the following three capabilities:
. Multi-dimensional views of data (data cubes)
. Calculation-intensive capabilities
. Time intelligence
Business models are multidimensional in nature. This aspect of OLAP applications provides the foundation to \'slice and dice\' the data, as well as providing flexible access to information buried in the database. Using OLAP applications, managers should be able to analyze data across any dimension, at any level of aggregation, with equal functionality and ease. For instance, profits for a particular month for a certain product in a particular region can be obtained easily using such applications.
The multidimensional data views are usually referred to as data cubes. Each cube consists of dimensions that are essentially descriptive categories, such as time or geographic location, and members, which are values such as unit sales and population. Since we typically think of a cube as having three dimensions, this may not be the best name for them. In reality data cubes can have as many dimensions as the business model allows. Within cube dimensions, data are organized into hierarchies in which member data are grouped together into what essentially amounts to levels of data, such as days, hours, and minutes within the time dimension. Data consumers move up or down through the hierarchy, depending on the level of detail they require. Hierarchies are defined in terms of such levels, where the highest level contains the most summarized data and the lowest the most detailed data.
While most OLAP applications do simple data aggregation along a hierarchy like a cube or a dimension, some of them may conduct more complex calculations, such as percentages of totals, and allocations that use the hierarchies from the top down. It is important that an OLAP application is designed in a way that allows for such complex calculations. It is these calculations that add great benefits to the ultimate solution. Trend analysis is another example of complex calculations that can be carried out with OLAP applications. Such analyses involve algebraic equations and complex algorithms, such as moving averages and percent growth.
Time is a universal dimension for almost all OLAP applications. It is very difficult to find a business model where time is not considered an integral part. Time is used to compare and judge performance of a business process. As an example, performance of a region this month may be compared to its performance last month. The time dimension is not always used in a similar way to other dimensions. For example, a manager may ask about the sales totals for the first two months of the year, but is not likely to ask about the sales of the first two cellular phones in the product line. An OLAP system should be built to easily allow for concepts like \"year to date\" and \"period over period comparisons\" to be defined.
When time is considered in OLAP applications, another interesting concept is that of balance. A balance is calculated over a period of time, using an appropriate arithmetical function. For instance, the balance of phones in the first quarter of a year is the sum of phones produced in each month of the quarter, while the balance of employees over the same period is the average of the numbers of employees in each month.