In this blog, 25.000 books will be uploaded, so far more than 1400 books are available. Books, will be added daily, please check this blog daily.
Saturday, January 28, 2012
Data Modeling Techniques for Data Warehousing
Contents
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
The Team That Wrote This Redbook . . . . . . . . . . . . . . . . . . . . . . . . xiii
Comments Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
Chapter 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Who Should Read This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Structure of This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Chapter 2. Data Warehousing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 A Solution, Not a Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Why Data Warehousing? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Short History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Chapter 3. Data Analysis Techniques . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1 Query and Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Multidimensional Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4 Imprtance to Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Chapter 4. Data Warehousing Architecture and Implementation Choices . . . 15
4.1 Architecture Choices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1.1 Global Warehouse Architecture . . . . . . . . . . . . . . . . . . . . . . . 15
4.1.2 Independent Data Mart Architecture . . . . . . . . . . . . . . . . . . . . 17
4.1.3 Interconnected Data Mart Architecture . . . . . . . . . . . . . . . . . . 18
4.2 Implementation Choices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2.1 Top Down Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2.2 Bottom Up Implementation . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.3 A Combined Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Chapter 5. Architecting the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1 Structuring the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1.1 Real-Time Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.1.2 Derived Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.1.3 Reconciled Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2 Enterprise Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2.1 Phased Enterprise Data Modeling . . . . . . . . . . . . . . . . . . . . . 25
5.2.2 A Simple Enterprise Data Model . . . . . . . . . . . . . . . . . . . . . . 26
5.2.3 The Benefits of EDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.3 Data Granularity Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3.1 Granularity of Data in the Data Warehouse . . . . . . . . . . . . . . . . 28
5.3.2 Multigranularity Modeling in the Corporate Environment . . . . . . . 30
5.4 Logical Data Partitioning Model . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.4.1 Partitioning the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.4.1.1 The Goals of Partitioning . . . . . . . . . . . . . . . . . . . . . . . . 31
5.4.1.2 The Criteria of Partitioning . . . . . . . . . . . . . . . . . . . . . . . 31
5.4.2 Subject Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Chapter 6. Data Modeling for a Data Warehouse . . . . . . . . . . . . . . . . . 35
6.1 Why Data Modeling Is Imprtant . . . . . . . . . . . . . . . . . . . . . . . . . 35
Visualization of the business world . . . . . . . . . . . . . . . . . . . . . 35
The essence of the data warehouse architecture . . . . . . . . . . . . 36
Different approaches of data modeling . . . . . . . . . . . . . . . . . . . 36
6.2 Data Modeling Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.3 ER Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3.1 Basic Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3.1.1 Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3.1.2 Relationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.3.1.3 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.3.1.4 Other Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.3.2 Advanced Topics in ER Modeling . . . . . . . . . . . . . . . . . . . . . . 39
6.3.2.1 Supertype and Subtype . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.3.2.2 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.3.2.3 Derived Attributes and Derivation Functions . . . . . . . . . . . . 41
6.4 Dimensional Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.4.1 Basic Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.4.1.1 Fact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.4.1.2 Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Dimension Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Dimension Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.4.1.3 Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.4.2 Visualization of a Dimensional Model . . . . . . . . . . . . . . . . . . . 43
6.4.3 Basic Operations for OLAP . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.4.3.1 Drill Down and Roll Up . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.4.3.2 Slice and Dice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.4.4 Star and Snowflake Models . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.4.4.1 Star Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.4.4.2 Snowflake Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.4.5 Data Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.5 ER Modeling and Dimensional Modeling . . . . . . . . . . . . . . . . . . . . 47
Chapter 7. The Process of Data Warehousing . . . . . . . . . . . . . . . . . . . 49
7.1 Manage the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.2 Define the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.3 Requirements Gathering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.3.1 Source-Driven Requirements Gathering . . . . . . . . . . . . . . . . . . 52
7.3.2 User-Driven Requirements Gathering . . . . . . . . . . . . . . . . . . . 53
7.3.3 The CelDial Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.4 Modeling the Data Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.4.1 Creating an ER Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.4.2 Creating a Dimensional Model . . . . . . . . . . . . . . . . . . . . . . . 55
7.4.2.1 Dimensions and Measures . . . . . . . . . . . . . . . . . . . . . . . 55
7.4.2.2 Adding a Time Dimension . . . . . . . . . . . . . . . . . . . . . . . 57
7.4.2.3 Creating Facts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.4.2.4 Granularity, Additivity, and Merging Facts . . . . . . . . . . . . . . 58
Granularity and Additivity . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Fact Consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.4.2.5 Integration with Existing Models . . . . . . . . . . . . . . . . . . . . 64
7.4.2.6 Sizing Your Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.4.3 Don′t Forget the Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . 66
7.4.4 Validating the Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.5 Design the Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.5.1 Data Warehouse Design versus Operational Design . . . . . . . . . . 69
7.5.2 Identifying the Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.5.3 Cleaning the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.5.4 Transforming the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.5.4.1 Capturing the Source Data . . . . . . . . . . . . . . . . . . . . . . . 73
7.5.4.2 Generating Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.5.4.3 Getting from Source to Target . . . . . . . . . . . . . . . . . . . . . 74
7.5.5 Designing Subsidiary Targets . . . . . . . . . . . . . . . . . . . . . . . . 76
7.5.6 Validating the Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.5.7 What About Data Mining? . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.5.7.1 Data Scoping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.5.7.2 Data Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.5.7.3 Data Cleaning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.5.7.4 Data Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.5.7.5 Data Summarization . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.6 The Dynamic Warehouse Model . . . . . . . . . . . . . . . . . . . . . . . . . 79
Chapter 8. Data Warehouse Modeling Techniques . . . . . . . . . . . . . . . . 81
8.1 Data Warehouse Modeling and OLTP Database Modeling . . . . . . . . . 81
8.1.1 Origin of the Modeling Differences . . . . . . . . . . . . . . . . . . . . . 82
8.1.2 Base Properties of a Data Warehouse . . . . . . . . . . . . . . . . . . . 82
8.1.3 The Data Warehouse Computing Context . . . . . . . . . . . . . . . . . 84
8.1.4 Setting Up a Data Warehouse Modeling Approach . . . . . . . . . . . 85
8.2 Principal Data Warehouse Modeling Techniques . . . . . . . . . . . . . . . 86
8.3 Data Warehouse Modeling for Data Marts . . . . . . . . . . . . . . . . . . . 86
8.4 Dimensional Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8.4.1 Requirements Gathering . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
8.4.1.1 Process Oriented Requirements . . . . . . . . . . . . . . . . . . . 93
8.4.1.2 Information-Oriented Requirements . . . . . . . . . . . . . . . . . 95
8.4.2 Requirements Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.4.2.1 Determining Candidate Measures, Dimensions, and Facts . . . . 98
Candidate Measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Candidate Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Candidate Facts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
8.4.2.2 Creating the Initial Dimensional Model . . . . . . . . . . . . . . 105
Establishing the Business Directory . . . . . . . . . . . . . . . . . . . 105
Determining Facts and Dimension Keys . . . . . . . . . . . . . . . . . 106
Determining Representative Dimensions and Detailed Versus
Consolidated Facts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Dimensions and Their Roles in a Dimensional Model . . . . . . . . . 111
Getting the Measures Right . . . . . . . . . . . . . . . . . . . . . . . . 112
Fact Attributes Other Than Dimension Keys and Measures . . . . . 114
8.4.3 Requirements Validation . . . . . . . . . . . . . . . . . . . . . . . . . . 115
8.4.4 Requirements Modeling - CelDial Case Study Example . . . . . . . 117
8.4.4.1 Modeling of Nontemporal Dimensions . . . . . . . . . . . . . . . 120
The Product Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Analyzing the Extended Product Dimension . . . . . . . . . . . . . 123
Looking for Fundamental Aggregation Paths . . . . . . . . . . . . . 124
The Manufacturing Dimension . . . . . . . . . . . . . . . . . . . . . . . 125
The Customer Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . 126
The Sales Organization Dimension . . . . . . . . . . . . . . . . . . . . 126
The Time Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.4.4.2 Developing the Basis of a Time Dimension Model . . . . . . . . 127
About Aggregation Paths above Week . . . . . . . . . . . . . . . . . . 128
Business Time Periods and Business-Related Time Attributes . . 130
Making the Time Dimension Model More Generic . . . . . . . . . . . 131
Flattening the Time Dimension Model into a Dimension Table . . . 132
The Time Dimension As a Means for Consistency . . . . . . . . . . . 132
Lower Levels of Time Granularity . . . . . . . . . . . . . . . . . . . . . 133
8.4.4.3 Modeling Slow-Varying Dimensions . . . . . . . . . . . . . . . . 133
About Keys in Dimensions of a Data Warehouse . . . . . . . . . . . . 133
Dealing with Attribute Changes in Slow-Varying Dimensions . . . . 135
Modeling Time-Variancy of the Dimension Hierarchy . . . . . . . . . 137
8.4.4.4 Temporal Data Modeling . . . . . . . . . . . . . . . . . . . . . . . 139
Preliminary Considerations . . . . . . . . . . . . . . . . . . . . . . . . . 141
Time Stamp Interpretations . . . . . . . . . . . . . . . . . . . . . . . 143
Instant and Interval Time Stamps . . . . . . . . . . . . . . . . . . . 144
Base Temporal Modeling Techniques . . . . . . . . . . . . . . . . . . 145
Adding Time Stamps to Entities . . . . . . . . . . . . . . . . . . . . 145
Restructuring the Entities . . . . . . . . . . . . . . . . . . . . . . . . 146
Adding Entities for Transactions and Events . . . . . . . . . . . . . 148
Grouping Time-Variant Classes of Attributes . . . . . . . . . . . . 149
Advanced Temporal Modeling Techniques . . . . . . . . . . . . . . . 149
Adding Temporal Constraints to a Model . . . . . . . . . . . . . . . 149
Modeling Lifespan Histories of Database Objects . . . . . . . . . . 150
Modeling Time-Variancy at the Schema Level . . . . . . . . . . . . 150
Some Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
8.4.4.5 Selecting a Data Warehouse Modeling Approach . . . . . . . . 151
Considerations for ER Modeling . . . . . . . . . . . . . . . . . . . . . . 152
Considerations for Dimensional Modeling . . . . . . . . . . . . . . . . 152
Two-Tiered Data Modeling . . . . . . . . . . . . . . . . . . . . . . . . . 152
Dimensional Modeling Supporting Drill Across . . . . . . . . . . . . . 153
Modeling Corporate Historical Databases . . . . . . . . . . . . . . . . 153
Chapter 9. Selecting a Modeling Tool . . . . . . . . . . . . . . . . . . . . . . . 155
9.1 Diagram Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
9.1.1 ER Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
9.1.2 Dimensional Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
9.2 Reverse Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
9.3 Forward Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
9.4 Source to Target Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
9.5 Data Dictionary (Repository) . . . . . . . . . . . . . . . . . . . . . . . . . . 157
9.6 Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
9.7 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Chapter 10. Populating the Data Warehouse . . . . . . . . . . . . . . . . . . . 159
10.1 Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.2 Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
10.3 Apply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
10.4 Imprtance to Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Appendix A. The CelDial Case Study . . . . . . . . . . . . . . . . . . . . . . . 163
A.1 CelDial - The Company . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
A.2 Project Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
A.3 Defining the Business Need . . . . . . . . . . . . . . . . . . . . . . . . . . 164
A.3.1 Life Cycle of a Product . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
A.3.2 Anatomy of a Sale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
A.3.3 Structure of the Organization . . . . . . . . . . . . . . . . . . . . . . . 165
A.3.4 Defining Cost and Revenue . . . . . . . . . . . . . . . . . . . . . . . . 165
A.3.5 What Do the Users Want? . . . . . . . . . . . . . . . . . . . . . . . . . 166
A.4 Getting the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
A.5 CelDial Dimensional Models - Proposed Solution . . . . . . . . . . . . . 167
A.6 CelDial Metadata - Proposed Solution . . . . . . . . . . . . . . . . . . . . 170
Appendix B. Special Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Appendix C. Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . 185
C.1 International Technical Support Organization Publications . . . . . . . . 185
C.2 Redbooks on CD-ROMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
C.3 Other Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
C.3.1 Books . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
C.3.2 Journal Articles, Technical Reports, and Miscellaneous Sources . 186
How to Get ITSO Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
How IBM Employees Can Get ITSO Redbooks . . . . . . . . . . . . . . . . . . 189
How Customers Can Get ITSO Redbooks . . . . . . . . . . . . . . . . . . . . . 190
IBM Redbook Order Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
ITSO Redbook Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Other Data Warehouse Books
Download
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment