0% found this document useful (0 votes)
139 views168 pages

Data Warehousing AND Data Mining

This document provides an overview of data warehousing and data mining. It discusses how data warehouses integrate data from multiple sources to support organizational decision making, and how data mining can extract useful patterns and intelligence from large datasets. Key differences between online transaction processing (OLTP) systems and data warehouses are described, such as data warehouses being subject-oriented rather than application-oriented and containing consolidated historical data for analysis rather than real-time operational data.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
139 views168 pages

Data Warehousing AND Data Mining

This document provides an overview of data warehousing and data mining. It discusses how data warehouses integrate data from multiple sources to support organizational decision making, and how data mining can extract useful patterns and intelligence from large datasets. Key differences between online transaction processing (OLTP) systems and data warehouses are described, such as data warehouses being subject-oriented rather than application-oriented and containing consolidated historical data for analysis rather than real-time operational data.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 168

DATA WAREHOUSING AND DATA MINING

Course Overview
The course: how what and

0. Introduction I. Data Warehousing II. Decision Support and OLAP(Online Analytical Processing)& OLTP (online transaction processing) III. Data Mining IV. Looking Ahead Demos and Labs
2

0. Introduction
Data Warehousing, OLAP and data mining: what and why (now)? Relation to OLTP A case study demos, labs

A producer wants to know.


Which are our lowest/highest margin customers ? What is the most effective distribution channel? Who are my customers and what products are they buying?

What product prom-otions have the biggest impact on revenue? What impact will new products/services have on revenue and margins?

Which customers are most likely to go to the competition ?

Data, Data everywhere yet ... I cant find the data I need
data is scattered over the network many versions, subtle differences

I cant get the data I need


need an expert to get the data

I cant understand the data I found


available data poorly documented

I cant use the data I found


results are unexpected data needs to be transformed from one form to other
5

What is a Data Warehouse?


A single, complete and consistent store of data obtained from a variety of different sources made available to end users in a what they can understand and use in a business context. [Barry Devlin]
6

What are the users saying...


Data should be integrated across the enterprise Summary data has a real value to the organization Historical data holds the key to understanding data over time What-if capabilities are required
7

What is Data Warehousing?


Information A process of transforming data into information and making it available to users in a timely enough manner to make a difference
[Forrester Research, April 1996]
8

Data

Evolution
60s: Batch reports
hard to find and analyze information inflexible and expensive, reprogram every new request

70s: Terminal-based DSS and EIS (executive information systems)


still inflexible, not integrated with desktop tools

80s: Desktop data access and analysis tools


query tools, spreadsheets, GUIs easier to use, but only access operational databases

90s: Data warehousing with integrated OLAP engines and tools 9

Warehouses are Very Large Databases


35%

30%
25% Respondents 20% 15% 10% Initial 5% 0%

Projected 2Q96
Source: META Group, Inc.

5GB

10-19GB
5-9GB

50-99GB

250-499GB
500GB-1TB
10

20-49GB

100-249GB

Very Large Data Bases


Terabytes -- 10^12 bytes:Walmart -- 24 Terabytes Petabytes -- 10^15 bytes:Geographic Information Systems Exabytes -- 10^18 bytes: National Medical Records Zettabytes -- 10^21 bytes: Zottabytes -- 10^24 bytes: Weather images

Intelligence Agency Videos


11

Data Warehousing -It is a process


Technique for assembling and managing data from various sources for the purpose of answering business questions. Thus making decisions that were not previous possible A decision support database maintained separately from the organizations operational database 12

Data Warehouse
A data warehouse is a
subject-oriented
integrated time-varying

non-volatile

collection of data that is used primarily in organizational decision making.


-- Bill Inmon, Building the Data Warehouse 1996

13

Explorers, Farmers and Tourists


Tourists: Browse information harvested by farmers

Farmers: Harvest information from known access paths


Explorers: Seek out the unknown and previously unsuspected rewards hiding in the detailed data
14

Data Warehouse Architecture


Relational Databases Optimized Loader ERP Systems

Extraction Cleansing Data Warehouse Engine Analyze Query

Purchased Data

Legacy Data

Metadata Repository
15

Data Warehouse for Decision Support & OLAP


Putting Information technology to help the knowledge worker make faster and better decisions
Which of my customers are most likely to go to the competition? What product promotions have the biggest impact on revenue? How did the share price of software companies correlate with profits over last 10 years?
16

Decision Support
Used to manage and control business Data is historical or point-in-time Optimized for inquiry rather than update

Use of the system is loosely defined and can be ad-hoc


Used by managers and end-users to understand the business and make judgements
17

Data Mining works with Warehouse Data


Data Warehousing provides the Enterprise with a memory

Data Mining provides the Enterprise with intelligence


18

We want to know ...


Given a database of 100,000 names, which persons are the least likely to default on their credit cards?

Which types of transactions are likely to be fraudulent given the demographics and transactional history of a particular customer?
If I raise the price of my product by Rs. 2, what is the effect on my ROI?

