OLAP QUERIES
1
Online Analytic Processing
OLAP
2
OLAP
•  OLAP: Online Analytic Processing
•  OLAP queries are complex queries that
•  Touch large amounts of data
•  Discover patterns and trends in the data
•  Typically expensive queries that take long time
•  Also called decision-support queries
•  In contrast to OLAP:
•  OLTP: Online Transaction Processing
•  OLTP queries are simple queries, e.g., over banking or airline
systems
•  OLTP queries touch small amount of data for fast transactions
3
Select salary
From Emp
Where ID = 100;
OLTP vs. OLAP
§  On-Line Transaction Processing (OLTP):
–  technology used to perform updates on operational or
transactional systems (e.g., point of sale systems)
§  On-Line Analytical Processing (OLAP):
–  technology used to perform complex analysis of the data
in a data warehouse
4
OLAP is a category of software technology that enables
analysts, managers, and executives to gain insight into data
through fast, consistent, interactive access to a wide variety
of possible views of information that has been transformed
from raw data to reflect the dimensionality of the enterprise
as understood by the user.
[source: OLAP Council: www.olapcouncil.org]
OLAP AND DATA WAREHOUSE
5
Query and
Analysis
Component
Data
Integration
Component
Data
Warehouse
Operational
DBs
External
Sources
Internal
Sources
OLAP
Server
Meta
data
OLAP
Reports
Client
Tools
Data
Mining
OLAP AND DATA WAREHOUSE
•  Typically, OLAP queries are executed over a separate copy of
the working data
•  Over data warehouse
•  Data warehouse is periodically updated, e.g., overnight
•  OLAP queries tolerate such out-of-date gaps
•  Why run OLAP queries over data warehouse??
•  Warehouse collects and combines data from multiple sources
•  Warehouse may organize the data in certain formats to support OLAP
queries
•  OLAP queries are complex and touch large amounts of data
•  They may lock the database for long periods of time
•  Negatively affects all other OLTP transactions
6
OLAP ARCHITECTURE
7
EXAMPLE OLAP APPLICATIONS
•  Market Analysis
•  Find which items are frequently sold over the summer but
not over winter?
•  Credit Card Companies
•  Given a new applicant, does (s)he a credit-worthy?
•  Need to check other similar applicants (age, gender,
income, etc…) and observe how they perform, then do
prediction for new applicant
8
OLAP queries are also called “decision-
support” queries
MULTI-DIMENSIONAL VIEW
•  Data is typically viewed as points
in multi-dimensional space
9
10
47
30
12Milk 1%fat
3/1 3/2 3/3 3/4
Milk 2%fat
Orange
juice
bread
Time
Items
NY
MA
CA
Location
Raw data cubes
(raw level without
aggregation)
Typical OLAP applications
have many dimensions
ANOTHER EXAMPLE
10
!"# !$$%&#'()
"#'&#*
APPROACHES FOR OLAP
•  Relational OLAP (ROLAP)
•  Multi-dimensional OLAP (MOLAP)
•  Hybrid OLAP (HOLAP) = ROLAP + MOLAP
11
RELATIONAL OLAP: ROLAP
•  Data are stored in relational model (tables)
•  Special schema called Star Schema
•  One relation is the fact table, all the others are dimension tables
12
Facts
Week
Product
Product
Year
Region
Time
Channel
Revenue
Expenses
Units
Model
Type
Color
Channel
Region
Nation
District
Dealer
Time
Large table Small tables
CUBE vs. STAR SCHEMA
13
Facts
Week
Product
Product
Year
Region
Time
Channel
Revenue
Expenses
Units
Model
Type
Color
Channel
Region
Nation
District
Dealer
Time
Data inside the cube
are the fact records
Dimension tables
describe the dimensions
10
47
30
12Milk 1%fat
3/1 3/2 3/3 3/4
Milk 2%fat
Orange
juice
bread
Time
Items
NY
MA
CA
Location
ROLAP: EXTENSIONS TO DBMS
•  Schema design
•  Specialized scan, indexing and join techniques
•  Handling of aggregate views (querying and materialization)
•  Supporting query language extensions beyond SQL
•  Complex query processing and optimization
•  Data partitioning and parallelism
14
SLICING & DICING
•  Dicing
•  how each dimension in the cube
is divided
•  Different granularities
•  When building the data cube
•  Slicing
•  Selecting slices of the data cube
to answer the OLAP query
•  When answering a query
15
Dicing Time by day
10
47
30
12Milk 1%fat
3/1 3/2 3/3 3/4
Milk 2%fat
Orange
juice
bread
Time
Items
NY
MA
CA
Location
Dicing Location by state
SLICING & DICING: EXAMPLE 1
16
Dicing Slicing
Slicing operation in ROLAP is basically:
-- Selection conditions on some attributes (WHERE clause) +
-- Group by and aggregation
SLICING & DICING: EXAMPLE 2
17
SLICING & DICING: EXAMPLE 3
18
DRILL-DOWN & ROLL-UP
19
Region Sales variance
Africa 105%
Asia 57%
Europe 122%
North America 97%
Pacific 85%
South America 163%
Nation Sales variance
China 123%
Japan 52%
India 87%
Singapore 95%
Drill-down
(Group by Nation)
Roll-up
(group by Region)
ROLAP: DRILL-DOWN & ROLL-UP
20
Drill-down Roll-up
MOLAP
•  Unlike ROLAP, in MOLAP data are stored in special structures called
“Data Cubes” (Array-bases storage)
•  Data cubes pre-compute and aggregate the data
•  Possibly several data cubes with different granularities
•  Data cubes are aggregated materialized views over the data
•  As long as the data does not change frequently, the overhead of
data cubes is manageable
21
Sales 1996
Red
blob
Blue
blob
1997
Every day, every item, every city
Every week, every item
category, every city
MOLAP: CUBE OPERATOR
22
Raw-data (fact table)
Aggregation over the X axis
Aggregation over the Y axis
Aggregation over the Z axis
Aggregation over the X,Y
MOLAP & ROLAP
•  Commercial offerings of both types are available
•  In general, MOLAP is good for smaller warehouses and is
optimized for canned queries
•  In general, ROLAP is more flexible and leverages relational
technology
•  ROLAP May pay a performance penalty to realize flexibility
23
OLTP vs. OLAP
24
•  Clerk, IT Professional
•  Day to day operations
•  Application-oriented (E-R
based)
•  Current, Isolated
•  Detailed, Flat relational
•  Structured, Repetitive
•  Short, Simple transaction
•  Read/write
•  Index/hash on prim. Key
•  Tens
•  Thousands
•  100 MB-GB
•  Trans. throughput
•  Knowledge worker
•  Decision support
•  Subject-oriented (Star, snowflake)
•  Historical, Consolidated
•  Summarized, Multidimensional
•  Ad hoc
•  Complex query
•  Read Mostly
•  Lots of Scans
•  Millions
•  Hundreds
•  100GB-TB
•  Query throughput, response
User
Function
DB Design
Data
View
Usage
Unit of work
Access
Operations
# Records accessed
#Users
Db size
Metric
OLTP OLAP
Source: Datta, GT
OLAP: SUMMARY
•  OLAP stands for Online Analytic Processing and used in
decision support systems
•  Usually runs on data warehouse
•  In contrast to OLTP, OLAP queries are complex, touch large
amounts of data, try to discover patterns or trends in the data
•  OLAP Models
•  Relational (ROLAP): uses relational star schema
•  Multidimensional (MOLAP): uses data cubes
25

