Title: Data Warehousing CPS216 Notes 13
1Data Warehousing CPS216Notes 13
2Warehousing
- Growing industry 8 billion way back in 1998
- Range from desktop to huge
- Walmart 900-CPU, 2,700 disk, 23TBTeradata
system - Lots of buzzwords, hype
- slice dice, rollup, MOLAP, pivot, ...
3Outline
- What is a data warehouse?
- Why a warehouse?
- Models operations
- Implementing a warehouse
- Future directions
4What is a Warehouse?
- Collection of diverse data
- subject oriented
- aimed at executive, decision maker
- often a copy of operational data
- with value-added data (e.g., summaries, history)
- integrated
- time-varying
- non-volatile
5What is a Warehouse?
- Collection of tools
- gathering data
- cleansing, integrating, ...
- querying, reporting, analysis
- data mining
- monitoring, administering warehouse
6Warehouse Architecture
Metadata
7Motivating Examples
- Forecasting
- Comparing performance of units
- Monitoring, detecting fraud
- Visualization
8Why a Warehouse?
- Two Approaches
- Query-Driven (Lazy)
- Warehouse (Eager)
9Query-Driven Approach
10Advantages of Warehousing
- High query performance
- Queries not visible outside warehouse
- Local processing at sources unaffected
- Can operate when sources unavailable
- Can query data not stored in a DBMS
- Extra information at warehouse
- Modify, summarize (store aggregates)
- Add historical information
11Advantages of Query-Driven
- No need to copy data
- less storage
- no need to purchase data
- More up-to-date data
- Query needs can be unknown
- Only query interface needed at sources
- May be less draining on sources
12OLTP vs. OLAP
- OLTP On Line Transaction Processing
- Describes processing at operational sites
- OLAP On Line Analytical Processing
- Describes processing at warehouse
13OLTP vs. OLAP
OLTP
OLAP
- Mostly updates
- Many small transactions
- Mb-Gb of data
- Raw data
- Clerical users
- Up-to-date data
- Consistency, recoverability critical
- Mostly reads
- Queries long, complex
- Gb-Tb of data
- Summarized, consolidated data
- Decision-makers, analysts as users
14Data Marts
- Smaller warehouses
- Spans part of organization
- e.g., marketing (customers, products, sales)
- Do not require enterprise-wide consensus
- but long term integration problems?
15Warehouse Models Operators
- Data Models
- relations
- stars snowflakes
- cubes
- Operators
- slice dice
- roll-up, drill down
- pivoting
- other
16Star
17Star Schema
18Terms
- Fact table
- Dimension tables
- Measures
19Dimension Hierarchies
sType
store
city
region
è snowflake schema è constellations
20Cube
Fact table view
Multi-dimensional cube
dimensions 2
213-D Cube
Multi-dimensional cube
Fact table view
dimensions 3
22ROLAP vs. MOLAP
- ROLAPRelational On-Line Analytical Processing
- MOLAPMulti-Dimensional On-Line Analytical
Processing
23Aggregates
- Add up amounts for day 1
- In SQL SELECT sum(amt) FROM SALE
- WHERE date 1
81
24Aggregates
- Add up amounts by day
- In SQL SELECT date, sum(amt) FROM SALE
- GROUP BY date
25Another Example
- Add up amounts by day, product
- In SQL SELECT date, sum(amt) FROM SALE
- GROUP BY date, prodId
rollup
drill-down
26Aggregates
- Operators sum, count, max, min, median,
ave - Having clause
- Using dimension hierarchy
- average by region (within store)
- maximum by month (within date)
27Cube Aggregation
Example computing sums
day 2
. . .
day 1
129
28Cube Operators
day 2
. . .
day 1
sale(c1,,)
129
sale(c2,p2,)
sale(,,)
29Extended Cube
day 2
sale(,p2,)
day 1
30Aggregation Using Hierarchies
customer
region
country
(customer c1 in Region A customers c2, c3 in
Region B)
31Pivoting
Fact table view
Multi-dimensional cube
Pivot turns unique values from one column into
unique columns in the output
32Derived Data
- Derived Warehouse Data
- indexes
- aggregates
- materialized views (next slide)
- When to update derived data?
- Incremental vs. refresh
33Materialized Views
- Define new warehouse relations using SQL
expressions
34Processing
- ROLAP servers vs. MOLAP servers
- Index Structures
- What to Materialize?
- Algorithms
35ROLAP Server
tools
Special indices, tuning Schema is denormalized
36MOLAP Server
- Multi-Dimensional OLAP Server
M.D. tools
multi-dimensional server
could also sit on relational DBMS
37Index Structures
- Traditional Access Methods
- B-trees, hash tables, R-trees, grids,
- Popular in Warehouses
- inverted lists
- bit map indexes
- join indexes
- text indexes
38Inverted Lists
. . .
data records
inverted lists
age index
39Using Inverted Lists
- Query
- Get people with age 20 and name fred
- List for age 20 r4, r18, r34, r35
- List for name fred r18, r52
- Answer is intersection r18
40Bit Maps
. . .
age index
data records
bit maps
41Using Bit Maps
- Query
- Get people with age 20 and name fred
- List for age 20 1101100000
- List for name fred 0100000001
- Answer is intersection 010000000000
- Good if domain cardinality small
- Bit vectors can be compressed
42Join
- Combine SALE, PRODUCT relations
- In SQL SELECT FROM SALE, PRODUCT WHERE ...
43Join Indexes
join index
44What to Materialize?
- Store in warehouse results useful for common
queries - Example
total sales
day 2
. . .
day 1
129
materialize
45Materialization Factors
- Type/frequency of queries
- Query response time
- Storage cost
- Update cost
46Cube Aggregates Lattice
129
all
city
product
date
city, product
city, date
product, date
use greedy algorithm to decide what to materialize
city, product, date
47Dimension Hierarchies
all
state
city
48Dimension Hierarchies
all
product
city
date
product, date
city, product
city, date
state
city, product, date
state, date
state, product
state, product, date
not all arcs shown...
49Interesting Hierarchy
all
years
weeks
quarters
conceptual dimension table
months
days