If I offer only 2,500 airline miles as an incentive to purchase rather than 5,000, how many lost responses will result?
If I emphasize ease-of-use of the product as opposed to its technical capabilities, what will be the net effect on my revenues? Which of my customers are likely to be the most loyal? Data Mining helps extract such information
19

Application Areas
Industry Finance Insurance Telecommunication Transport Consumer goods Data Service providers Utilities Application Credit Card Analysis Claims, Fraud Analysis Call record analysis Logistics management promotion analysis Value added data Power usage analysis
20

Data Mining in Use


The US Government uses Data Mining to track fraud A Supermarket becomes an information broker Basketball teams use it to track game strategy Cross Selling Warranty Claims Routing Holding on to Good Customers Weeding out Bad Customers

21

What makes data mining possible?


Advances in the following areas are making data mining deployable:
data warehousing better and more data (i.e., operational, behavioral, and demographic) the emergence of easily deployed data mining tools and the advent of new data mining techniques.
-- Gartner Group
22

Why Separate Data Warehouse?


Performance
Op dbs designed & tuned for known txs & workloads. Complex OLAP queries would degrade perf. for op txs. Special data organization, access & implementation methods needed for multidimensional views & queries.

Function
Missing data: Decision support requires historical data, which op dbs do not typically maintain. Data consolidation: Decision support requires consolidation (aggregation, summarization) of data from many heterogeneous sources: op dbs, external sources. Data quality: Different sources typically use inconsistent data representations, codes, and formats which have to be 23 reconciled.

What are Operational Systems?


They are OLTP systems Run mission critical applications Need to work with stringent performance requirements for routine tasks Used to run a business!
24

RDBMS used for OLTP


Database Systems have been used traditionally for OLTP
clerical data processing tasks detailed, up to date data structured repetitive tasks read/update a few records isolation, recovery and integrity are critical
25

Operational Systems
Run the business in real time Based on up-to-the-second data Optimized to handle large numbers of simple read/write transactions Optimized for fast response to predefined transactions Used by people who deal with customers, products -- clerks, salespeople etc. They are increasingly used by customers
26

Examples of Operational Data


Data Industry Usage
Track Customer Details Finance Control account activities Retail Generate bills, manage stock Telecomm- Billing unications Control Production

Technology

Volumes

Customer All File Account Balance Point-ofSale data Call Record

Legacy application, flat Small-medium files, main frames Legacy applications, Large hierarchical databases, mainframe ERP, Client/Server, Very Large relational databases Legacy application, Very Large hierarchical database, mainframe ERP, Medium relational databases, AS/400
27

Production ManufactRecord uring

So, whats different?

Application-Orientation vs. Subject-Orientation


Application-Orientation Subject-Orientation

Operational Database
Loans Credit Card Trust Customer

Data Warehouse

Vendor Product

Savings

Activity
29

OLTP vs. Data Warehouse


OLTP systems are tuned for known transactions and workloads while workload is not known a priori in a data warehouse Special data organization, access methods and implementation methods are needed to support data warehouse queries (typically multidimensional queries)
e.g., average amount spent on phone calls between 9AM-5PM in Pune during the month of December
30

OLTP vs Data Warehouse


OLTP
Application Oriented Used to run business Detailed data Current up to date Isolated Data Repetitive access Clerical User

Warehouse (DSS)
Subject Oriented Used to analyze business Summarized and refined Snapshot data Integrated Data Ad-hoc access Knowledge User (Manager)
31

OLTP vs Data Warehouse


OLTP
Performance Sensitive Few Records accessed at a time (tens) Read/Update Access

Data Warehouse
Performance relaxed Large volumes accessed at a time(millions) Mostly Read (Batch Update) Redundancy present Database Size 100 GB - few terabytes

No data redundancy Database Size 100MB -100 GB

32

OLTP vs Data Warehouse


OLTP
Transaction throughput is the performance metric Thousands of users Managed in entirety

Data Warehouse
Query throughput is the performance metric Hundreds of users Managed by subsets

33

To summarize ...
OLTP Systems are used to run a business

The Data Warehouse helps to optimize the business


34

Why Now?
Data is being produced ERP provides clean data The computing power is available The computing power is affordable The competitive pressures are strong Commercial products are available
35

Myths surrounding OLAP Servers and Data Marts


Data marts and OLAP servers are departmental solutions supporting a handful of users Million dollar massively parallel hardware is needed to deliver fast time for complex queries

OLAP servers require massive and unwieldy indices


Complex OLAP queries clog the network with data Data warehouses must be at least 100 GB to be effective
Source -- Arbor Software Home Page
36

Wal*Mart Case Study


Founded by Sam Walton One the largest Super Market Chains in the US Wal*Mart: 2000+ Retail Stores SAM's Clubs 100+Wholesalers Stores
This case study is from Felipe Carinos (NCR Teradata) presentation made at Stanford Database Seminar
37