Olap queries

  • 1.
  • 2.
  • 3.
    OLAP •  OLAP: OnlineAnalytic Processing •  OLAP queries are complex queries that •  Touch large amounts of data •  Discover patterns and trends in the data •  Typically expensive queries that take long time •  Also called decision-support queries •  In contrast to OLAP: •  OLTP: Online Transaction Processing •  OLTP queries are simple queries, e.g., over banking or airline systems •  OLTP queries touch small amount of data for fast transactions 3 Select salary From Emp Where ID = 100;
  • 4.
    OLTP vs. OLAP § On-Line Transaction Processing (OLTP): –  technology used to perform updates on operational or transactional systems (e.g., point of sale systems) §  On-Line Analytical Processing (OLAP): –  technology used to perform complex analysis of the data in a data warehouse 4 OLAP is a category of software technology that enables analysts, managers, and executives to gain insight into data through fast, consistent, interactive access to a wide variety of possible views of information that has been transformed from raw data to reflect the dimensionality of the enterprise as understood by the user. [source: OLAP Council: www.olapcouncil.org]
  • 5.
    OLAP AND DATAWAREHOUSE 5 Query and Analysis Component Data Integration Component Data Warehouse Operational DBs External Sources Internal Sources OLAP Server Meta data OLAP Reports Client Tools Data Mining
  • 6.
    OLAP AND DATAWAREHOUSE •  Typically, OLAP queries are executed over a separate copy of the working data •  Over data warehouse •  Data warehouse is periodically updated, e.g., overnight •  OLAP queries tolerate such out-of-date gaps •  Why run OLAP queries over data warehouse?? •  Warehouse collects and combines data from multiple sources •  Warehouse may organize the data in certain formats to support OLAP queries •  OLAP queries are complex and touch large amounts of data •  They may lock the database for long periods of time •  Negatively affects all other OLTP transactions 6
  • 7.
  • 8.
    EXAMPLE OLAP APPLICATIONS • Market Analysis •  Find which items are frequently sold over the summer but not over winter? •  Credit Card Companies •  Given a new applicant, does (s)he a credit-worthy? •  Need to check other similar applicants (age, gender, income, etc…) and observe how they perform, then do prediction for new applicant 8 OLAP queries are also called “decision- support” queries
  • 9.
    MULTI-DIMENSIONAL VIEW •  Datais typically viewed as points in multi-dimensional space 9 10 47 30 12Milk 1%fat 3/1 3/2 3/3 3/4 Milk 2%fat Orange juice bread Time Items NY MA CA Location Raw data cubes (raw level without aggregation) Typical OLAP applications have many dimensions
  • 10.
  • 11.
    APPROACHES FOR OLAP • Relational OLAP (ROLAP) •  Multi-dimensional OLAP (MOLAP) •  Hybrid OLAP (HOLAP) = ROLAP + MOLAP 11
  • 12.
    RELATIONAL OLAP: ROLAP • Data are stored in relational model (tables) •  Special schema called Star Schema •  One relation is the fact table, all the others are dimension tables 12 Facts Week Product Product Year Region Time Channel Revenue Expenses Units Model Type Color Channel Region Nation District Dealer Time Large table Small tables
  • 13.
    CUBE vs. STARSCHEMA 13 Facts Week Product Product Year Region Time Channel Revenue Expenses Units Model Type Color Channel Region Nation District Dealer Time Data inside the cube are the fact records Dimension tables describe the dimensions 10 47 30 12Milk 1%fat 3/1 3/2 3/3 3/4 Milk 2%fat Orange juice bread Time Items NY MA CA Location
  • 14.
    ROLAP: EXTENSIONS TODBMS •  Schema design •  Specialized scan, indexing and join techniques •  Handling of aggregate views (querying and materialization) •  Supporting query language extensions beyond SQL •  Complex query processing and optimization •  Data partitioning and parallelism 14
  • 15.
    SLICING & DICING • Dicing •  how each dimension in the cube is divided •  Different granularities •  When building the data cube •  Slicing •  Selecting slices of the data cube to answer the OLAP query •  When answering a query 15 Dicing Time by day 10 47 30 12Milk 1%fat 3/1 3/2 3/3 3/4 Milk 2%fat Orange juice bread Time Items NY MA CA Location Dicing Location by state
  • 16.
    SLICING & DICING:EXAMPLE 1 16 Dicing Slicing Slicing operation in ROLAP is basically: -- Selection conditions on some attributes (WHERE clause) + -- Group by and aggregation
  • 17.
    SLICING & DICING:EXAMPLE 2 17
  • 18.
    SLICING & DICING:EXAMPLE 3 18
  • 19.
    DRILL-DOWN & ROLL-UP 19 RegionSales variance Africa 105% Asia 57% Europe 122% North America 97% Pacific 85% South America 163% Nation Sales variance China 123% Japan 52% India 87% Singapore 95% Drill-down (Group by Nation) Roll-up (group by Region)
  • 20.
    ROLAP: DRILL-DOWN &ROLL-UP 20 Drill-down Roll-up
  • 21.
    MOLAP •  Unlike ROLAP,in MOLAP data are stored in special structures called “Data Cubes” (Array-bases storage) •  Data cubes pre-compute and aggregate the data •  Possibly several data cubes with different granularities •  Data cubes are aggregated materialized views over the data •  As long as the data does not change frequently, the overhead of data cubes is manageable 21 Sales 1996 Red blob Blue blob 1997 Every day, every item, every city Every week, every item category, every city
  • 22.
    MOLAP: CUBE OPERATOR 22 Raw-data(fact table) Aggregation over the X axis Aggregation over the Y axis Aggregation over the Z axis Aggregation over the X,Y
  • 23.
    MOLAP & ROLAP • Commercial offerings of both types are available •  In general, MOLAP is good for smaller warehouses and is optimized for canned queries •  In general, ROLAP is more flexible and leverages relational technology •  ROLAP May pay a performance penalty to realize flexibility 23
  • 24.
    OLTP vs. OLAP 24 • Clerk, IT Professional •  Day to day operations •  Application-oriented (E-R based) •  Current, Isolated •  Detailed, Flat relational •  Structured, Repetitive •  Short, Simple transaction •  Read/write •  Index/hash on prim. Key •  Tens •  Thousands •  100 MB-GB •  Trans. throughput •  Knowledge worker •  Decision support •  Subject-oriented (Star, snowflake) •  Historical, Consolidated •  Summarized, Multidimensional •  Ad hoc •  Complex query •  Read Mostly •  Lots of Scans •  Millions •  Hundreds •  100GB-TB •  Query throughput, response User Function DB Design Data View Usage Unit of work Access Operations # Records accessed #Users Db size Metric OLTP OLAP Source: Datta, GT
  • 25.
    OLAP: SUMMARY •  OLAPstands for Online Analytic Processing and used in decision support systems •  Usually runs on data warehouse •  In contrast to OLTP, OLAP queries are complex, touch large amounts of data, try to discover patterns or trends in the data •  OLAP Models •  Relational (ROLAP): uses relational star schema •  Multidimensional (MOLAP): uses data cubes 25