Lecture 1 - Introduction to DW Reading Requirements: [Elmasri&Navathe1999] chapter26 or [Connolly&Begg2002] chapter30 or [Connolly&Begg1998] chapter25 [Chaudhuri&Dayal] ”An Overview of Data Warehousing and OLAP Technology” [Kimball&et.al98] Introduction, chapter1 Keywords: DW architecture, DSS, OLTP, OLAP, MDM, ROLAP, MOLAP, Data Mart Erik Perjons DSV, KTH/SU 08-16 49 47 2002-03-11
The data warehousing architechture The back room The front room Query/Reporting Extract Transform Load Refresh Serve External sources Data warehouse Data marts Analysis/OLAP Falö aöldf flaöd aklöd falö alksdf Data mining Operational DBs Data sources Legacy systems Back end tools Data staging area Front end tools End user applications ”The data warehouse” Presentation servers
Why a data warehouse? DB DB DB DB End user application A End user DBMS DB End user application A DBMS DB End user application B Ja, för vad är alternativet. Ja, alternativet är att ett användarverktyg måste gå ut i olika datakällor och hämta information. I den här datakällan finns allmän kundinformation om kunderna. I det här systemet finns beställningarna. I det hä systemet finns information om olika försäljningskontor. Första problemet är att de är i drift. Sedan måste informationen sammanställas. Problem om olika termer betyder olika saker – til exempel kund, kanske har olika betydelser i olika system DBMS DB End user application C DBMS DB
A data warehouse definition William Inmon: A data warehouse ”is a subject-oriented, integrated, time-variant, and non-volatile collection of data in support of management decision-making process”. Ett datalager är en subjektsorienterat, integrerat, icke-ombytligt och tids-beroende samling av data ämnat att stödja beslutsfattande på strategisk nivå.
“Subject-oriented” Operational Systems Informational Systems Sales Customer Data Vendor Data Payroll System Purchasing System Product Data
“Integrated” Operational Systems Informational Systems Marketing Order System Customer Data Billing System
“Time-variant” Operational Systems Informational Systems 60-90 days Customer Data Order System 60-90 days 5-10 years
“Non-volatile” Operational Systems Create Informational Systems Update Delete Order System Load Access Customer Data Insert
Another definition Chaudhiri & Dayal: ”Data warehousing is a collection of decision support technologies, aimed at enabling the knowledge worker (executive, manager, analyst) to make better and faster decisions.” A data warehouse is a decision support system (DSS) according to Chaudhri&Dayal and Kimball
Typical DSS queries How much is the total sale by month for each office? Which of two new medications will result in the best best outcome: higher recovery rate or shorter hospitality rate? How much is the percentage change in the total monthly sales for each product? Which customer groups are most profitable?
Goals of the data warehouse (Kimball,p. 10) Foundation for decision making - the right data in it to support decision making Understandable - content are correctly labeled and obvious Navigable - recognising destination on screen and getting there in one click Fast performance - means zero wait time Consistent information - high quality data Designed for continuous change - handle changes Secure bastion that protect our information asset ”Anything else is a compromise and therefore something we must improve” Kimball
The data warehousing architechture Query/Reporting Extract Transform Load Refresh Serve External sources Data warehouse Data marts Analysis/OLAP Falö aöldf flaöd aklöd falö alksdf Data mining Operational DBs Source systems Data staging area End user applications Presentation servers
Source systems characteristics the source data often in OLTP (Online Transaction Processing) systems high level of transaction throughput already occupied by the normal operations of the organisation a OLTP system may be reliable and consistent, but there are often inconsistencies between different OLTP systems different types of data format and data structures in different OLTP systems OLTP vs. DSS (Decision Support Systems) Operational DBs Det som kännetecknar det första systemet är användning av så kallade OLTP-system, transaktionssystem eller realtidssystem. Det är system som används i den ordinare verksamheten. Folk använder system för att ta ut eller sätta in pengar. Transaktionerna ska vara snabba och säkra. Det finns ofta inkonstistenser mellan olika system. I ett system kanske kunden har beställt tjänsten mobilsvar, enligt ett annat har han eller hon inte gjort det. Det är inte ovanligt att man går in och ändrar i system och det av misstag försvinner data. Ett annat problem är att termerna används på olika sätt i systemen – i ett system kanske regionen stockholm kanske betyder stockholms innerstad i etta annat kanske stockholm betyder hela stockholms län. Oilka typer av datastrukturer. Skilja mellan OLTP och DSS där DSS ska stödja verksamhetsfolk och analytiker.
The data staging area Often the most complex part in Extract Transform Load Refresh Often the most complex part in the architecture, and involves... Extraction Transformation Load/refresh and indexing Implement script for extraction, transformation, load and refresh
The data staging area Transformation involves… data conversion Extract Transform Load Refresh Transformation involves… data conversion data cleaning data scrubbing (use domain-specific knowledge (e.g postal adresses) to check the data) data migration (specify transformation rules, “replace the string gender by sex”) data auditing (discover suspicious pattern, discover violation of stated rules) data aggregation data enrichment Konstiga mönster, upptäcka avvikelser Man kanske inte vill föra över varje transaktion utan samlar dagens transaktioner för varje kund och gör om det till en post.
What is OLAP? Acronym for On-line analytical processing A decision support system (DSS) which goal is to support ad-hoc querying for the business analyst The idea is to allow the users to easy and quickly manipulate and visualise the data through multidimensional views. Multidimensional view of data is the foundation for OLAP Kunna välja bland dimensioner. Flexibiltet
“Multidimensional” view of the data - a popular conceptual model that influenced front-end tools, database design, and the query engine for OLAP - numeric measures/facts (e.g. number of, sum, total sales) depends on a set of dimensions quarter office product 2 300 200 130 A data cube: 5 024 Spreadsheets: office 130 Man brukar tala om multidimensionell modellering när man ska strukturera data i data warehouse. Själva idén, tanke, modellen har påverkat de som designat datawarehouse och verktyg till dem. Vanlígt excelark med två dimensioner. Sifrorna anger summan av försäljningen för varje kvartal för varje produkt. Om man nu vill ha en till dimension, dvs hur mycket vissa kontor har sålt av en viss produkt för en viss period. Det här kan också åskådligöras i en kub. Vi ser de tre dimensionerna. Varje liten minikub i kuben och få fram Visar denna bild för att visa hur själva tankesättet har uppkommit. När man modellerar detta på papper gör man på detta sätt. product quarter 5 024 2 300 200
“Multidimensional” view of the data promotion campaign quarter office product office quarter office product quarter office product Man brukar tala om multidimensionell modellering när man ska strukturera data i data warehouse. Själva idén, tanke, modellen har påverkat de som designat datawarehouse och verktyg till dem. Vanlígt excelark med två dimensioner. Sifrorna anger summan av försäljningen för varje kvartal för varje produkt. Om man nu vill ha en till dimension, dvs hur mycket vissa kontor har sålt av en viss produkt för en viss period. Det här kan också åskådligöras i en kub. Vi ser de tre dimensionerna. Varje liten minikub i kuben och få fram Visar denna bild för att visa hur själva tankesättet har uppkommit. När man modellerar detta på papper gör man på detta sätt. quarter product customer group
“Multidimensional” view of the data Promotion campaign Quarter Measures/facts Customer group Promotion campaign Office
DB2 OLAP Integrated Server Database schema integration Platform independent logical star join schema Platform independent information model for the organisation customer name nr customer Platform independent logical ER schema customer Platform specific logical star join schema created in SQL server tool or use SQL DDL direct Platform specific logical ER schema created in SQL server tool or use SQL DDL direct customer customer Source system A data warehouse system DB2 OLAP Integrated Server DB2 OLAP Server (MOLAP) SQL DB Server Meta data repository - logical Starschema för DB 2 OLAP (PSM) Meta data repository - logical ER-schema for SQL Server Nisse Nisse DB2 OLAP Fysisk lagring i arrayer Data source Data source customer customer
Dimensional modelling - Star-join schema Service used Time - date - month - quarter - year - service name - service group Telephone calls - sum ($) - number of calls Sales Dimension Customer - customer name - address - region - income group - seller name - office
Dimensional modelling - Star-join schemas Service Dimension Time Dimension Sales Dimension Customer Dimension Fact table - Transactions Sum Number of calls C210 S1 F11 991011 25:00 3 S3 05:00 1 C212 S2 F13 89:00 C213 12:00 C214 S4 991012 08:00 När man modellerara fokuserar man på de viktiga affärshändelserna -transactions, i verkamheten. Det kan till exempel vara säljhändelser. Att man säljer varor eller tjänster. Jag kommer återkomma till andra typer av händelser - men centarlt när man modellerar på det här sättet är att identifiera händelserna. Man samla dessa händelser och fakta, dvs värdet, om händelserna i en entitet som vi kallar försäljningsfakta. Försäljningsfaktaentiteten innehåller alltså det här värdet vi såg förut i kuben. Sedan kan man studera dessa händelser ur olika aspekter, dimensioner. Dimensionerna motsvarar dimensionerna vi såg förut. När man modellerar gäller det alltså att välja dimensionerna, till exempel vilka tjänster eller tjänstegrupper som säljs, vilka kunder eller kundkategorier som köper tjänster. Vid vilka tidpunkter eller tidsperioder som tjänsterna säljs. Vilka försäljare eller försäljningskontor som sålt tjänsterna. Sedan väljer på attributen för dessa dimensioner - för tjänst kanske vi lägger på tjänstenamn och tjänstegrupp. För kund väljer vi kundnamn, postadress, region, inkomstgrupp. Fakta i mitten, och runt om får vi dimensionser Gör om till databasschema med tabeller. Entiteterna blir tabeller. Vi får faktatabelloch dimensionstabeller. Då hamnar attributen som kolumner. Bofolkar tabellerna med instanser, rader, tupler. Mellan dimensionstabellerna och faktatabellen får vi ett till många förhållande. Dimensionerna innehåller få rader. Ej normaliserat. Dubbellagra information Faktatabellen innehåller massor med rader. Den innehåller den överväldigasnde delen av information. Den vill manska ha så få och små kolumner som mjligt. I faktatabellen finns främmande nycklar till de olika dimensionerna. Plockar bort rader i tabellerna. Går in och joinar mellan dimensioner och faktatabell för att ta bort rader i faktatabell. Tar bort alla rader som inte är S1 Enkelt att förstå en sådan här struktur för verksamhetschefer än en relationsdatabasstruktur. Normalisera av två orsaker– för att ha en så efffektiv lagring, spara utrymmer, som möjligt +redundans/inkonsistens. Men insonstistesen hanteras av transformationlagret. Och spara utrymme är sekundärt. OLAP-verktyget kan använda den här datastrukturen effektivt. Normaliserar vissa attribut – vinne kortare rader, men innebär att man måste joina.
Dimensional modelling - Star-join schemas Service Dimension Time Dimension Sales Dimension Customer Dimension Fact table - Transactions Sum Number of calls C210 S1 F11 991011 25:00 3 S3 05:00 1 C212 S2 F13 89:00 C213 12:00 C214 S4 991012 08:00 Query: For how much did customers in Sthlm use service “Local call” in october 1999? S=37:00
The data warehouse bus Dimensions Orders Production Time Sales Rep Customer Promotion Product Plant Distr. Center Allows the parallell dvlpmt of business process data marts with ability to integrate
The data mart “A logical subset of a complete data warehouse” “A data warehouse is made up of the union of all its data marts” “A data mart must be built from comformed dimensions and conformed facts” “…as the restriction of the dw to a single business process or to a group of related business processes...” (Kimball, p. 18) departemental subsets (e.g. marketing data mart) far smaller data volumes, fewer data sources easier data cleaning process, faster roll-out allows a “piecemeal” approach to some of the enormous integration problems involved in creating an enterprise wide data model, but complex integration in the long term Mitten av 90-talet skulle alla ha dw. Kostade mycket – ingen använde dem Nedgång. Tagit fart igen. Annan ansats bygga mindre dataskafferi. Varje avdelning får sitt mini-data warehouse. Kostnaderna blir inte så stora. Lättare att underhålla. Integreras – måste ha ett större enterprise modell.
Snow-flake schema Year Service used Month Time Quarter Telephone calls - service name Time - date Telephone calls Quarter Service group - sum ($) - number of calls Region Customer Sales Dimension - customer name - address - seller name Income group Office
Hierarchies Year Service group Quarter Service Month Date Olika leverantörer av data warehouse använder olika begrepp. storage of data (100 of gigabyte to terrabyte in size) storage of metadata processing of queries (key performance metric in DW) Bygger ut databashanteringssystemet och lägger på viss funktionalitet – ROLAP-server. Man använder sig av vissa datastrukturer för att man snabbare ska få åtkomst till informationen. Använda ROLAP-verktyg/klienter mot ROLAP-servern. Multidimensionella Metadata – det logiska modell som databaslagret arbetar mot. Stora mängder data, och det gäller att ha snabb access till denna data. Användarverktyg – en kärnpunkt. Att frågorna snabbt kan processas. Date
Some important terminology dimensions - a business perspective from which data is looked upon, dimensions has often hierarchical structured attribute (day-month-quarter) hierarchies - impose structure on some dimensions (the attributes address and region in the sales dimension) de-normalisation - the abandonment of the rules of normalisation and allowance of repetitive storage of data granularity - the level of detail of data contained in the data warehouse aggregation - a summation of detailed data to a less detailed level
The presentation servers Data warehouse OLAP servers standard relational database management system (RDBMS) with specialised SQL servers extended relational database management system (RDBMS), called Relational OLAP (ROLAP) servers multidimensional database management system (MDBMS), called Multidimensional OLAP (MOLAP) servers hybrid of ROLAP and MOLAP, called Hybrid OLAP (HOLAP) Data marts Olika leverantörer av data warehouse använder olika begrepp. storage of data (100 of gigabyte to terrabyte in size) storage of metadata processing of queries (key performance metric in DW) Bygger ut databashanteringssystemet och lägger på viss funktionalitet – ROLAP-server. Man använder sig av vissa datastrukturer för att man snabbare ska få åtkomst till informationen. Använda ROLAP-verktyg/klienter mot ROLAP-servern. Multidimensionella Metadata – det logiska modell som databaslagret arbetar mot. Stora mängder data, och det gäller att ha snabb access till denna data. Användarverktyg – en kärnpunkt. Att frågorna snabbt kan processas.
Alternative implementations of a DW Extended Relational DBMS (ROLAP servers) ROLAP server sit between relational back end server data stored in RDB star-join schemas support SQL extensions index structures Multidimensional DBMS (MOLAP servers) data stored in arrays (n-dimensional array) direct access to array data structure excellent indexing properties poor storage utilisation, especially when the data is sparse. OLAP servers Data warehouse Data marts ERDBMS Data sparas i RDBMS Har en speciell data struktur – man skapar en speciellt schema. Extended SQL Använder indexstrukturer för att snabbt få åtkomst. MDBMS MOLAP-server Data sparas direkt i arrayer/vektorer. Direkt access till vektorerna. Snabba svar Problemet är att det blir mycket dubbellagring. Delar av arrayerna kan vara tomma men ändå ta upp data. Hybrid DBMS Även här finns en multidimensionell server (MOLAP). Använder vektorstrukturer och går ned i RDBS för att hämta data. Det behöver du inte i en ren MDBS
More about presentation servers Index structures (bit map indices, join indices) SQL extensions (operators like Cube, Crossjoin) Materialised views Vad är metadata? Något som används av databashanteringssystemet. Något som används av verktyg Använväds av de som designat data warehouset Sätta upp dw Använda dw Verksamhetsdata – vad som menas med kund, vem som äger data Operattionell data – info som samlas in under tiden man driver dw. Kund använder vissa frågor oftare – då kan det vara värt att aggregera denna data.
The data warehousing architechture Monitoring & Administration Metadata repository OLAP servers Analysis Data warehouse External sources Extract Transform Load Refresh Query/Reporting Serve Operational DBs Data mining Falö aöldf flaöd aklöd falö alksdf Data marts Source systems Data staging area End user applications Presentation servers
Metadata Data about data Administrative metadata Business metadata (includes all information necessary for setting up and using a DW, e.g. Information about source databases, dw schemas, dimensions, hierachies, predefined queries, physical organisation, rules and script for extraction, transformation and load, back-end and front end tools) Business metadata (business terms and definitions, ownership of data) Operational metadata (information collected during the operations of the DW, e. g. usage statistics, error reports) Vad är metadata? Något som används av databashanteringssystemet. Något som används av verktyg Använväds av de som designat data warehouset Sätta upp dw Använda dw Verksamhetsdata – vad som menas med kund, vem som äger data Operattionell data – info som samlas in under tiden man driver dw. Kund använder vissa frågor oftare – då kan det vara värt att aggregera denna data.
End user applications OLAP tools Query/Reporting tools Data mining Analysis OLAP tools Query/Reporting tools Data mining Query/Reporting Data mining Falö aöldf flaöd aklöd falö alksdf Beslutsstödssystem är en snabbt växande marknad. Man hjälper användaren Att ta strategiska beslut. Enklare program. Slipper skriva SQL-frågor. Paraplyterm för som vill studera data ur olika dimensioner. Få fram samband som man vill få fram.
Spreadsheet output of OLAP tool product product group mounth quarter office region Attributen/Dimensioner – kan bytas ut Dubbelklicka Växla mellan rader och kolumner.
Graphical output of OLAP tool
Functionalities of OLAP tools Drill-down - decreasing the level of aggregation Drill-up/Roll-up - increasing the level of aggregation Drill-across - move between dimensions Slicing and dicing - selection of rows and projection of columns Pivoting - e.g. columns to rows, rows to columns Ranking - sorting “Think of an OLAP data structure as a Rubik´s Cube of data that users can twist and twirl in different ways to work through what-if an what-happend scenarios” Lee Thé Tar bort rader och kolumner.
Drill-across - A family of stars Flera faktatabeller Flera dimensioner är gemensamma. På så sätt kan man joina sig fram genom hela strukturen.
What is data mining? Data Mining is data analysis in order to discover hidden correlations (pattern, rules) in huge data sets “Data Mining is the process of extracting previously unknown, valid and actionable information from large databases and then using the information to make crucial business decisions” Cabena, Hadjinian, Stadler, Verhees, Zanasi Klassiskt exempel som alla böcker brukar referera till Okänd data. Detaljhandelkedja i USA. Undersökte kvitton och fann att på fredagar såldes öl och blöjor ihop Söker man tillräckligt länge hittar man mönster. Men mönstret kan vara där av en slump. Därav kravet att sambandet ska vara giltigt eller sant Det ska gå att utnyttja informationen. Poängen med data mining är att informationen ska gå att användas till viktiga verksamhetsbeslut.
Next lecture [Kimball98] chapter 5, 6, 14 Why dimensional modelling?, p.147-153 Kimball´s definition of a data warehouse, p. 19 Klassiskt exempel som alla böcker brukar referera till Okänd data. Detaljhandelkedja i USA. Undersökte kvitton och fann att på fredagar såldes öl och blöjor ihop Söker man tillräckligt länge hittar man mönster. Men mönstret kan vara där av en slump. Därav kravet att sambandet ska vara giltigt eller sant Det ska gå att utnyttja informationen. Poängen med data mining är att informationen ska gå att användas till viktiga verksamhetsbeslut.