Old Retail Paradigm


Wal*Mart Suppliers
Accept Orders Promote Products Provide special Incentives Monitor and Track The Incentives Bill and Collect Receivables Estimate Retailer Demands
38

Inventory Management Merchandise Accounts Payable Purchasing Supplier Promotions: National, Region, Store Level

New (Just-In-Time) Retail Paradigm


No more deals Shelf-Pass Through (POS Application)
One Unit Price
Suppliers paid once a week on ACTUAL items sold

Wal*Mart Manager
Daily Inventory Restock Suppliers (sometimes SameDay) ship to Wal*Mart

Warehouse-Pass Through
Stock some Large Items
Delivery may come from supplier

Distribution Center
Suppliers merchandise unloaded directly onto Wal*Mart Trucks
39

Course Overview
0. Introduction I. Data Warehousing II. Decision Support and OLAP III. Data Mining IV. Looking Ahead
Demos and Labs
40

I. Data Warehouses: Architecture, Design & Construction


DW Architecture Loading, refreshing Structuring/Modeling DWs and Data Marts Query Processing demos, labs

41

Data Warehouse Architecture


Relational Databases
Optimized Loader

ERP Systems

Extraction Cleansing Data Warehouse Engine Analyze Query

Purchased Data

Legacy Data

Metadata Repository
42

Components of the Warehouse


Data Extraction and Loading The Warehouse Analyze and Query -- OLAP Tools Metadata Data Mining tools

43

Loading the Warehouse

Cleaning the data before it is loaded

Source Data
Operational/ Source Data Sequential Legacy Relational External

Typically host based, legacy applications


Customized applications, COBOL, 3GL, 4GL

Point of Contact Devices


POS, ATM, Call switches

External Sources
Nielsens, Acxiom, CMIE, Vendors, Partners
45

Data Quality - The Reality


Tempting to think creating a data warehouse is simply extracting operational data and entering into a data warehouse Nothing could be farther from the truth Warehouse data comes from disparate questionable sources

46

Data Quality - The Reality


Legacy systems no longer documented

Outside sources with questionable quality procedures


Production systems with no built in integrity checks and no integration
Operational systems are usually designed to solve a specific business problem and are rarely developed to a a corporate plan
And get it done quickly, we do not have time to worry about corporate standards...
47

Data Integration Across Sources


Savings Loans Trust Credit card

Same data different name

Different data Same name

Data found here nowhere else

Different keys same data

48

Data Transformation Example


Data Warehouse
appl appl appl appl appl appl appl appl appl appl appl appl A - m,f B - 1,0 C - x,y D - male, female A - pipeline - cm B - pipeline - in C - pipeline - feet D - pipeline - yds A - balance B - bal C - currbal D - balcurr
49

Data Integrity Problems


Same person, different spellings Agarwal, Agrawal, Aggarwal etc... Multiple ways to denote company name Persistent Systems, PSPL, Persistent Pvt. LTD. Use of different names mumbai, bombay Different account numbers generated by different applications for the same customer Required fields left blank Invalid product codes collected at point of sale manual entry leads to mistakes in case of a problem use 9999999

50

Data Transformation Terms


Extracting Conditioning Scrubbing Merging Householding Enrichment Scoring Loading Validating Delta Updating

51

Data Transformation Terms


Extracting
Capture of data from operational source in as is status
Sources for data generally in legacy mainframes in VSAM, IMS, IDMS, DB2; more data today in relational databases on Unix

Conditioning
The conversion of data types from the source to the target data store (warehouse) -always a relational database
52

Data Transformation Terms


Householding
Identifying all members of a household (living at the same address) Ensures only one mail is sent to a household Can result in substantial savings: 1 lakh catalogues at Rs. 50 each costs Rs. 50 lakhs. A 2% savings would save Rs. 1 lakh.
53

Data Transformation Terms


Enrichment
Bring data from external sources to augment/enrich operational data. Data sources include Dunn and Bradstreet, A. C. Nielsen, CMIE, IMRA etc...

Scoring
computation of a probability of an event. e.g..., chance that a customer will defect to AT&T from MCI, chance that a customer is likely to buy a new product
54

Loads
After extracting, scrubbing, cleaning, validating etc. need to load the data into the warehouse Issues
huge volumes of data to be loaded small time window available when warehouse can be taken off line (usually nights) when to build index and summary tables allow system administrators to monitor, cancel, resume, change load rates Recover gracefully -- restart after failure from where you were and without loss of data integrity
55

Load Techniques
Use SQL to append or insert new data
record at a time interface will lead to random disk I/Os

Use batch load utility

56

Load Taxonomy
Incremental versus Full loads Online versus Offline loads

57

Refresh
Propagate updates on source data to the warehouse Issues:
when to refresh how to refresh -- refresh techniques

58

When to Refresh?
periodically (e.g., every night, every week) or after significant events on every update: not warranted unless warehouse data require current data (up to the minute stock quotes) refresh policy set by administrator based on user needs and traffic

