Business Intelligence/ Data warehousing
Lakshmi Prashad PMG
Overview
0. Introduction I. Data Warehousing II. Decision Support and OLAP III. Data Mining
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
4
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]
5
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
6
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]
7
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 8
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
9
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 10
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
11
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
12
Data Warehouse Architecture
Relational Databases Optimized Loader ERP Systems
Extraction Cleansing Data Warehouse Engine Analyze Query
Purchased Data
Legacy Data
Metadata Repository
13
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?
14
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
15
Data Mining works with Warehouse Data
Data Warehousing provides the Enterprise with a memory
Data Mining provides the Enterprise with intelligence
16
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
17
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
18
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
19
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
20
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 21 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!
22
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
23
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
24
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
25
Production ManufactRecord uring
So, whats different?
Application-Orientation vs. Subject-Orientation
Application-Orientation Subject-Orientation
Operational Database
Loans Credit Card Trust Savings Customer
Data Warehouse
Vendor
Product
Activity
27
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
28
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)
29
OLTP vs Data Warehouse
OLTP
Performance Sensitive Few Records accessed at a time (tens) Read/Update Access No data redundancy Database Size 100MB -100 GB
Data Warehouse
Performance relaxed Large volumes accessed at a time(millions) Mostly Read (Batch Update) Redundancy present Database Size 100 GB - few terabytes
30
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
31
To summarize ...
OLTP Systems are used to run a business
The Data Warehouse helps to optimize the business
32
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
33
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
34
I. Data Warehouses: Architecture, Design & Construction
DW Architecture Loading, refreshing Structuring/Modeling DWs and Data Marts
35
Data Warehouse Architecture
Relational Databases
Optimized Loader
ERP Systems
Extraction Cleansing Data Warehouse Engine Analyze Query
Purchased Data
Legacy Data
Metadata Repository
36
Components of the Warehouse
Data Extraction and Loading The Warehouse Analyze and Query -- OLAP Tools Metadata Data Mining tools
37
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
39
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
40
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...
41
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
42
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
43
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
44
Data Transformation Terms
Extracting Conditioning Scrubbing Merging Householding
Enrichment Scoring Loading Validating Delta Updating
45
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
46
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.
47
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
48
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
49
Refresh
Propagate updates on source data to the warehouse Issues:
when to refresh how to refresh -- refresh techniques
50
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
51
Refresh Techniques
Full Extract from base tables
read entire source table: too expensive maybe the only choice for legacy systems
52
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
53
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
54
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
55
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
56
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
57
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
58
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
59
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
60
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
61
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.
62
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
63
Star Schema
A single fact table and for each dimension one dimension table Does not capture hierarchies directly
T i
date, custno, prodno, cityname, ...
c u s t
f a c t
p r o d c i t y
64
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 65 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
66
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
67
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
69
Data Warehouse and Data Marts
OLAP Data Mart Lightly summarized Departmentally structured
Organizationally structured Atomic Detailed Data Warehouse Data
70
Characteristics of the Departmental Data Mart
OLAP Small Flexible Customized by Department Source is departmentally structured data warehouse
71
Techniques for Creating Departmental Data Mart
OLAP
Sales Finance Mktg.
Subset Summarized Superset Indexed Arrayed
72
Data Mart Centric
Data Sources
Data Marts
Data Warehouse
73
Problems with Data Mart Centric Solution
If you end up creating multiple warehouses, integrating them is a problem
74
True Warehouse
Data Sources
Data Warehouse
Data Marts
75
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
77
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.
78
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 79
The OLAP Market
Rapid growth in the enterprise market
1995: $700 Million 1997: $2.1 Billion
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
Result: OLAP shifted from small vertical niche to mainstream DBMS category
80
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
81
OLAP Is FASMI
Fast Analysis Shared Multidimensional Information
Nigel Pendse, Richard Creath - The OLAP Report
82
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
83
Month
Office Day
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)
84
Visualizing Neighbors is simpler
1 Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar 2 3 4 5 6 7 8
M o n th Apr Apr Apr Apr Apr Apr Apr Apr M ay M ay M ay M ay M ay M ay M ay M ay Ju n Ju n S to re 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 S a le s
85
A Visual Operation: Pivot (Rotate)
Juice
Cola Milk
10 Region Product 47 30
Cream 12
3/1 3/2 3/3 3/4
Date
86
Slicing and Dicing
Product The Telecomm Slice
Household Telecomm Video Europe Far East India Retail Direct Special
Audio
Sales Channel
87
Roll-up and Drill Down
Higher Level of Aggregation
Sales Channel Region Country State Location Address Sales Representative
Low-level Details
88
Drill-Down
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
89
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
90
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
91
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.
92
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.
93
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
95
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
96
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
97
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
98
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
99
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 100
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/
101