Pindaro Demertzoglou Data Resource Management – MGMT 4170 Lally School of Management Rensselaer Polytechnic Institute
Our goal is to talk about what we can actually see in our labs and completely understand. Let us have a look at the following diagram: Lots of theory behind OLAP
An overview of where we are right now SQL Developer OLAP CUBE 1 Sales Cube Data Warehouse Denormalized Historical Data OLAP CUBE 2 Warehouse Cube OLAP CUBE 3 Store Cube Transaction Processing System -RDBMS- Relational Data ETL Packages Cube/MDX Developer DW DeveloperETL Developer
SQL is an involved language that needs serious training to operate efficiently. SQL requires knowledge of relational databases. End users need a simplified approach to access the wealth of information in the data warehouse. Why not use SQL to get information out of the DW?
OLAP’s goal is to provide easy and interactive access to analytic resources to support decision-making in the organization. Online Analytical Processing
OLAP organizes data into multidimensional cubes very similar to cross tabbing and pivoting in relational databases. Example of cross tabbing Example of pivoting The ancestors of OLAP
An OLAP Cube Cheese Cola Milk Cream Store1 Store 2 Store 3 Unit Sales as a function of stores and product 3/1 3/2 3/3 3/ Units of Milk sold in store 3 the 3 rd of March Dimensions Measure
Dimension Hierarchies In each dimension table we have built in this class we have some hierarchies to analyze data in different levels of detail. Let us have a look at a graph to explain exactly what we mean.
Dimension Hierarchies Customers Dimension All Customers CountryStateCityZip Date Dimension All TimeYearSemesterQuarterMonth Product Dimension All Products Product Line Product SKU Product Brand Product Name
OLAP Cube Slicing Slicing a cube means that we select data across the same dimension. Since we have multiple dimensions in a cube, we have multiple ways to slice data.
OLAP Cube Dicing Dicing a cube means that we obtain a sub-cube of the current cube. That is we might select all dimensions but with filters for those dimensions. For example, we might not want to see all international stores but only stores in the US.
Calculations in OLAP cubes We can define calculations like profit, sales year to date, and sales same period last year. We can do this easily and right in the cube if the calculation has not been provided to us by the DW or the base cube.
ROLAP OLAP The database in which we store our data is in a regular Relational Database Management System (RDBMS). Simply the dimensional model is different than the ERD model for an OLTP system. It is a quite scalable and robust solution. Performance might be an issue
OLAP preprocesses these cubes to provide maximum performance for queries that summarize data in various ways and a query for a specific time, product, store, or customer can be answered in a few seconds or less regardless of how many hundreds of millions of rows of data are stored in the data warehouse database. Cube Pre-Processing for speed
It is not designed to support update transactions. The inherent nature of historical data in a data warehouse enables OLAP to provide its performance in rapidly summarizing information for analytical queries. Not made for updates of historical data
Query Speed Query speed is the first reason most businesses are attracted to OLAP. OLAP offers excellent dimensional query performance.
Excellent User front-end environment Easy for users to use the Cube front end to obtain the data they need from multiple software packages. Users can create their own OLAP cubes using as a base an existing OLAP cube without the need to access the DW. Ability to combine facts from multiple business processes (fact tables).
Security Complex security rules: One of the challenges of providing ad hoc access to the data warehouse is to secure detailed data but provide open access to summarized data. This is particularly true for ad hoc use. OLAP enables complex security rules that help keep the DW safe but give full access of information to people who need it.