possibly different policies for different sources


59

Refresh Techniques
Full Extract from base tables
read entire source table: too expensive maybe the only choice for legacy systems

60

How To Detect Changes


Create a snapshot log table to record ids of updated rows of source data and timestamp Detect changes by:
Defining after row triggers to update snapshot log when source table changes Using regular transaction log to detect changes to source data
61

Data Extraction and Cleansing


Extract data from existing operational and legacy data Issues:
Sources of data for the warehouse Data quality at the sources Merging different data sources Data Transformation How to propagate updates (on the sources) to the warehouse Terabytes of data to be loaded
62

Scrubbing Data
Sophisticated transformation tools. Used for cleaning the quality of data Clean data is vital for the success of the warehouse Example
Seshadri, Sheshadri, Sesadri, Seshadri S., Srinivasan Seshadri, etc. are the same person
63

Scrubbing Tools
Apertus -- Enterprise/Integrator Vality -- IPE Postal Soft

64

Structuring/Modeling Issues

Data -- Heart of the Data Warehouse


Heart of the data warehouse is the data itself! Single version of the truth Corporate memory Data is organized in a way that represents business -- subject orientation

66

Data Warehouse Structure


Subject Orientation -- customer, product, policy, account etc... A subject may be implemented as a set of related tables. E.g., customer may be five tables

67

Data Warehouse Structure


base customer (1985-87)
custid, from date, to date, name, phone, dob Time is base customer (1988-90) part of custid, from date, to date, name, credit rating, key of employer each table

customer activity (1986-89) -- monthly summary customer activity detail (1987-89) customer activity detail (1990-91)

custid, activity date, amount, clerk id, order no custid, activity date, amount, line item no, order no
68

Data Granularity in Warehouse


Summarized data stored
reduce storage costs reduce cpu usage increases performance since smaller number of records to be processed design around traditional high level reporting needs tradeoff with volume of data to be stored and detailed usage of data
69

Granularity in Warehouse
Can not answer some questions with summarized data
Did Anand call Seshadri last month? Not possible to answer if total duration of calls by Anand over a month is only maintained and individual call details are not.

Detailed data too voluminous


70

Granularity in Warehouse
Tradeoff is to have dual level of granularity
Store summary data on disks
95% of DSS processing done against this data

Store detail on tapes


5% of DSS processing against this data

71

Vertical Partitioning
Acct. No Name Balance Date Opened Interest Rate Address

Frequently accessed
Acct. Balance No Acct. No Name Date Opened Interest Rate

Rarely accessed
Address

Smaller table and so less I/O


72

Derived Data
Introduction of derived (calculated data) may often help Have seen this in the context of dual levels of granularity Can keep auxiliary views and indexes to speed up query processing

73

Schema Design
Database organization
must look like business must be recognizable by business user approachable by business user Must be simple

Schema Types
Star Schema Fact Constellation Schema Snowflake schema
74

Dimension Tables
Dimension tables
Define business in terms already familiar to users Wide rows with lots of descriptive text Small tables (about a million rows) Joined to fact table by a foreign key heavily indexed typical dimensions
time periods, geographic region (markets, cities), products, customers, salesperson, etc.
75

Fact Table
Central table
mostly raw numeric items narrow rows, a few columns at most large number of rows (millions to a billion) Access via dimensions

76

Star Schema
A single fact table and for each dimension one dimension table Does not capture hierarchies directly
T i e
date, custno, prodno, cityname, ...

c u s t

f a c t

p r o d

c i t y

77

Snowflake schema
Represent dimensional hierarchy directly by normalizing tables. Easy to maintain and saves storage
T i
e
date, custno, prodno, cityname, ...

c u s t

f a c t

p r o d c i t y
r e g i o 78 n

Fact Constellation
Fact Constellation
Multiple fact tables that share many dimension tables Booking and Checkout may share many dimension tables in the hotel industry
Hotels

Booking Checkout
Customer

Promotion

Travel Agents

Room Type
79

De-normalization
Normalization in a data warehouse may lead to lots of small tables Can lead to excessive I/Os since many tables have to be accessed De-normalization is the answer especially since updates are rare

80

Creating Arrays
Many times each occurrence of a sequence of data is in a different physical location Beneficial to collect all occurrences together and store as an array in a single row Makes sense only if there are a stable number of occurrences which are accessed together In a data warehouse, such situations arise naturally due to time based orientation
can create an array by month
81

Selective Redundancy
Description of an item can be stored redundantly with order table -most often item description is also accessed with order table Updates have to be careful

82

Partitioning
Breaking data into several physical units that can be handled separately Not a question of whether to do it in data warehouses but how to do it Granularity and partitioning are key to effective implementation of a warehouse
83

Why Partition?
Flexibility in managing data Smaller physical units allow
easy restructuring free indexing sequential scans if needed easy reorganization easy recovery easy monitoring
84

Criterion for Partitioning


