CS2202 DataWarehouse OLAP
CS2202 DataWarehouse OLAP
CS2202
1
What is a Data Warehouse?
• Defined in many different ways, but not rigorously.
– A decision support database that is maintained separately from the
organization’s operational database
– Support information processing by providing a solid platform of consolidated,
historical data for analysis.
• “A data warehouse is a subject-oriented, integrated, time-variant, and nonvolatile
collection of data in support of management’s decision-making process.”—W. H.
Inmon
• Data warehousing:
– The process of constructing and using data warehouses
Source: Data Mining Concepts and Techniques by Han, Kamber and Pei
2
Data Warehouse—Subject-Oriented
• Organized around major subjects, such as customer, product, sales
• Focusing on the modeling and analysis of data for decision makers, not on daily
operations or transaction processing
• Provide a simple and concise view around particular subject issues by excluding
data that are not useful in the decision support process
3
Data Warehouse—Integrated
• Constructed by integrating multiple, heterogeneous data sources
– relational databases, flat files, on-line transaction records
• Data cleaning and data integration techniques are applied.
– Ensure consistency in naming conventions, encoding structures, attribute
measures, etc. among different data sources
• E.g., Hotel price: currency, tax, breakfast covered, etc.
– When data is moved to the warehouse, it is converted.
4
Data Warehouse—Time Variant
• The time horizon for the data warehouse is significantly longer than that of
operational systems
– Operational database: current value data
– Data warehouse data: provide information from a historical perspective (e.g.,
past 5-10 years)
• Every key structure in the data warehouse
– Contains an element of time, explicitly or implicitly
– But the key of operational data may or may not contain “time element”
5
Data Warehouse—Nonvolatile
• A physically separate store of data transformed from the operational environment
• Operational update of data does not occur in the data warehouse environment
– Does not require transaction processing, recovery, and concurrency control
mechanisms
– Requires only two operations in data accessing:
• initial loading of data and access of data
6
Data Warehouse
• Data Generalization & Consolidation – Data warehouses organize and summarize
data in a multidimensional space for better analysis.
• Preprocessing Steps – The construction of data warehouses involves:
– Data Cleaning (removing inconsistencies and errors),
– Data Integration (merging data from multiple sources), and
– Data Transformation (converting data into a suitable format).
7
• Role in Data Mining – Data warehouses act as a preprocessing step for data mining
by preparing structured and clean data
• OLAP Support – Data warehouses provide Online Analytical Processing (OLAP)
tools for interactive and efficient analysis.
• Multidimensional Analysis – OLAP tools help analyze data across multiple
dimensions and granularities, enhancing data generalization and mining.
8
Key points
• Separate from Operational Databases – A data warehouse is maintained
independently from an organization’s day-to-day transactional databases.
• Integration of Multiple Systems – It allows the combination of data from different
application systems.
• Supports Information Processing – Provides a structured platform for analyzing
business data.
• Historical Data Storage – Stores consolidated historic data for long-term analysis
and decision-making.
9
OLTP and OLAP
• OLTP Systems (Online Transaction Processing) – Handle real-time transactions and
queries for daily business operations.
• Common OLTP Applications – Used in purchasing, inventory, manufacturing,
banking, payroll, registration, and accounting.
• OLAP Systems (Online Analytical Processing) – Designed for data analysis and
decision-making, assisting knowledge workers.
• Data Organization & Presentation – OLAP systems organize and present data in
different formats to meet diverse user needs.
10
OLTP vs. OLAP
11
Why a Separate Data Warehouse?
• High performance for both systems
– DBMS— tuned for OLTP: access methods, indexing, concurrency control, recovery
– Warehouse—tuned for OLAP: complex OLAP queries, multidimensional view,
consolidation
• Different functions and different data:
– missing data: Decision support requires historical data which operational DBs do not
typically maintain
– data consolidation: DS requires consolidation (aggregation, summarization) of data from
heterogeneous sources
– data quality: different sources typically use inconsistent data representations, codes and
formats which have to be reconciled
• Note: There are more and more systems which perform OLAP analysis directly on relational
databases
12
A three tier data
warehousing
architecture
13
Bottom Tier
• The bottom tier consists of a warehouse database server, typically a relational
database system.
• Data Feeding Process – Back-end tools and utilities extract, clean, transform, load,
and refresh data from operational databases and external sources.
• Data Extraction Using Gateways – Gateways act as interfaces for extracting data
using SQL queries. Examples include:
– ODBC (Open Database Connection)
– OLEDB (Object Linking and Embedding Database)
– JDBC (Java Database Connection)
• Metadata Repository – Stores information about the data warehouse and its
contents for management and query optimization.
14
Middle Tier
• Middle Tier in Data Warehouse Architecture – Functions as an OLAP (Online
Analytical Processing) server for data analysis.
• Types of OLAP Implementations:
– ROLAP (Relational OLAP) – Uses an extended relational database to map
multidimensional data to relational operations.
– MOLAP (Multidimensional OLAP) – Uses a specialized server that directly
handles multidimensional data and operations.
15
Top Tier
• Top Tier in Data Warehouse Architecture – Serves as the front-end client layer for
user interaction.
• Contains Various Tools:
– Query and Reporting Tools – For generating reports and retrieving data.
– Analysis Tools – Used for data exploration and visualization.
– Data Mining Tools – Perform advanced functions like trend analysis and
prediction.
16
Three Data Warehouse Models
• Enterprise warehouse
– collects all of the information about subjects spanning the entire organization
• Data Mart
– a subset of corporate-wide data that is of value to a specific groups of users. Its
scope is confined to specific, selected groups, such as marketing data mart
• Independent vs. dependent (directly from warehouse) data mart
• Virtual warehouse
– A set of views over operational databases
– Only some of the possible summary views may be materialized
17
Extraction, Transformation, and Loading (ETL)
• Data extraction
– get data from multiple, heterogeneous, and external sources
• Data cleaning
– detect errors in the data and rectify them when possible
• Data transformation
– convert data from legacy or host format to warehouse format
• Load
– sort, summarize, consolidate, compute views, check integrity, and build indices
and partitions
• Refresh
– propagate the updates from the data sources to the warehouse
18
Metadata Repository
• Meta data is the data defining warehouse objects. It stores:
• Description of the structure of the data warehouse
– schema, view, dimensions, hierarchies, derived data definition, data mart locations and
contents
• Operational meta-data
– data lineage (history of migrated data and transformation path), currency of data (active,
archived, or purged), monitoring information (warehouse usage statistics, error reports,
audit trails)
• The algorithms used for summarization
• The mapping from operational environment to the data warehouse
• Data related to system performance
– warehouse schema, view and derived data definitions
• Business data
– business terms and definitions, ownership of data, charging policies 19
2D view of sales data according to time and item
20
3D view of sales data according to time, item and location
21
3-D data cube representation of the
data according to time, item and
location.
The measure displayed is dollars_sold
(in thousands)
22
A 4-D data cube representation of sales data, according to time, item,
location and supplier
23
From Tables and Spreadsheets to Data Cubes
• A data warehouse is based on a multidimensional data model which views data in the
form of a data cube
• A data cube, such as sales, allows data to be modeled and viewed in multiple dimensions
– Dimension tables, such as item (item_name, brand, type), or time(day, week,
month, quarter, year)
– Fact table contains measures (such as dollars_sold) and keys to each of the related
dimension tables
• In data warehousing literature, an n-D base cube is called a base cuboid. The top most 0-
D cuboid, which holds the highest-level of summarization, is called the apex cuboid. The
lattice of cuboids forms a data cube.
24
Cube: A Lattice of Cuboids
all
0-D (apex) cuboid
time location supplier
item
1-D cuboids
location,supplier
time,location item,location
time,supplier 2-D cuboids
item,supplier
time,item
3-D cuboids
time,item, time,location, item,location,
time,item,
supplier supplier supplier
location 4-D (base) cuboid
time, item, location, supplier
25
Conceptual Modeling of Data Warehouses
• Modeling data warehouses: dimensions & measures
– Star schema: A fact table in the middle connected to a set of dimension tables
– Snowflake schema: A refinement of star schema where some dimensional
hierarchy is normalized into a set of smaller dimension tables, forming a shape
similar to snowflake
– Fact constellations: Multiple fact tables share dimension tables, viewed as a
collection of stars, therefore called galaxy schema or fact constellation
26
Example of Star Schema
time item
time_key item_key
day item_name
day_of_the_week Sales Fact Table
brand
month time_key type
quarter item_key supplier_type
year branch_key
location_key location
branch
location_key
branch_key units_sold street
branch_name dollars_sold city
branch_type
avg_sales state_or_province
Measures country
27
Example of Snowflake Schema
time
time_key item
supplier
day item_key
day_of_the_week Sales Fact Table item_name supplier_key
month time_key brand supplier_type
quarter item_key type
year supplier_key
branch_key
branch location_key location
branch_key location_key
units_sold
branch_name street city
dollars_sold city_key
branch_type city_key
avg_sales city
Measures state_or_province
country 28
Example of Fact Constellation
time
time_key item Shipping Fact Table
day item_key
day_of_the_week Sales Fact Table item_name time_key
month time_key brand item_key
quarter type shipper_key
year item_key supplier_type
branch_key from_location
branch location_key location to_location
branch_key location_key dollars_cost
units_sold
branch_name street
dollars_sold units_shipped
branch_type city
avg_sales province_or_state shipper
Measures country shipper_key
shipper_name
29
location_key
Also known as Galaxy schema shipper_type
A Concept Hierarchy: Dimension (location)
all all
30
Data Cube Measures: Three Categories
• Distributive: if the result derived by applying the function to n aggregate values is the
same as that derived by applying the function on all the data without partitioning
• E.g., count(), sum(), min(), max()
• Algebraic: if it can be computed by an algebraic function with M arguments (where M
is a bounded integer), each of which is obtained by applying a distributive aggregate
function
• E.g., avg(), min_N(), standard_deviation()
• Holistic: if there is no constant bound on the storage size needed to describe a
subaggregate. There does not exist an algebraic function with M arguments that
characterizes the computation.
• E.g., median(), mode(), rank()
31
Multidimensional Data
• Sales volume as a function of product, month, and region
Office Day
Month
32
A Sample Data Cube
Total annual sales
Date
of TVs in U.S.A.
2Qtr
TV 1Qtr 3Qtr 4Qtr sum
PC U.S.A
VCR
sum
Country
Canada
Mexico
sum
33
Cuboids Corresponding to the Cube
all
0-D (apex) cuboid
product date country
1-D cuboids
product,date product,country date, country
2-D cuboids
34
Typical OLAP Operations
• Roll up (drill-up): summarize data
– by climbing up hierarchy or by dimension reduction
• Drill down (roll down): reverse of roll-up
– from higher level summary to lower level summary or detailed data, or introducing
new dimensions
• Slice and dice: project and select
• Pivot (rotate):
– reorient the cube, visualization, 3D to series of 2D planes
• Other operations
– drill across: involving (across) more than one fact table
– drill through: through the bottom level of the cube to its back-end relational tables
(using SQL)
35
Typical OLAP
Operations
36
A Star-Net Query Model
Each line represents a concept
hierarchy for each dimension
Each circle or abstraction level in the
hierarchy is called a footprint
Represent the granularities available
for use by OLAP operations such as
drill-down and roll-up
37
Browsing a Data Cube
• Visualization
• OLAP capabilities
• Interactive manipulation
38
Design of Data Warehouse: A Business Analysis
Framework
• Four views regarding the design of a data warehouse
– Top-down view
• allows selection of the relevant information necessary for the data warehouse
– Data source view
• exposes the information being captured, stored, and managed by operational
systems
– Data warehouse view
• consists of fact tables and dimension tables
– Business query view
• sees the perspectives of data in the warehouse from the view of end-user
39
Data Warehouse Design Process
• Top-down, bottom-up approaches or a combination of both
– Top-down: Starts with overall design and planning (mature)
– Bottom-up: Starts with experiments and prototypes (early stage)
• From software engineering point of view
– Waterfall: structured and systematic analysis at each step before proceeding to the
next
– Spiral: rapid generation of increasingly functional systems, short turn around time,
quick turn around
• Typical data warehouse design process
– Choose a business process to model, e.g., orders, invoices, etc.
– Choose the grain (atomic level of data) of the business process
– Choose the dimensions that will apply to each fact table record
– Choose the measure that will populate each fact table record
40
Data Warehouse Development: A
Recommended Approach
Multi-Tier Data
Warehouse
Distributed Data
Marts
43
Efficient Data Cube Computation
44
The “Compute Cube” Operator
• Cube definition and computation in DMQL
define cube sales [item, city, year]: sum (sales_in_dollars)
compute cube sales
• Transform it into a SQL-like language (with a new operator cube by, introduced by Gray
et al.’96)
()
SELECT item, city, year, SUM (amount)
FROM SALES (city) (item) (year)
CUBE BY item, city, year
• Need compute the following Group-Bys
(city, item) (city, year) (item, year)
(city, item, year),
(city,item),(city, year), (item, year),
(city), (item), (year) (city, item, year)
() 45
Indexing OLAP Data: Bitmap Index
• Index on a particular column
• Each value in the column has a bit vector: bit-op is fast
• The length of the bit vector: # of records in the base table
• The i-th bit is set if the i-th row of the base table has the value for the indexed
column
• not suitable for high cardinality domains
48
OLAP Server Architectures
• Relational OLAP (ROLAP)
– Use relational or extended-relational DBMS to store and manage warehouse data
and OLAP middle ware
– Include optimization of DBMS backend, implementation of aggregation navigation
logic, and additional tools and services
– Greater scalability
• Multidimensional OLAP (MOLAP)
– Sparse array-based multidimensional storage engine
– Fast indexing to pre-computed summarized data
• Hybrid OLAP (HOLAP) (e.g., Microsoft SQLServer)
– Flexibility, e.g., low level: relational, high-level: array
• Specialized SQL servers (e.g., Redbricks)
– Specialized support for SQL queries over star/snowflake schemas
49