Introduction To Data Warehousing
Introduction To Data Warehousing
Introduction To Data Warehousing
Data Warehouse
Maintain historic data Analysis to get better understanding of business Better Decision making Definition: 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
Subject Oriented
Data warehouse is organized around subjects such as sales, product, customer. It focuses on modeling and analysis of data for decision makers. Excludes data not useful in decision support process.
Integrated
Data Warehouse is constructed by integrating multiple heterogeneous sources. Data Preprocessing are applied to ensure consistency.
RDBMS
Data Processing Data Transformation
Legacy System Data Warehouse Data Processing Data Transformation
Flat File
Non-volatile
Mostly, data once recorded will not be updated. Data warehouse requires two operations in data accessing - Incremental loading of data - Access of data
load
access
Time Variant
Provides information from historical perspective e.g. past 510 years Every key structure contains either implicitly or explicitly an element of time
Problem Statement: ABC Pvt Ltd is a company with branches at Mumbai, Delhi, Chennai and Bangalore. The Sales Manager wants quarterly sales report across the branches. Each branch has a separate operational system where sales transactions are recorded.
Delhi
Get quarterly sales figure for each branch and manually calculate sales figure across branches.
Sales Manager
Chennai
Banglore
Solution: Extract sales information from each database. Store the information in a common repository at a single site.
Delhi
Data Warehouse Chennai
Sales Manager
Banglore
Relational / Multidimensional database Query and Analysis rather than transaction Historical data from transactions Consolidates Multiple data sources Separates query load from transactions Mostly non volatile Large amount of data in order of TBs
Flat Files
Data Mining
Flat Files
Reporting
ETL
ETL stands for Extract, Transform and Load
Data is distributed across different sources Flat files, Streaming Data, DB Systems, XML, JSON Data can be in different format CSV, Key Value Pairs Different units and representation Country: IN or India Date: 20 Nov 2010 or 20101020
ETL Functions
Extract Collect data from different sources Parse data Remove unwanted data Transform Project Generate Surrogate keys Encode data Join data from different sources Aggregate Load
ETL Steps
The first step in ETL process is mapping the data between source systems and target database. The second step is cleansing of source data in staging area. The third step is transforming cleansed source data. Fourth step is loading into the target system.
ETL Glossary
Mapping: Defining relationship between source and target objects. Cleansing: The process of resolving inconsistencies in source data. Transformation: The process of manipulating data. Any manipulation beyond copying is a transformation. Examples include aggregating, and integrating data from multiple sources. Staging Area: A place where data is processed before entering the warehouse.
Dimension
Categorizes the data. For example - time, location, etc. A dimension can have one or more attributes. For example - day, week and month are attributes of time dimension. Role of dimensions in data warehousing. - Slice and dice - Filter by dimensions
Types of dimensions
Conformed Dimension - A dimension that is shared across fact tables. Junk Dimension - A junk dimension is a convenient grouping of flags and indicators. For example, payment method, shipping method. De-generated Dimension - A dimension key, that has no attributes and hence does not have its own dimension table. For example, transaction number, invoice number. Value of these dimension is mostly unique within a fact table. Role Playing Dimensions - Role Playing dimension refers to a dimension that play different roles in fact tables depending on the context. For example, the Date dimension can be used for the ordered date, shipment date, and invoice date. Slowly Changing Dimensions - Dimensions that have data
Type1 - The Type 1 methodology overwrites old data with new data, and therefore does not track historical data at all. Type 2 - The Type 2 method tracks historical data by creating multiple records for a given value in dimension table with separate surrogate keys. Type 3 - The Type 3 method tracks changes using separate columns. Whereas Type 2 had unlimited history preservation, Type 3 has limited history preservation, as it's limited to the number of columns we designate for storing historical data. Type 4 - The Type 4 method is usually referred to as using "history tables", where one table keeps the current data, and an additional table is used to keep a record of all changes. Type 1, 2 and 3 are commonly used.
Facts
Facts are values that can be examined and analyzed. For Example - Page Views, Unique Users, Pieces Sold, Profit. Fact and measure are synonymous. Types of facts: Additive - Measures that can be added across all dimensions. Non Additive - Measures that cannot be added across all dimensions. Semi Additive - Measures that can be added across few dimensions and not with others.
Dimension Table
Contains attributes of dimensions e.g. Month is an attribute of Time dimension. Can also have foreign keys to another dimension table Usually identified by a unique integer primary key called surrogate key
Fact Table
Contains Facts Foreign keys to dimension tables Primary Key: usually composite key of all FKs
Star Schema
Multi-dimensional Data Dimension and Fact Tables A fact table with pointers to Dimension tables
Star Schema
Snowflake Schema
An extension of star schema in which the dimension tables are partly or fully normalized. Dimension table hierarchies broken down into simpler tables.
Snowflake Schema
A fact constellation schema allows dimension tables to be shared between fact tables. This Schema is used mainly for the aggregate fact tables, OR where we want to split a fact table for better comprehension. For example, a separate fact table for daily, weekly and monthly reporting requirement.
In this example, the dimensions tables for time, item, and location are shared between both the sales and shipping fact tables.
Drill Down
Product Category e.g Home Appliances Sub Category e.g Kitchen Appliances Product e.g Toaster
Time
Roll Up
Year Fiscal Year
Quarter
Fiscal Quarter
Month
Fiscal Month
Fiscal Week
Day
Time Time
Pivoting
Product Product
Time
Region
One consistent data store for reporting, forecasting, and analysis Easier and timely access to data Scalability Trend analysis and detection Drill down analysis
ABC Pvt Ltd is a new company which produces bakery products with production unit located at Mumbai. They have sales units at Mumbai, Pune. The President of the company wants sales information.
Sales Information
Report: The number of units sold.
113
Report : The number of items sold for each product with time Jan Feb Mar Apr Wheat Bread Cheese Swiss Rolls 6 8 16 25 6 6 21
Product
17 8
Sales Information
Report: The number of items sold in each City for each product with time Jan Mumbai Wheat Bread Cheese Swiss Rolls Pune Wheat Bread Cheese Swiss Rolls 3 4 9 15 3 4 16 16 Feb Mar 3 6 6 3 7 8
Time
Apr 10
Product
2
2
589
1218
1
1
3
4
589
16
City_ID 1 2
Product_Category_ID 1 1 2
Product Category
Sales Fact
Region
Thank You