Typically partitioned by
date line of business geography organizational unit any combination of above

85

Where to Partition?
Application level or DBMS level Makes sense to partition at application level
Allows different definition for each year
Important since warehouse spans many years and as business evolves definition changes

Allows data to be moved between processing complexes easily


86

Data Warehouse vs. Data Marts

What comes first

From the Data Warehouse to Data Marts


Information
Individually Structured Departmentally Structured

Less

History Normalized Detailed


More

Organizationally Structured

Data Warehouse

Data
88

Data Warehouse and Data Marts


OLAP Data Mart Lightly summarized Departmentally structured

Organizationally structured Atomic Detailed Data Warehouse Data


89

Characteristics of the Departmental Data Mart


OLAP Small Flexible Customized by Department Source is departmentally structured data warehouse
90

Techniques for Creating Departmental Data Mart


OLAP
Sales Finance Mktg.

Subset Summarized Superset Indexed

Arrayed
91

Data Mart Centric


Data Sources

Data Marts

Data Warehouse

92

Problems with Data Mart Centric Solution

If you end up creating multiple warehouses, integrating them is a problem


93

True Warehouse
Data Sources

Data Warehouse

Data Marts

94

Query Processing

Indexing

Pre computed views/aggregates SQL extensions


95

Indexing Techniques
Exploiting indexes to reduce scanning of data is of crucial importance Bitmap Indexes Join Indexes Other Issues
Text indexing Parallelizing and sequencing of index builds and incremental updates
96

Indexing Techniques
Bitmap index:
A collection of bitmaps -- one for each distinct value of the column Each bitmap has N bits where N is the number of rows in the table A bit corresponding to a value v for a row r is set if and only if r has the value for the indexed attribute

97

BitMap Indexes
An alternative representation of RID-list Specially advantageous for low-cardinality domains Represent each row of a table by a bit and the table as a bit vector There is a distinct bit vector Bv for each value v for the domain Example: the attribute sex has values M and F. A table of 100 million people needs 2 lists of 100 million bits
98

Bitmap Index

M F F M F F

Y Y N N Y N

0 1 1 0 1 1

1 1 0 0 1 0

0 1 0 0 1 0

Customer

Query : select * from customer where 99 gender = F and vote = Y

Bit Map Index


Base Table
Region Index Rating Index

Cust C1 C2 C3 C4 C5 C6 C7

Region Rating N H S M W L W H S L W L N H

Row ID N S E W 1 1 0 0 0 2 0 1 0 0 3 0 0 0 1 4 0 0 0 1 5 0 1 0 0 6 0 0 0 1 7 1 0 0 0

Row ID H M L 1 1 0 0 2 0 1 0 3 0 0 0 4 0 0 0 5 0 1 0 6 0 0 0 7 1 0 0

Customers where

Region = W

And

Rating = M
100

BitMap Indexes
Comparison, join and aggregation operations are reduced to bit arithmetic with dramatic improvement in processing time Significant reduction in space and I/O (30:1) Adapted for higher cardinality domains as well. Compression (e.g., run-length encoding) exploited Products that support bitmaps: Model 204, TargetIndex (Redbrick), IQ (Sybase), Oracle 7.3
101

Join Indexes
Pre-computed joins A join index between a fact table and a dimension table correlates a dimension tuple with the fact tuples that have the same value on the common dimensional attribute
e.g., a join index on city dimension of calls fact table correlates for each city the calls (in the calls table) from that city
102

Join Indexes
Join indexes can also span multiple dimension tables
e.g., a join index on city and time dimension of calls fact table

103

Star Join Processing


Use join indexes to join dimension and fact table
Calls

C+T
Time Location Plan C+T+L C+T+L +P
104

Optimized Star Join Processing

Time Location Plan

Apply Selections Calls

Virtual Cross Product of T, L and P

105

Bitmapped Join Processing

Bitmaps Time Location Plan Calls Calls Calls


1 0 1

0 0 1

AND

1 1 0

106

Intelligent Scan
Piggyback multiple scans of a relation (Redbrick)
piggybacking also done if second scan starts a little while after the first scan

107

Parallel Query Processing


Three forms of parallelism
Independent Pipelined Partitioned and partition and replicate

Deterrents to parallelism
startup communication

108

Parallel Query Processing


Partitioned Data
Parallel scans Yields I/O parallelism

Parallel algorithms for relational operators


Joins, Aggregates, Sort

Parallel Utilities
Load, Archive, Update, Parse, Checkpoint, Recovery

Parallel Query Optimization

109

Pre-computed Aggregates
Keep aggregated data for efficiency (pre-computed queries) Questions
Which aggregates to compute? How to update aggregates? How to use pre-computed aggregates in queries?

110

Pre-computed Aggregates
Aggregated table can be maintained by the
warehouse server middle tier client applications

Pre-computed aggregates -- special case of materialized views -- same questions and issues remain
111

