CS6905 - Programming OLAP DANIEL LEMIRE Research Officer, NRC Adjunct Professor, UNB
CS6905 - Programming OLAP DANIEL LEMIRE Research Officer, NRC Adjunct Professor, UNB These slides will be made available on the web.
Overview Review of the industry
Overview Review of the industry Course presentation
Overview Review of the industry Course presentation Homework Assignment
Overview Review of the industry Course presentation Homework Assignment Motivation through example
Overview Review of the industry Course presentation Homework Assignment Motivation through example Definitions!!!
OLAP is important? Source: OLAP Report as of July 7th 2003 (was revised with lower estimates recently)
Historical Perspective 1970 Codd proposes relational model 1980 SQL becomes a commercial success (Oracle, IBM) 1993 Codd coined OLAP, Excel offers Pivot Tables 1997 MOLAP vs ROLAP debate 1999 SQL-99 offers some OLAP functionality
Industry standards Name Status Platform Proponent OLE DB In use Wintel Microsoft XML Analysis Prototypical SOAP Microsoft, Hyperion JOLAP Prototypical Java (J2EE) IBM, Oracle, Hyperion, Sun
Who sells OLAP Microsoft 24% Hyperion 23% Cognos 13% BO 7% MicroStrategy 5% SAP 5% Oracle 5% PwC 3% Applix 3% Comshare 2% IBM 2%
Course Presentation Look at print-out NOW!
Course Presentation Look at print-out NOW! On-line Analytical Processing
Course Presentation Look at print-out NOW! On-line Analytical Processing or OLAP
Course Presentation Look at print-out NOW! On-line Analytical Processing or OLAP Programming OLAP:
Course Presentation Look at print-out NOW! On-line Analytical Processing or OLAP Programming OLAP: under the hood
Course Presentation Look at print-out NOW! On-line Analytical Processing or OLAP Programming OLAP: under the hood Dark art of designing multidimensional database!
This lecture? What kinds of problems can OLAP help me solve?
This lecture? What kinds of problems can OLAP help me solve? Can it help me figure out which products or customers are profitable?
This lecture? What kinds of problems can OLAP help me solve? Can it help me figure out which products or customers are profitable? Can it help me pick better stocks?
Amazon CEO You are Amazon s CEO. You ve been told that cheaper items sell more. Is it true?
Amazon CEO You are Amazon s CEO. You ve been told that cheaper items sell more. Is it true? Used Amazon s SOAP API data cube online answer!
Amazon OLAP Results
Amazon CEO (part 2) Ah. Yes. Well, this is nice. says the CEO
Amazon CEO (part 2) Ah. Yes. Well, this is nice. says the CEO Maybe price doesn t impact sales for items that are highly rated?
Amazon OLAP Results (part 2)
Amazon CEO (part 3) Ok. I was wrong. Very nice. says the CEO
Amazon CEO (part 3) Ok. I was wrong. Very nice. says the CEO (CEO is now buying into the OLAP frame of mind.)
Amazon CEO (part 3) Ok. I was wrong. Very nice. says the CEO (CEO is now buying into the OLAP frame of mind.) Maybe price doesn t impact sales for items that are poorly rated?
Amazon OLAP Results (part 3)
Amazon CEO (part 4) Ok. Something different is happening with poorly rated items. says the CEO
Amazon CEO (part 4) Ok. Something different is happening with poorly rated items. says the CEO (CEO thinks for a second or two.)
Amazon CEO (part 4) Ok. Something different is happening with poorly rated items. says the CEO (CEO thinks for a second or two.) How many poorly rated items are there compared to highly rated?
Amazon OLAP Results (part 4)
Convenience? This was all computed in a few seconds using our very own web interface (HOWLER). OLAP should be sexy, responsive, and convenient.
Convenience? This was all computed in a few seconds using our very own web interface (HOWLER). OLAP should be sexy, responsive, and convenient. Meant for business people.
Howler
But what is OLAP exactly? Short answer: a marketing term more catchy than multidimensional database.
But what is OLAP exactly? Short answer: a marketing term more catchy than multidimensional database. Providing OLAP (On-Line Analytical Processing) to User-Analysts: An IT Mandate. 1993
But what is OLAP exactly? Short answer: a marketing term more catchy than multidimensional database. Providing OLAP (On-Line Analytical Processing) to User-Analysts: An IT Mandate. 1993 www.essbase.com/whitepaper/olap/olap.pdf
Some of Codd s definining conditions Multidimensional Conceptual View
Some of Codd s definining conditions Multidimensional Conceptual View Generic Dimensionality
Some of Codd s definining conditions Multidimensional Conceptual View Generic Dimensionality Unlimited Dimensions and Aggregation Levels
Some of Codd s definining conditions Multidimensional Conceptual View Generic Dimensionality Unlimited Dimensions and Aggregation Levels
Some of Codd s definining conditions Unrestricted Cross-Dimensional Operations
Some of Codd s definining conditions Unrestricted Cross-Dimensional Operations Consistent Reporting Performance
Some of Codd s definining conditions Unrestricted Cross-Dimensional Operations Consistent Reporting Performance Dynamic Sparse Matrix Hadling
Some of Codd s definining conditions Unrestricted Cross-Dimensional Operations Consistent Reporting Performance Dynamic Sparse Matrix Hadling
Other catchy names DOLAP: Database OLAP or Desktop OLAP
Other catchy names DOLAP: Database OLAP or Desktop OLAP MOLAP: Multidimensional OLAP
Other catchy names DOLAP: Database OLAP or Desktop OLAP MOLAP: Multidimensional OLAP ROLAP: Relational OLAP
Other catchy names DOLAP: Database OLAP or Desktop OLAP MOLAP: Multidimensional OLAP ROLAP: Relational OLAP HOLAP: Hybrid OLAP
Other catchy names DOLAP: Database OLAP or Desktop OLAP MOLAP: Multidimensional OLAP ROLAP: Relational OLAP HOLAP: Hybrid OLAP WOLAP: Web OLAP
Other catchy names DOLAP: Database OLAP or Desktop OLAP MOLAP: Multidimensional OLAP ROLAP: Relational OLAP HOLAP: Hybrid OLAP WOLAP: Web OLAP
Definitions Array Storage method where the elements of the array are placed sequentially in a contiguous region of storage (disk or RAM)
Definitions Array Storage method where the elements of the array are placed sequentially in a contiguous region of storage (disk or RAM) Index A structure used to locate values.
Definitions Variable A unit-bearing data type, either measured or derived.
Definitions Variable A unit-bearing data type, either measured or derived. Attribute Information associated with an object.
Definitions Variable A unit-bearing data type, either measured or derived. Attribute Information associated with an object. Dimension Collection of objects of the same type. For our purposes, Variable = Attribute.
Dimension versus Variable weight height John 160lbs 1.8m Maggy 125lbs 1.4m
Definitions To Aggregate The process of combining two or more data items into a single item.
Definitions To Aggregate The process of combining two or more data items into a single item. Measure A unit-bearing data type.
Definitions To Aggregate The process of combining two or more data items into a single item. Measure A unit-bearing data type. Cell A measure associated with one and only one member from each of multiple dimensions.
Definitions To Aggregate The process of combining two or more data items into a single item. Measure A unit-bearing data type. Cell A measure associated with one and only one member from each of multiple dimensions. Hypercube or Data Cube A multi-dimensional schema formed from the cross-product of a number of dimensions.