560 likes | 670 Views
Chapter 16. Data Warehouse Technology and Management. Outline. Basic concepts and characteristics Business architectures and applications Data cube concepts and operators Relational DBMS features Maintaining a data warehouse. Comparison of Environments. Transaction processing
E N D
Chapter 16 Data Warehouse Technology and Management
Outline • Basic concepts and characteristics • Business architectures and applications • Data cube concepts and operators • Relational DBMS features • Maintaining a data warehouse
Comparison of Environments • Transaction processing • Uses operational databases • Short-term decisions: fulfill orders, resolve complaints, provide staffing • Decision support processing • Uses integrated and summarized data • Medium and long-term decisions: capacity planning, store locations, new lines of business
Definition and Characteristics • A central repository for summarized and integrated data from operational databases and external data sources • Key Characteristics • Subject-oriented • Integrated • Time-variant • Nonvolatile
Architectures and Applications • Data warehouse projects • Top-down architectures • Bottom-up architecture • Applications and data mining
Data Warehouse Projects • Large efforts with much coordination across departments • Enterprise data model • Important artifact of data warehouse project • Structure of data model • Meta data for data transformation • Top-down vs. bottom-up business architectures
Maturity Model • Guidance for investment decisions • Stages provide a framework to view an organization’s progress • Insights: difficulty moving between stages • Infant to child stages because of investment level • Teenager to adult because of strategic importance of data warehouse
Data Mining • Discover significant, implicit patterns • Target promotions • Change mix and collocation of items • Requires large volumes of transaction data • Important application for data warehouses
Data Cube Concepts and Operators • Basics • Dimension and measure details • Operators
Data Cube Basics • Multidimensional arrangement of data • Users think about decision support data as data cubes • Terminology • Dimension: subject label for a row or column • Member: value of dimension • Measure: quantitative data stored in cells
Dimensions and Measures • Dimensions • Hierarchies: members can have sub members • Sparsity: many cells do not have data • Measures • Derived measures • Multiple measures in cells
Time Series Data • Common data type in trend analysis • Reduce dimensionality using time series • Time series properties • Data type • Start date • Calendar • Periodicity • Conversion
Slice Operator • Focus on a subset of dimensions • Set dimension to specific value: 1/1/2006
Dice Operator • Focus on a subset of member values • Replace dimension with a subset of values • Dice operation often follows a slice operation
Other Operators • Operators for hierarchical dimensions • Drill-down: add detail to a dimension • Roll-up: remove detail from a dimension • Recalculate measure values • Pivot: rearrange dimensions
Relational DBMS Support • Data modeling • Dimension representation • GROUP BY extensions • Materialized views and query rewriting • Storage structures and optimization
Relational Data Modeling • Dimension table: contains member values • Fact table: contains measure values • 1-M relationships from dimension to fact tables • Grain: most detailed measure values stored
Handling M-N Relationships • Source data may have M-N relationships, not 1-M relationships • Adjust fact or dimension tables for a fixed number of exceptions • More complex solutions to support M-N relationships with a variable number of connections
Time Representation • Timestamp • Time dimension table for organization specific calendar features • Two fact tables for international operations • Accumulating fact table for representation of multiple events
Level of Historical Integrity • Primarily an issue for dimension updates • Type I: overwrite old values • Type II: version numbers for an unlimited history • Type III: new columns for a limited history
Dimension Representation • Star schema and variations lack dimension representation • Explicit dimension representation important to data cube operations and optimization • Proprietary extensions for dimension representation • Represent levels, hierarchies, and constraints
Oracle Dimension Representation • Levels: dimension components • Hierarchies: may have multiple hierarchies • Constraints: functional dependency relationships
CREATE DIMENSION Example CREATE DIMENSION StoreDim LEVEL StoreId IS Store.StoreId LEVEL City IS Store.StoreCity LEVEL State IS Store.StoreState LEVEL Zip IS Store.StoreZip LEVEL Nation IS Store.StoreNation LEVEL DivId IS Division.DivId HIERARCHY CityRollup ( StoreId CHILD OF City CHILD OF State CHILD OF Nation ) HIERARCHY ZipRollup ( StoreId CHILD OF Zip CHILD OF State CHILD OF Nation ) HIERARCHY DivisionRollup ( StoreId CHILD OF DivId JOIN KEY Store.DivId REFERENCES DivId ) ATTRIBUTE DivId DETERMINES Division.DivName ATTRIBUTE DivId DETERMINES Division.DivManager ;
GROUP BY Extensions • ROLLUP operator • CUBE operator • GROUPING SETS operator • Other extensions • Ranking • Ratios • Moving summary values
CUBE Example SELECT StoreZip, TimeMonth, SUM(SalesDollar) AS SumSales FROM Sales, Store, Time WHERE Sales.StoreId = Store.StoreId AND Sales.TimeNo = Time.TimeNo AND (StoreNation = 'USA' OR StoreNation = 'Canada') AND TimeYear = 2005 GROUP BY CUBE (StoreZip, TimeMonth)
ROLLUP Example SELECT TimeMonth, TimeYear, SUM(SalesDollar) AS SumSales FROM Sales, Store, Time WHERE Sales.StoreId = Store.StoreId AND Sales.TimeNo = Time.TimeNo AND (StoreNation = 'USA' OR StoreNation = 'Canada') AND TimeYear BETWEEN 2005 AND 2006 GROUP BY ROLLUP (TimeMonth,TimeYear);
GROUPING SETS Example SELECT StoreZip, TimeMonth, SUM(SalesDollar) AS SumSales FROM Sales, Store, Time WHERE Sales.StoreId = Store.StoreId AND Sales.TimeNo = Time.TimeNo AND (StoreNation = 'USA' OR StoreNation = 'Canada') AND TimeYear = 2005 GROUP BY GROUPING SETS((StoreZip, TimeMonth), StoreZip, TimeMonth, ());
Variations of the Grouping Operators • Partial cube • Partial rollup • Composite columns • CUBE and ROLLUP inside a GROUPIING SETS operation
Materialized Views • Stored view • Periodically refreshed with source data • Usually contain summary data • Fast query response for summary data • Appropriate in query dominant environments
Materialized View Example CREATE MATERIALIZED VIEW MV1 BUILD IMMEDIATE REFRESH COMPLETE ON DEMAND ENABLE QUERY REWRITE AS SELECT StoreState, TimeYear, SUM(SalesDollar) AS SUMDollar1 FROM Sales, Store, Time WHERE Sales.StoreId = Store.StoreId AND Sales.TimeNo = Time.TimeNo AND TimeYear > 2003 GROUP BY StoreState, TimeYear;
Query Rewriting • Substitution process • Materialized view replaces references to fact and dimension tables in a query • Query optimizer must evaluate whether the substitution will improve performance over the original query • More complex than query modification process for traditional views
Query Rewriting Matching • Row conditions: query conditions at least as restrictive as MV conditions • Grouping detail: query grouping columns at least as general as MV grouping columns • Grouping dependencies: query columns must match or be derivable by functional dependencies • Aggregate functions: query aggregate functions must match or be derivable from MV aggregate functions
Query Rewriting Example -- Data warehouse query SELECT StoreState, TimeYear, SUM(SalesDollar) FROM Sales, Store, Time WHERE Sales.StoreId = Store.StoreId AND Sales.TimeNo = Time.TimeNo AND StoreNation IN ('USA','Canada') AND TimeYear = 2005 GROUP BY StoreState, TimeYear; -- Query Rewrite: replace Sales and Time tables with MV1 SELECT DISTINCT MV1.StoreState, TimeYear, SumDollar1 FROM MV1, Store WHERE MV1.StoreState = Store.StoreState AND TimeYear = 2005 AND StoreNation IN ('USA','Canada');
Storage and Optimization Technologies • MOLAP: direct storage and manipulation of data cubes • ROLAP: relational extensions to support multidimensional data • HOLAP: combine MOLAP and ROLAP storage engines
ROLAP Techniques • Bitmap join indexes • Star join optimization • Query rewriting • Summary storage advisors • Parallel query execution
Maintaining a Data Warehouse • Data sources • Workflow representation • Optimizing the refresh process
Data Sources • Cooperative: • Notification using triggers • Requires source system changes • Logged • Readily available • Extraneous data in logs • Queryable • Queries using timestamps • Requires timestamps in source data • Snapshot • Periodic dumps of source data • Significant processing for difference operations