SQL Extensions
Extended family of aggregate functions
rank (top 10 customers) percentile (top 30% of customers) median, mode Object Relational Systems allow addition of new aggregate functions

112

SQL Extensions
Reporting features
running total, cumulative totals

Cube operator
group by on all subsets of a set of attributes (month,city) redundant scan and sorting of data can be avoided

113

Red Brick has Extended set of Aggregates


Select month, dollars, cume(dollars) as run_dollars, weight, cume(weight) as run_weights from sales, market, product, period t where year = 1993 and product like Columbian% and city like San Fr% order by t.perkey

114

RISQL (Red Brick Systems) Extensions


Aggregates
CUME MOVINGAVG MOVINGSUM RANK TERTILE RATIOTOREPORT

Calculating Row Subtotals


BREAK BY

Sophisticated Date Time Support


DATEDIFF

Using SubQueries in calculations

115

Using SubQueries in Calculations


select product, dollars as jun97_sales, (select sum(s1.dollars) from market mi, product pi, period, ti, sales si where pi.product = product.product and ti.year = period.year and mi.city = market.city) as total97_sales, 100 * dollars/ (select sum(s1.dollars) from market mi, product pi, period, ti, sales si where pi.product = product.product and ti.year = period.year and mi.city = market.city) as percent_of_yr from market, product, period, sales where year = 1997 and month = June and city like Ahmed% order by product;

116

Course Overview
The course: what and how 0. Introduction I. Data Warehousing II. Decision Support and OLAP III. Data Mining IV. Looking Ahead

Demos and Labs

117

II. On-Line Analytical Processing (OLAP)

Making Decision Support Possible

Limitations of SQL

A Freshman in Business needs a Ph.D. in SQL

-- Ralph Kimball
119

Typical OLAP Queries


Write a multi-table join to compare sales for each product line YTD this year vs. last year. Repeat the above process to find the top 5 product contributors to margin. Repeat the above process to find the sales of a product line to new vs. existing customers. Repeat the above process to find the customers that have had negative sales growth.

120

What Is OLAP?
Online Analytical Processing - coined by EF Codd in 1994 paper contracted by Arbor Software* Generally synonymous with earlier terms such as Decisions Support, Business Intelligence, Executive Information System OLAP = Multidimensional Database MOLAP: Multidimensional OLAP (Arbor Essbase, Oracle Express) ROLAP: Relational OLAP (Informix MetaCube, Microstrategy DSS Agent)
* Reference: http://www.arborsoft.com/essbase/wht_ppr/coddTOC.html 121

The OLAP Market


Rapid growth in the enterprise market Significant consolidation activity among major DBMS vendors
10/94: Sybase acquires ExpressWay 7/95: Oracle acquires Express 11/95: Informix acquires Metacube 1/97: Arbor partners up with IBM 10/96: Microsoft acquires Panorama 1995: $700 Million 1997: $2.1 Billion

Result: OLAP shifted from small vertical niche to mainstream DBMS category
122

Strengths of OLAP
It is a powerful visualization paradigm It provides fast, interactive response times

It is good for analyzing time series


It can be useful to find some clusters and outliers Many vendors offer OLAP tools
123

OLAP Is FASMI
Fast Analysis Shared Multidimensional Information

Nigel Pendse, Richard Creath - The OLAP Report


124

Multi-dimensional Data
HeyI sold $100M worth of goods
Dimensions: Product, Region, Time Hierarchical summarization paths
W S N Juice Cola Milk Cream Toothpaste Soap 1 2 34 5 6 7

Product

Product Industry

Region Country

Time Year

Category

Region

Quarter

Product

City

Month

Week

Month
Office Day125

Data Cube Lattice


Cube lattice ABC AB AC BC A B C none Can materialize some groupbys, compute others on demand Question: which groupbys to materialze? Question: what indices to create Question: how to organize data (chunks, etc)
126

Visualizing Neighbors is simpler


1 Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar 2 3 4 5 6 7 8
Month Apr Apr Apr Apr Apr Apr Apr Apr May May May May May May May May Jun Jun Store 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 Sales

127

A Visual Operation: Pivot (Rotate)

Juice Cola Milk

10
47 30

Cream 12

Product

3/1 3/2 3/3 3/4

Date

128

Slicing and Dicing


Product

The Telecomm Slice

Household Telecomm

Video
Audio

Europe
Far East India Retail Direct Special

Sales Channel
129

Roll-up and Drill Down


Higher Level of Aggregation

Sales Channel Region Country State Location Address Sales Representative

Low-level Details
130

Nature of OLAP Analysis


Aggregation -- (total sales, percent-to-total) Comparison -- Budget vs. Expenses Ranking -- Top 10, quartile analysis Access to detailed and aggregate data Complex criteria specification Visualization

131

Organizationally Structured Data


Different Departments look at the same detailed data in different ways. Without the detailed, organizationally structured data as a foundation, there is no reconcilability of data
marketing
sales

finance

manufacturing

132

