* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Three Data Warehouse Models
Survey
Document related concepts
Transcript
Topic 6: Data Warehousing & OLAP 12 34 8 98 11 What is a Data Warehouse? Organized around major subjects, such as customer, product, sales. 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: Advanced Database Technologies 1 Data Warehouse—Integrated processing. Provide a simple and concise view around particular subject issues by excluding data that are not useful in the decision support process. Dr. N. Mamoulis relational databases, flat files, on-line transaction records Ensure consistency in naming conventions, encoding structures, attribute measures, etc. among different data sources E.g., Hotel price: currency, tax, breakfast covered, etc. Advanced Database Technologies 3 A physically separate store of data transformed from the operational environment. Data warehouse data: provide information from a historical perspective (e.g., past 5-10 years) Contains an element of time, explicitly or implicitly But the key of operational data may or may not contain “time element”. Dr. N. Mamoulis Advanced Database Technologies 4 Enterprise warehouse collects all of the information about subjects spanning the entire organization Data Mart Operational update of data does not occur in the data warehouse environment. Does not require transaction processing, recovery, 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 and concurrency control mechanisms Operational database: current value data. Three Data Warehouse Models Data Warehouse—Non-Volatile 2 Every key structure in the data warehouse When data is moved to the warehouse, it is converted. Dr. N. Mamoulis Advanced Database Technologies The time horizon for the data warehouse is significantly longer than that of operational systems. Data cleaning and data integration techniques are applied. decision makers, not on daily operations or transaction Data Warehouse—Time Variant Constructed by integrating multiple, heterogeneous data sources Focusing on the modeling and analysis of data for The process of constructing and using data warehouses Dr. N. Mamoulis Data Warehouse—Subject-Oriented Requires only two operations in data accessing: A set of views over operational databases Only some of the possible summary views may be materialized initial loading of data and access of data. Dr. N. Mamoulis Advanced Database Technologies 5 Dr. N. Mamoulis Advanced Database Technologies 6 1 OLTP vs. OLAP Data Warehouse vs. Operational DBMS OLTP (on-line transaction processing) OLTP OLAP Major task of traditional relational DBMS users clerk, IT professional knowledge worker Day-to-day operations: purchasing, inventory, banking, manufacturing, payroll, registration, accounting, etc. function day to day operations decision support DB design application-oriented subject-oriented data current, up-to-date detailed, flat relational isolated repetitive historical, summarized, multidimensional integrated, consolidated ad-hoc read/write index/hash on prim. key short, simple transaction lots of scans unit of work # records accessed tens millions #users thousands hundreds DB size 100MB-GB 100GB-TB metric transaction throughput query throughput, response OLAP (on-line analytical processing) Major task of data warehouse system Data analysis and decision making usage Distinct features (OLTP vs. OLAP): access User and system orientation: customer vs. market Data contents: current, detailed vs. historical, consolidated Database design: ER + application vs. star + subject View: current, local vs. evolutionary, integrated Access patterns: update vs. read-only but complex queries Dr. N. Mamoulis Advanced Database Technologies 7 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. A data cube, such as sales, allows data to be modeled and viewed in multiple dimensions Dr. N. Mamoulis Advanced Database Technologies 9 Cube: A Lattice of Cuboids (views) all time 0-D(apex) cuboid item location supplier 1-D cuboids time,item time,location item,location time,supplier time,item,location 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. Dr. N. Mamoulis Advanced Database Technologies TV PC VCR sum 1Qtr 2Qtr Date 3Qtr 4Qtr Total annual sales of TV in U.S.A. Canada 2-D cuboids Mexico 3-D cuboids sum time,location,supplier time,item,supplier sum U.S.A location,supplier item,supplier 10 A Sample Data Cube du ct 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 Pr o 8 A data warehouse is based on a multidimensional data model which views data in the form of a data cube Different functions and different data: Advanced Database Technologies From Tables and Spreadsheets to Data Cubes Why Separate Data Warehouse? Dr. N. Mamoulis complex query Country item,location,supplier 4-D(base) cuboid time, item, location, supplier Dr. N. Mamoulis Advanced Database Technologies 11 Dr. N. Mamoulis Advanced Database Technologies 12 2 Cuboids Corresponding to the Cube Conceptual Modeling of Data Warehouses Modeling data warehouses: dimensions & measures all 0-D(apex) cuboid product product,date country date product,country 1-D cuboids dimension tables, forming a shape similar to snowflake 2-D cuboids Dr. N. Mamoulis Snowflake schema: A refinement of star schema where some dimensional hierarchy is normalized into a set of smaller date, country product, date, country Star schema: A fact table in the middle connected to a set of dimension tables Fact constellations: Multiple fact tables share dimension tables, viewed as a collection of stars, therefore called galaxy schema or 3-D(base) cuboid fact constellation Advanced Database Technologies 13 Dr. N. Mamoulis Example of Star Schema Advanced Database Technologies Example of Snowflake Schema time time item time_key day day_of_the_week month quarter year Sales Fact Table time_key item_key branch_key branch branch_key branch_name branch_type location_key units_sold dollars_sold item time_key day day_of_the_week month quarter year item_key item_name brand type supplier_type item_key item_name brand type supplier_key Sales Fact Table time_key item_key branch_key location branch location_key street city province_or_street country location_key street city_key units_sold dollars_sold 15 Aggregate Functions on Measures: Three Categories Dr. N. Mamoulis supplier_key supplier_type city city_key city province_or_street country Measures Advanced Database Technologies supplier location location_key branch_key branch_name branch_type Measures Dr. N. Mamoulis 14 Advanced Database Technologies 16 A Concept Hierarchy: Dimension (location) 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. all all Europe region country city Germany Frankfurt office ... ... ... Spain North_America Canada Vancouver ... L. Chan ... ... Mexico Toronto M. Wind E.g., median(), mode(), rank(). Dr. N. Mamoulis Advanced Database Technologies 17 Dr. N. Mamoulis Advanced Database Technologies 18 3 Multidimensional Data Typical OLAP Operations Sales volume as a function of product, month, and region Dimensions: Product, Location, Time Roll up (drill-up): summarize data gi on Hierarchical summarization paths Re Industry Region Product City Year Month Office from higher level summary to lower level summary or detailed data, or introducing new dimensions Slice and dice: project and select Category Country Quarter Product by climbing up hierarchy or by dimension reduction Drill down (roll down): reverse of roll-up Pivot (rotate): Week reorient the cube, visualization, 3D to series of 2D planes. Other operations Day 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) Month Dr. N. Mamoulis Advanced Database Technologies 19 Dr. N. Mamoulis OLAP Server Architectures Data cube can be viewed as a lattice of cuboids Use relational or extended-relational DBMS to store and manage warehouse data and OLAP middle ware to support missing pieces Include optimization of DBMS backend, implementation of aggregation navigation logic, and additional tools and services greater scalability The bottom-most cuboid is the base cuboid The top-most cuboid (apex) contains only one cell Multidimensional OLAP (MOLAP) Array-based multidimensional storage engine (sparse matrix techniques) fast indexing to pre-computed summarized data User flexibility, e.g., low level: relational, high-level: array Specialized SQL servers Advanced Database Technologies 21 Dr. N. Mamoulis Compressed sparse array addressing: (chunk_id, offset) Compute aggregates in “multiway” by visiting cube cells in the order which minimizes the # of times to visit each cell, and reduces memory access and storage cost. Grouping is performed on some subaggregates as a “partial grouping step” C Aggregates may be computed from previously computed aggregates, rather than from the base fact table b3 B13 b2 9 b1 5 c3 61 62 63 64 c2 45 46 47 48 c1 30 31 32 c 0 29 B b0 Advanced Database Technologies 22 Partition arrays into chunks (a small subcube which fits in memory). Sorting, hashing, and grouping operations are applied to the dimension attributes in order to reorder and cluster related tuples Dr. N. Mamoulis Advanced Database Technologies Multi-way Array Aggregation for Cube Computation ROLAP - based cubing algorithms Selection of which cuboids to materialize Based on size, sharing, access frequency, etc. Cube Computation: ROLAP-Based Method Materialize every (cuboid) (full materialization), none (no materialization), or some (partial materialization) specialized support for SQL queries over star/snowflake schemas Dr. N. Mamoulis How many cuboids in an n-dimensional cube with L levels? n T = ∏ ( Li + 1) i =1 Materialization of data cube Hybrid OLAP (HOLAP) 20 Efficient Data Cube Computation Relational OLAP (ROLAP) Advanced Database Technologies 23 14 15 16 1 2 3 4 a0 a1 a2 a3 Dr. N. Mamoulis A 60 44 28 56 40 24 52 36 20 Advanced Database Technologies What is the best traversing order to do multi-way aggregation? 24 4 Indexing OLAP Data: Join Indices 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 Base table Cust C1 C2 C3 C4 C5 Region Asia Europe Asia America Europe Index on Region Index on Type Type RecIDAsia Europe America RecID Retail Dealer Retail 1 1 0 0 1 1 0 Dealer 2 0 1 0 2 0 1 Dealer 3 1 0 0 3 0 1 4 0 0 1 4 1 0 Retail 0 1 0 5 0 1 Dealer 5 Dr. N. Mamoulis Advanced Database Technologies 25 Efficient Processing of OLAP Queries transform drill, roll, etc. into corresponding SQL and/or OLAP operations, e.g, dice = selection + projection Determine to which materialized cuboid(s) the relevant operations should be applied. Exploring indexing structures and compressed vs. dense array structures in MOLAP Advanced Database Technologies It materializes relational join in JI file and speeds up relational join — a rather costly operation E.g. fact table: Sales and two dimensions city and product A join index on city maintains for each distinct city a list of R-IDs of the tuples recording the Sales in the city Join indices can span multiple dimensions Dr. N. Mamoulis Advanced Database Technologies 26 Data warehouse available cuboids: Dr. N. Mamoulis In data warehouses, join index relates the values of the dimensions of a start schema to rows in the fact table. Summary Determine which operations should be performed on the Join index: JI(R-id, S-id) where R (R-id, …) >< S (S-id, …) Traditional indices map the values to a list of record ids A subject-oriented, integrated, time-variant, and nonvolatile collection of data in support of management’s decision-making process A multi-dimensional model of a data warehouse Star schema, snowflake schema, fact constellations A data cube consists of dimensions & measures OLAP operations: drilling, rolling, slicing, dicing and pivoting OLAP servers: ROLAP, MOLAP, HOLAP Efficient computation of data cubes Partial vs. full vs. no materialization Multiway array aggregation Bitmap index and join index implementations Next we will see one method for cube computation two methods (one static and one dynamic) for selecting cuboids to materialize 27 Dr. N. Mamoulis Advanced Database Technologies 28 5