Multidimensional Spreadsheets
Analysts need spreadsheets that support
pivot tables (cross-tabs) drill-down and roll-up slice and dice sort selections derived attributes

Popular in retail domain

133

OLAP - Data Cube Idea: analysts need to group data in many different ways eg. Sales(region, product, prodtype, prodstyle, date, saleamount) saleamount is a measure attribute, rest are dimension attributes groupby every subset of the other attributes materialize (precompute and store) groupbys to give online response Also: hierarchies on attributes: date -> weekday, date -> month -> quarter -> year

134

SQL Extensions
Front-end tools require
Extended Family of Aggregate Functions
rank, median, mode

Reporting Features
running totals, cumulative totals

Results of multiple group by


total sales by month and total sales by product

Data Cube
135

Relational OLAP: 3 Tier DSS


Data Warehouse ROLAP Engine Decision Support Client

Database Layer

Application Logic Layer

Presentation Layer

Store atomic data in industry standard RDBMS.

Generate SQL execution plans in the ROLAP engine to obtain OLAP functionality.

Obtain multidimensional reports from the DSS Client.


136

MD-OLAP: 2 Tier DSS


MDDB Engine MDDB Engine Decision Support Client

Database Layer

Application Logic Layer

Presentation Layer

Store atomic data in a proprietary data structure (MDDB), pre-calculate as many outcomes as possible, obtain OLAP functionality via proprietary algorithms running against this data.

Obtain multidimensional reports from the DSS Client.


137

Typical OLAP Problems


Data Explosion

Number of Aggregations

70000 60000 50000 40000 30000 20000 10000 0 2

Data Explosion Syndrome


65536

16384 16 3 81 4 256 1024 5 6 4096 7 8


138

(4 levels in each dimension)

Number of Dimensions
Microsoft TechEd98

Metadata Repository
Administrative metadata
source databases and their contents gateway descriptions warehouse schema, view & derived data definitions dimensions, hierarchies pre-defined queries and reports data mart locations and contents data partitions data extraction, cleansing, transformation rules, defaults data refresh and purging rules user profiles, user groups security: user authorization, access control
139

Metdata Repository .. 2
Business data
business terms and definitions ownership of data charging policies

operational metadata
data lineage: history of migrated data and sequence of transformations applied currency of data: active, archived, purged monitoring information: warehouse usage statistics, error reports, audit trails.
140

Recipe for a Successful Warehouse

For a Successful Warehouse


From Larry Greenfield, http://pwp.starnetinc.com/larryg/index.html

From day one establish that warehousing is a joint user/builder project Establish that maintaining data quality will be an ONGOING joint user/builder responsibility Train the users one step at a time Consider doing a high level corporate data model in no more than three weeks
142

For a Successful Warehouse


Look closely at the data extracting, cleaning, and loading tools Implement a user accessible automated directory to information stored in the warehouse Determine a plan to test the integrity of the data in the warehouse

From the start get warehouse users in the habit of 'testing' complex queries
143

For a Successful Warehouse


Coordinate system roll-out with network administration personnel When in a bind, ask others who have done the same thing for advice Be on the lookout for small, but strategic, projects Market and sell your data warehousing systems

144

Data Warehouse Pitfalls


You are going to spend much time extracting, cleaning, and loading data Despite best efforts at project management, data warehousing project scope will increase

You are going to find problems with systems feeding the data warehouse
You will find the need to store data not being captured by any existing system You will need to validate data not being validated by transaction processing systems
145

Data Warehouse Pitfalls


Some transaction processing systems feeding the warehousing system will not contain detail Many warehouse end users will be trained and never or seldom apply their training

After end users receive query and report tools, requests for IS written reports may increase
Your warehouse users will develop conflicting business rules Large scale data warehousing can become an exercise in data homogenizing
146

Data Warehouse Pitfalls


'Overhead' can eat up great amounts of disk space The time it takes to load the warehouse will expand to the amount of the time in the available window... and then some Assigning security cannot be done with a transaction processing system mindset You are building a HIGH maintenance system You will fail if you concentrate on resource optimization to the neglect of project, data, and customer management issues and an understanding of what adds value to the customer

147

DW and OLAP Research Issues


Data cleaning
focus on data inconsistencies, not schema differences data mining techniques

Physical Design
design of summary tables, partitions, indexes tradeoffs in use of different indexes

Query processing
selecting appropriate summary tables dynamic optimization with feedback acid test for query optimization: cost estimation, use of transformations, search strategies partitioning query processing between OLAP server and backend server.
148

DW and OLAP Research Issues .. 2


Warehouse Management
detecting runaway queries resource management incremental refresh techniques computing summary tables during load failure recovery during load and refresh process management: scheduling queries, load and refresh Query processing, caching use of workflow technology for process management
149

Products, References, Useful Links

Reporting Tools
Andyne Computing -- GQL Brio -- BrioQuery Business Objects -- Business Objects Cognos -- Impromptu Information Builders Inc. -- Focus for Windows Oracle -- Discoverer2000 Platinum Technology -- SQL*Assist, ProReports PowerSoft -- InfoMaker SAS Institute -- SAS/Assist Software AG -- Esperant Sterling Software -- VISION:Data
151

OLAP and Executive Information Systems


Andyne Computing -- Pablo Microsoft -- Plato

Arbor Software -- Essbase


Cognos -- PowerPlay Comshare -- Commander OLAP Holistic Systems -- Holos Information Advantage -AXSYS, WebOLAP Informix -- Metacube Microstrategies --DSS/Agent

Oracle -- Express
Pilot -- LightShip Planning Sciences -Gentium Platinum Technology -ProdeaBeacon, Forest & Trees SAS Institute -- SAS/EIS, OLAP++ Speedware -- Media
152

Other Warehouse Related Products


Data extract, clean, transform, refresh
CA-Ingres replicator Carleton Passport Prism Warehouse Manager SAS Access Sybase Replication Server Platinum Inforefiner, Infopump
153

Extraction and Transformation Tools


Carleton Corporation -- Passport Evolutionary Technologies Inc. -- Extract Informatica -- OpenBridge

Information Builders Inc. -- EDA Copy Manager


Platinum Technology -- InfoRefiner Prism Solutions -- Prism Warehouse Manager Red Brick Systems -- DecisionScape Formation

154

Scrubbing Tools
Apertus -- Enterprise/Integrator Vality -- IPE Postal Soft

155

Warehouse Products
Computer Associates -- CA-Ingres Hewlett-Packard -- Allbase/SQL Informix -- Informix, Informix XPS Microsoft -- SQL Server Oracle -- Oracle7, Oracle Parallel Server Red Brick -- Red Brick Warehouse SAS Institute -- SAS Software AG -- ADABAS Sybase -- SQL Server, IQ, MPP
156

Warehouse Server Products


Oracle 8 Informix

Sybase

Online Dynamic Server XPS --Extended Parallel Server Universal Server for object relational applications Adaptive Server 11.5 Sybase MPP Sybase IQ
157

Warehouse Server Products


Red Brick Warehouse Tandem Nonstop IBM
DB2 MVS Universal Server DB2 400

Teradata
158

Other Warehouse Related Products


Connectivity to Sources
Apertus Information Builders EDA/SQL Platimum Infohub SAS Connect IBM Data Joiner Oracle Open Connect Informix Express Gateway
159

Other Warehouse Related Products


Query/Reporting Environments
Brio/Query Cognos Impromptu Informix Viewpoint CA Visual Express Business Objects Platinum Forest and Trees

160

4GL's, GUI Builders, and PC Databases


Information Builders -Lotus -Approach Focus

Microsoft -- Access, Visual Basic

MITI -- SQR/Workbench
PowerSoft -PowerBuilder

SAS Institute -- SAS/AF

161

Data Mining Products


DataMind -- neurOagent Information Discovery -- IDIS SAS Institute -- SAS/Neuronets

162

Data Warehouse
W.H. Inmon, Building the Data Warehouse, Second Edition, John Wiley and Sons, 1996 W.H. Inmon, J. D. Welch, Katherine L. Glassey, Managing the Data Warehouse, John Wiley and Sons, 1997 Barry Devlin, Data Warehouse from Architecture to Implementation, Addison Wesley Longman, Inc 1997
163

Data Warehouse
W.H. Inmon, John A. Zachman, Jonathan G. Geiger, Data Stores Data Warehousing and the Zachman Framework, McGraw Hill Series on Data Warehousing and Data Management, 1997 Ralph Kimball, The Data Warehouse Toolkit, John Wiley and Sons, 1996

164

OLAP and DSS


Erik Thomsen, OLAP Solutions, John Wiley and Sons 1997 Microsoft TechEd Transparencies from Microsoft TechEd 98 Essbase Product Literature Oracle Express Product Literature Microsoft Plato Web Site Microstrategy Web Site

165

Data Mining
Michael J.A. Berry and Gordon Linoff, Data Mining Techniques, John Wiley and Sons 1997 Peter Adriaans and Dolf Zantinge, Data Mining, Addison Wesley Longman Ltd. 1996 KDD Conferences

166

Other Tutorials
Donovan Schneider, Data Warehousing Tutorial, Tutorial at International Conference for Management of Data (SIGMOD 1996) and International Conference on Very Large Data Bases 97 Umeshwar Dayal and Surajit Chaudhuri, Data Warehousing Tutorial at International Conference on Very Large Data Bases 1996

Anand Deshpande and S. Seshadri, Tutorial on Datawarehousing and Data Mining, CSI-97
167

Useful URLs
Ralph Kimballs home page
http://www.rkimball.com

Larry Greenfields Data Warehouse Information Center


http://pwp.starnetinc.com/larryg/

Data Warehousing Institute


http://www.dw-institute.com/

OLAP Council
http://www.olapcouncil.com/
168

You might also like