Comments
Description
Transcript
Diapositiva 1 - Carmine Carella
Università degli Studi di Milano-Bicocca Corso di Laurea Magistrale in Informatica Corso di Rappresentazione dell’Informazione e della Conoscenza Modulo Rappresentazione dell’Informazione Prof. Carlo Batini Metodologie e Strumenti di Data Profiling Carmine Carella 055465 Anno Accademico 2008-2009 1 Metodologie e Strumenti di Data Profiling Definizioni L’attività di data quality (DQ) è supportata da molte tecnologie, tra cui data monitoring, data cleansing, data filtering e data profiling. Il data profiling (DP) è la principale tecnologia per la data accuracy. “ Il data profiling è definito come l’applicazione di tecniche di analisi dei dati a data source esistenti con lo scopo di determinare il contenuto, la struttura e la qualità dei dati. Questa tecnologia è focalizzata su l’estrazione di informazioni relative ai dati stessi, anziché di informazioni di business derivabili dai dati ” J. OLSON “ Il data profiling è il processo di esaminare i dati memorizzati in data source esistenti e raccogliere statistiche e informazioni relative ad essi per valutarne la qualità ” TDWI “ Il data profiling è il processo analitico con il quale si esamina il contenuto di un database e si raccolgono statistiche e informazioni sui dati per scoprire la struttura, il contenuto e la qualità dei dati “ IBM “ Il data profiling è il primo passo in un processo di DQ che permette di esaminare la struttura, le relazioni e il contenuto di data source esistenti per ottenere una descrizione precisa dello stato dei dati. Determinare lo stato corrente dei dati aiuta a pianificare le corrette azioni per migliorare la qualità delle informazioni aziendali “ DATAFLUX 2 Metodologie e Strumenti di Data Profiling Data Profiling per il Proactive Data Quality Esistono due tipi di approcci con i quali le aziende effettuano DQ Reactive DQ: questo tipo di approccio è caratterizzato dalla tendenza di reagire ai problemi di DQ dopo che sono stati scoperti. Non si ha una chiara idea di come è definita la qualità a causa delle mancanza di documentazione sulle DQ rules. Inoltre i problemi di DQ non sono sistematicamente registrati Proactive DQ: questo tipo di approccio è caratterizzato dalla comprensione di cosa vuol dire qualità attraverso la definizione delle specifiche per determinare se un dato è di buona qualità (DQ rules) e come usare tali specifiche per analizzare i dati. Con questo approccio i problemi di DQ sono noti prima che abbiano un impatto disastroso sul business, aumentando così la fiducia nei dati da parte degli utenti e supportando meglio le decisioni di business 3 Metodologie e Strumenti di Data Profiling Ruolo nei Progetti Data Management Il data profiling è una tecnologia inserita in un contesto di più ampio respiro, come una importante fase di una metodologia data-driven come può esserlo un progetto di: data quality improvement data integration data warehousing master data management processi di dati ETL (Extraction/Trasformation/Load) data migration Il data profiling dovrebbe essere il primo passo in ogni progetto data-driven per ottenere una completa comprensione dei dati per poter identificare in anticipo (nelle fasi di requisiti e analisi dei progetti) i problemi di qualità prima che essi diventino ingestibili e si rivelino quando ormai risolverli è troppo costoso portando a complicazioni o fallimenti nei processi di integrazione dati. 4 Metodologie e Strumenti di Data Profiling Vantaggi nell’utilizzo del Data Profiling Alcuni vantaggi nell’adottare la tecnologia di data profiling sono: migliora la pianificazione dei progetti data-driven mitiga il rischio di effettuare cambiamenti nelle fasi finali di un progetto si basa su un processo robusto e iterativo supportato da tool e metodologie la conoscenza in anticipo dei problemi di qualità, permette di scrivere casi di test migliori e risparmiare tempo nella comprensione del motivo per cui i test falliscono fornisce un completo insieme di informazioni valide sui dati(metadati) rileva gli errori nei dati prima che essi vengano integrati con altri permette un migliore project planning di risorse (umane e di tempo) fornisce sia il framework e sia la roadmap per migliorare la data quality per rendere i processi di business più efficienti 5 Metodologie e Strumenti di Data Profiling Approcci Tradizionali vs Approcci Automatici Esistono molti approcci per determinare la qualità dei dati, tra cui il Data Profiling Il DP può essere effettuato con tecniche manuali (query SQL) o con tecniche automatiche (tools) Tecniche Manuali Tecniche Automatiche adatte per campioni piccoli di dati utilizzabili con DB dell’ordine di TB analisi dati non completa e lenta analisi dati accurata e veloce (riduzione tempo analisi del 90%) nessuna centralizzazione dei risultati singolo punto di accesso ai risultati (metadata repository) aumento dei rischi e del carico di lavoro miglioramento affidabilità dei dati e riduzione dei rischi 6 Metodologie e Strumenti di Data Profiling Olson Metodologia Generale (1) Mostriamo la principale metodologia di profiling. Nel seguito mostreremo un confronto tra questa e la altre metodologie trovate. 7 Metodologie e Strumenti di Data Profiling Olson Metodologia Generale (2) Raccolta dei Metadati (Documented Metadata): è la fase in cui vengono raccolte le informazioni sui dati provenienti da fonti esterne. Chiamiamo questi metadati “documented metadata”. Di solito sono inaccurati e incompleti. Le fonti sono: 8 dizionari dei dati documentazione di progetti precedenti interviste con sviluppatori e progettisti interfacce di programmi che forniscono dati al data source codice sorgente di applicazioni che manipolano i dati regole all’interno di processi aziendali Metodologie e Strumenti di Data Profiling Olson Metodologia Generale (3) Estrazione dei Metadati (Discovered Metadata): lo scopo di questa fase è estrarre i dati dal data source per analizzarli e produrre i metadati che descrivono le loro caratteristiche. Chiamiamo questi metadati “discovered metadata”. Questa fase viene effettuata con il supporto di tools di Data Profiling 9 Campionamento: L’estrazione può interessare tutti i dati presenti nel data source oppure un sottoinsieme. Quando le dimensioni dei data sources sono considerevoli l’utilizzo di sottoinsiemi è preferito purchè siano rappresentativi di tutti i dati. Questi sottoinsiemi prendono il nome di campioni di dati, che vengono estratti attraverso tecniche di campionamento studiate nel campo statistico. Se non eseguito bene influenza negativamente l’accuratezza del processo di profiling. Trasformazione: Un altro obiettivo di questa fase è la trasformazione dei dati dalla quale si otterrà una nuova rappresentazione dei dati in una forma adatta ad eseguire il data profiling che richiede una forma tabellare e normalizzata dei dati. Metodologie e Strumenti di Data Profiling Olson Metodologia Generale (4) Analysis: Questa è la fase in cui i documented metadata e i discovered metadata vengono confrontati per individuare le differenze e produrre un insieme di accurate metadata che descrivono le proprietà che dovrebbero avere i dati per essere considerati di buona qualità. Possono essere individuati problemi di bad practice, come gli overloaded fields, campi di un record che contengono al loro interno informazioni di fatti differenti. In questo modo si definiscono le DQ Rule che i dati devono rispettare. Validation: Questa fase consiste nel confrontare gli accurate metadata con i dati per identificare tutte le violazioni alle proprietà descritte in questi metadati.Tali violazioni sono proprio gli Inaccurate Data Facts che identificano i problemi di DQ presenti nei nostri dati. 10 Metodologie e Strumenti di Data Profiling Olson Metodologia Generale (5) Data Profiling Repository: Le informazioni ottenute dal processo di profiling (metadati accurati e facts) devono essere memorizzate in un unico punto di accesso. Per data profiling repository si intende il luogo in cui registrare tutte le informazioni usate e derivate dal processo di data profiling. Mantenimento del Data Profiling: una volta che il data profiling è stato eseguito, i profiles devono essere aggiornati periodicamente per verificare l’efficacia dei rimedi adottati ai problemi di qualità. In questa fase il DP si trasforma in Data Monitoring. 11 Metodologie e Strumenti di Data Profiling Olson Metodologia Generale (6) Partecipanti al Processo di DP. data analyst: esegue il DP e possiede le conoscenze relative a strutture, architetture e modelli di dati e tecniche di analisi. Non si occupa dell’interpretazione semantica dei dati per gli obiettivi di business. business analyst: affianca il data analyst e ha la conoscenza delle regole di business. membri dello staff IT (designer e developer application) che progettano e implementano le applicazioni database administrator Architettura generale di DP dal punto di vista dell’ input/output 12 Metodologie e Strumenti di Data Profiling Olson Metodologia di Dettaglio (1) Specifica i tipi di analisi dati su diversi livelli. Ogni analisi adotta i passi della metodologia generale per raccogliere i metadati e rilevare i problemi di DQ. Approccio bottom-up. Dal livello dei dati più atomico verso i livelli più alti delle strutture dati. 13 Ciascuna analisi raccoglie metadati/informazioni statistiche proprie che gli analisti utilizzano per identificare le inaccuratezze. Metodologie e Strumenti di Data Profiling Olson Metodologia di Dettaglio (2) Il processo ha due obiettivi: 1. 2. definire i metadati che determinano cosa è considerato di buona qualità trovare le violazioni (inaccurate facts) Il processo è valido per ogni analisi con qualche modifica delle fasi e degli output per ogni tipo di analisi. 14 Gathering Information: fase in cui vengono raccolte le informazioni (metadati), dette documented metadata. Provengono da documentazione esterna e vengono memorizzati nel repository. Le sorgenti di informazione sono diverse per ogni tipo di analisi. Discovery from Data: fase del processo permette di raccogliere i metadati avendo come unica sorgente di informazione i dati stessi. Sono differenti dai metadati raccolti nella fase precedente. Metodologie e Strumenti di Data Profiling Olson Metodologia di Dettaglio (3) Verification of Results: fase in cui vengono confrontati i discovered metadata con i documented metadata. L’obiettivo è determinare se qualunque differenza è causata da dati inaccurati oppure da metadati inaccurati. L’output di questa fase è una lista di accurate metadati. Un altro possibile output sono i problemi di qualità che possono essere identificati come bad practices, ad esempio fields overloading, rappresentazioni inconsistenti di valori null, ecc. Validation of Data: ultima fase è il confronto tra i dati e gli accurate metadata identificati al passo precedente. Questo permette l’identificazione di tutte le violazioni. I risultati vengono memorizzati nel repository come inaccurate data facts. 15 Mentre per la fase di discovery può essere sufficiente un campione di dati, per la fase di validation è necessario l’intero data source. Metodologie e Strumenti di Data Profiling Caso di Studio Nel seguito mostriamo come può essere eseguita l’attività di DP su un database reale, utilizzando un tool di supporto per effettuare una prima analisi della qualità dei dati: Database: Sample Database ClassicModels del progetto BIRT di Eclipse (www.eclipse.org/birt/phoenix/db/) Tool: Talend Open Profiler (T.O.P.) Mostriamo l’applicazione delle varie analisi descritte nella metodologia di dettaglio di Olson. Laddove l’analisi non è offerta dal tool non potrà essere mostrata la sua applicazione e verrà fornita una linea guida per eseguirla. Rispetto alla metodologia generale, semplifichiamo il processo di DP e supponiamo che: non si dispone di documentazione esterna no documented metadata la fase di estrazione è stata già effettuata dati in forma tabellare e pronti per il profiling non viene effettuata l’analysis e i metadati accurate sono le informazioni raccolte dal tool viene eseguita la fase di validation in maniera diversa, considerando due processi differenti: DQ Rules definite dagli analisti Valutazione Analisti Inaccurate Data Facts 16 metadati Analisi (T.O.P) ClassicModels Metodologie e Strumenti di Data Profiling Inaccurate Data Facts Tabelle e Relazioni del DB classic models 17 Metodologie e Strumenti di Data Profiling Column Property Analysis (1) Analisi a livello del singolo campo in maniera indipendente dagli altri Raccolta di informazioni statistiche che devono essere usate dagli analisti per dedurre possibili problemi di qualità Mostriamo quali informazioni possono essere raccolte e come possono essere usate per dedurre inaccurate data facts Informazioni possibili per un campo per i quali è stato creato un esempio: Citati in Olson e TOP Solo in TOP Frequenze valori in base alla metrica Soundex (esempio TOP) Solo in Olson 18 Length (esempio TOP) Range check (esempio TOP) Character patterns (esempio TOP) Null, Unique, Distinct, Duplicate, Blank count values (esempio TOP) Text field (esempio TOP) Business name (linea guida) Precision (linea guida) Metodologie e Strumenti di Data Profiling Column Property Analysis (2) Lenght 19 nel campo AddressLine2 il 10,66% dei valori ha lunghezza pari ad un carattere sono presenti indirizzi non completi. Metodologie e Strumenti di Data Profiling Column Property Analysis (3) Range Check 20 controllo valore massimo e minimo per un campo numerico possibile utilizzo: controllare che il data type sia adatto ai valori presenti, nel caso viene cambiato per ottimizzare lo spazio di memorizzazione. campo quantityOrdered di orderdetails: valore max 97, valore min 6 compresi nel range di uno Smallint (-32768 e 32767), il data type può essere cambiato da Int a SmallInt. Inoltre è irreale che la quantità ordinata di un certo prodotto superi i limiti del type Smallint Metodologie e Strumenti di Data Profiling Column Property Analysis (4) Character Patterns: Alcuni campi di testo devono contenere valori conformi a strutture alfanumeriche (sequenze di caratteri alfanumerici) Problema: i campi che devono rispettare un pattern hanno molti problemi di qualità in quanto sono rari i controlli dei DBMS in fase di data entry. Quindi in uno stesso campo i valori possono rispettare più di un pattern. Trovare il pattern corretto analizzando metadati esterni è difficile poiché spesso non sono documentati Soluzione: utilizzo di tools per identificare i patterns presenti nel campo e analizzando i risultati sulle frequenze dei patterns, stabilire quale sia quello corretto e conformare i valori inaccurati. eseguiamo una pattern frequency analysis sul campo phone(VARCHAR) della tabella customers. 21 Metodologie e Strumenti di Data Profiling Column Property Analysis (5) Casi di patterns con pochi valori conformi possibili problemi di DQ 22 Metodologie e Strumenti di Data Profiling Column Property Analysis (6) Pattern con più valori conformi candidato ad essere il pattern esatto per il campo phone Lo stesso tipo di analisi può essere eseguita per i campi: phone e postal code (offices) postal code (customers) email (employees) 23 Metodologie e Strumenti di Data Profiling Column Property Analysis (7) Conteggi valori Null, Blank (campi di testo), Unique, Distinct, e Duplicate Informazioni utili per valutare se un campo dichiarato primary key lo è effettivamente Distinct count: conteggio di valori diversi nel campo Unique count: conteggio di valori diversi con una sola occorrenza. È minore o uguale a Distinct count Duplicate count: conteggio dei valori che appaiono più di una volta. Duplicate count + Unique count = Distinct count. Esempio: a,a,a,a,b,b,c,d,e => 9 valori, 5 distinct values, 3 unique values, 2 duplicate values Affinchè un campo sia primary key deve valere Distinct count = Unique count 24 Metodologie e Strumenti di Data Profiling Column Property Analysis (8) Analizziamo tutti i campi del DB classicmodels definiti primary key sono effettivamente tutte primary key. In figura un primary key con data type VARCHAR, con anche il conteggio dei blank values che ovviamente è zero. 25 Metodologie e Strumenti di Data Profiling Column Property Analysis (9) Text Field 26 Analisi campo email tabella employees. Un valore /valori ha lunghezza 4 (min lenght). Considerando che un indirizzo e-mail ha come minimo 4 caratteri: @, . (punto), dominio (minimo due caratteri it, uk, eu, ecc.) ci sono valori che non sono indirizzi validi. Metodologie e Strumenti di Data Profiling Column Property Analysis (10) Frequenze Valori in base alla metrica Soundex Conteggio del numero di record, che hanno valori distinti nel campo sotto analisi secondo la metrica soudex Records con la stessa pronuncia (solo per la lingua Inglese) sono conteggiati una sola volta. Solo per campi di testo Utile per scoprire possibili problemi di accuratezza dovuti a digitazioni errate Ad esempio modifichiamo alcuni valori del campo firstName di employees, in particolare abbiamo il nome Hilbert (esatto) e il nome Heilbpr (errato). Secondo la soundex questi valori sono uguali e quindi dovrebbe essere conteggiato il solo valore esatto 27 Metodologie e Strumenti di Data Profiling Column Property Analysis (11) Il conteggio su “Hilbert” è esatto. Inoltre i valori nel risultato dell’analisi possono essere confrontati con gli altri nel campo per identificare i problemi di accuratezza nel campo firstName. 28 Metodologie e Strumenti di Data Profiling Column Property Analysis (12) Business meaning (linea guida): 29 Cosa deve essere memorizzato in un campo in una tabella Employees analizzo l’attributo Codice Fiscale definisco il meaning di Codice Fiscale raccogliendo informazioni dal nome e da descrizioni (data dictionary) e da documentazione esterna controllo valori campo: si scopre contenere numeri Carta Identità risultato: campo usato in maniera differente rispetto al meaning utilizzato anche per determinare la capacità descrittiva del nome. Infatti dopo avere scoperto il meaning, può capitare che il nome non sia rappresentativo del contenuto. Metodologie e Strumenti di Data Profiling Column Property Analysis (13) Precision (linea guida) 30 proprietà che indica il numero di posizioni alla destra del punto decimale in un valore di un campo numerico. I valori del campo possono essere analizzati e può essere creata una distribuzione che mostra il numero di valori per ciascuna precisione trovata. Questo può essere utile per determinare il corretto utilizzo del data type. Ad esempio se tutti i valori risultano essere valori interi ma il data type è un decimal o float si rende necessario un cambiamento del data type del campo Metodologie e Strumenti di Data Profiling Structure Analysis (1) L’analisi strutturale raccoglie informazioni per verificare i vincoli di integrità: Vincoli intra-relazionali: ogni vincolo di questo tipo coinvolge una sola relazione del database; si possono suddividere ulteriormente in: Vincoli di tupla : ogni vincolo va valutato su ogni tupla presa singolarmente (NOT(Lode=‘Sì’)) OR (Voto=30)) Vincoli di valore o di dominio: impongono delle restrizioni sui domini degli attributi, coinvolgono un singolo attributo. Sono i vincoli Vincoli inter-relazionali: ogni vincolo di questo tipo coinvolge più relazioni del database 31 chiavi primarie chiavi primarie composte Vincoli referenziali (foreign key) Metodologie e Strumenti di Data Profiling Structure Analysis (2) Anche se i controlli dei DBMS sui vincoli di integrità sono molto forti, questo tipo di analisi va comunque eseguita. Non c’è una totale immunità dai problemi di tipo strutturale. Trascurare questa fase della metodologia di dettaglio porta a gravi conseguenze quando si devono migrare i dati su altre strutture. Utile per vedere se le strutture combaciano e che la migrazione sia fattibile. 32 Metodologie e Strumenti di Data Profiling Structure Analysis (3) Focalizziamoci sui vincoli inter-relazionali in particolare sui Livello più alto rispetto alla column property analysis: livello struttura Raccolta di informazioni per verificare le relazioni tra i campi che formano le strutture per descrivere i business object Un business object è un entità del mondo reale che viene rappresentata nel database con un insieme di tabelle e relazioni di foreign key vincoli referenziali di foreign key 33 Esempio di business object: ordine di un cliente composto da intestazione, linee d’ordine e informazioni di spedizione Metodologie e Strumenti di Data Profiling Structure Analysis (4) Processo proposto da Olson per scoprire i vincoli referenziali: Database Determinare i vincoli referenziali candidati (Analista) Verificare i vincoli referenziali (Analista, Tool) Records che soddisfano il vincolo 34 Ipotizzare i vincoli referenziali che potrebbero esistere nei dati ragionando a livello di business object. Per individuare i campi che possono fungere da primary / foreign key si ispeziona il DB cercando i campi candidati in base all’espressività del nome o alla assenza di valori null (un campo identificativo non deve contenere valori null) Ispezionando la documentazione esterna I vincoli ipotizzati devono essere verificati sui dati con un tool che permetta un’ analisi di column comparision. Records che non soddisfano il vincolo Metodologie e Strumenti di Data Profiling Structure Analysis (5) Ricordiamo la definizione di vincolo referenziale: Un vincolo di integrità referenziale (foreign key) fra un insieme di attributi X di una relazione R1 e un’altra relazione R2 è soddisfatto se i valori su X di ciascuna tupla dell’istanza di R1 compaiono come valori della chiave primaria dell’istanza di R2. Identifichiamo a livello di business tra le tabelle del db le possibili relazioni foreign key e verifichiamo che la definizione sia rispettata. Ispezioniamo il db classicmodels e verifichiamo che i vincoli referenziali dichiarati siano effettivamente relazioni foreign key. 35 Metodologie e Strumenti di Data Profiling Structure Analysis (6) Relazioni foreign key documentate del database del caso di studio 36 Metodologie e Strumenti di Data Profiling Structure Analysis (7) R1 attributo X:officeCode (employees) R2 attributo PK: officeCode (offices) R1 attributo X: salesRepEmployeeNumber (customer) R2 attributo PK: employeeNumber (employees) 37 Metodologie e Strumenti di Data Profiling Structure Analysis (8) R1 attributo X: customerNumber (orders) R2 attributo PK: customerNumber (customers) R1 attributo X:customerNumber (payments) R2 attributo PK: customerNumber (customers 38 Metodologie e Strumenti di Data Profiling Structure Analysis (9) R1 attributo X: orderNumber (orderdetails) R2 attributo PK: orderNumber (orders) R1 attributo X: productCode (orderdetails) R2 attributo PK: productCode (products) 39 Metodologie e Strumenti di Data Profiling Structure Analysis (10) R1 attributo X: productLine (products) R2 attributo PK: productLine (productlines) Risultato dell’analisi delle relazioni foreign key del DB classicModels: 40 I vincoli referenziali candidati sono tutti effettivamente delle relazioni foreign key. Anche la relazione tra salesRepEmployeeNumber (customer) e employeeNumber (employees) che ha come risultato il 18% (22) di valori che non compaiono nella relazione employees è valida in quanto nella documentazione è esplicitamente dichiarato che 22 nuovi clienti non hanno ancora assegnato un responsabile di vendita dell’azienda. Metodologie e Strumenti di Data Profiling Data Rule Analysis (1) Analisi a livello di singolo business object (simple rule) o di più business object (complex rule) Data Rule: è un’ espressione di una condizione che coinvolge più valori che deve essere soddisfatta su un insieme di dati affinchè essi siano considerati accurati. Le data rules sono un sottoinsieme delle business rules. Forte collaborazione tra data analyst e business analyst per raccogliere le regole e verificarle sui dati. Le data rule hanno una grande componente semantica. Bisogna capire come i dati si relazionano con gli altri dati nel contesto di come il business decide di operare. La semantica non è identificabile attraverso un tool e solo i business analyst riescono a comprendere e devono definire ad un livello più alto per poi essere tradotte in un linguaggio adatto all’esecuzione dai data analyst. 41 Metodologie e Strumenti di Data Profiling Data Rule Analysis (2) Le data rule si dividono in: Hard Data Rule: devono essere necessariamente verificate. Non ci possono essere eccezioni alle regole. Soft Data Rule: può non essere sempre verificata. Ci possono essere eccezioni alla regola. 42 Esempio DATA_ASSUNZIONE deve essere maggiore di DATA_NASCITA + 18, ovvero tutti i dipendenti hanno più di 18 anni. Ma se si assume un “piccolo genio” che ha già un PhD e solo 16 anni, si ha un’eccezione alla data rule. Una violazione alle soft data rule non indica necessariamente un caso di dati inaccurati ma appunto potrebbe essere una violazione valutazione di business analyst Metodologie e Strumenti di Data Profiling Data Rule Analysis (3) Processo di Data Rule Analysis: Gathering Data Rules: il business analyst e il data analyst raccolgono dalla documentazione esterna possibili descrizioni di data rule da verificare. Le fonti sono: Tutte le data rules dovrebbero essere registrate nel repository attraverso la: 43 Source Code: codice sorgente delle applicazioni che utilizzano i dati. Database-Stored Procedures: parti di codice che aggiungono della logica di controllo al database engine per verificare il rispetto delle condizioni sui dati in inserimenti, aggiornamenti e cancellazioni. Speculation: ispezione del database e ipotesi su possibili data rule. Altre forme di documentazione. descrizione testuale traduzione nel linguaggio per l’esecuzione Testing Data Rules: dopo aver definito (in un linguaggio appropriato) le data rule, vengono testate sui dati attraverso un software. I risultati sono i record che contengono le violazioni alle data rule e vengono memorizzati nel repository. Output Validation: valutazione dei risultati con il gruppo di esperti per stabilire se esistono inaccuratezze, se esistono eccezioni o se la formulazione delle data rule è errata. Metodologie e Strumenti di Data Profiling Data Rule Analysis (4) Esempio di data rule analysis sul caso di studio. Alcuni tipi di data rule che verifichiamo: Date: controllano l’ordinamento tra date Duration: controllano che i valori, risultato di un calcolo tra date, rispettino certe condizioni Work Flow: riguardano campi di un business object che definiscono uno stato dell’object in base ai valori di altri campi. 44 Data rule di cui forniamo linee guida: Object Subgrouping Columns Metodologie e Strumenti di Data Profiling Data Rule Analysis (5) Gathering Data Rules Individuazione della tabella adatta all’esempio: Orders Dalla documentazione di classicmodels otteniamo le seguenti informazioni su Orders: Un ordine viene spedito da 6 a 10 giorni Il campo status può contenere i seguenti valori: Order date: data di ricezione dell’ordine Require date: data entro cui l’ordine deve essere evaso Shipped date: data effettiva di evasione dell’ordine In process: l’ordine è stato ricevuto e deve essere evaso Shipped: l’ordine è stato evaso Cancelled: l’ordine è stato cancellato dal customer prima di esser spedito Disputed: ordine ricevuto dal customer ma questo non è soddisfatto Resolved: ordine in cui lo stato di disputed è stato risolto On hold: ordine non evaso finchè non viene ricevuto il pagamento (evasione > 10) Definizione delle regole in base alle informazioni ottenute: 45 Date Rule: verifichiamo che la data di ordinazione è antecedente alla data di spedizione Duration Rule: verifichiamo che un ordine è evaso entro 10 giorni, salvo eccezioni Work flow Rule: verifichiamo che l’ordine deve essere cancellato da un cliente prima che esso sia spedito Metodologie e Strumenti di Data Profiling Data Rule Analysis (6) Date Rule: la data di ordinazione è antecedente alla data di spedizione Descrizione testuale Definizione in SQL Memorizzazione regola nel repository 46 Metodologie e Strumenti di Data Profiling Data Rule Analysis (7) Testing Date Rule 47 Output Validation La regola è verificata. I 14 records che non rispettano la regola sono trascurabili in quanto per questi il valore shipped date è null e indicano ordini che non sono stati ancora evasi. Metodologie e Strumenti di Data Profiling Data Rule Analysis (8) Duration Rule: un ordine è evaso entro 10 giorni, salvo eccezioni 48 Metodologie e Strumenti di Data Profiling Data Rule Analysis (9) Testing Duration Rule 49 Output Validation La regola è verificata. Dei 15 records che non rispettano la regola: 14 sono trascurabili in quanto per questi il valore shipped date è null e indicano ordini che non sono stati ancora evasi. ECCEZIONE ALLA REGOLA: 1 record ha order date = 22/10/2003 e shipped date = 26/12/2003 ovvero l’ordine è stato evaso in 65 giorni ma il valore è esatto in quanto dal campo comments si legge che l’ordine si è trovato in stato on hold, quindi non è stato evaso finchè non si è ricevuto il pagamento dal customer È una soft data rule, per l’eccezione trovata. Metodologie e Strumenti di Data Profiling Data Rule Analysis (10) Work flow Rule: l’ordine deve essere cancellato da un cliente prima che esso sia spedito. Verifico che tutti i record con stato cancelled abbiano la data di spedizione null Verifico che non ci siano altri record con stato cancelled per cui la data di spedizione è diversa da null 50 Metodologie e Strumenti di Data Profiling Data Rule Analysis (11) Testing Work flow Rule 51 Output Validation La regola è verificata su tutti i records Metodologie e Strumenti di Data Profiling Data Rule Analysis (12) Object Subgrouping Columns (linea guida) Un altro tipo di data rules riguarda quei campi che dividono il tipo dell’object in subtypes. Ad esempio GENDER divide gli impiegati in MALE e FEMALE o MARITAL_STATUS divide gli impiegati in MARRIED e NOT_MARRIED. La divisione degli oggetti in sottogruppi ha un impatto sui valori accettabili in altri campi. Ad esempio si vuole creare una regola su una tabella impiegati, contenente un attributo MARRIED e SPOUSE_NAME, con la quale si verifica che se un impiegato è sposato allora sono presenti informazioni sulla moglie. La regola potrebbe essere: 52 SPOUSE_NAME IS 'BLANK' IF MARRIED_FLAG IS NOT YES una volta definita nel linguaggio appropriato all’esecuzione con il tool va eseguita su tutti i record della tabella impiegati, valutando dopo i risultati per vedere se ci sono inaccuratezze, eccezioni o se la regola è stata formulata male. Metodologie e Strumenti di Data Profiling Database Structure Analysis Analisi a livello di database Informazioni statistiche sul intero DB che permettono di ottenere un overview del suo contenuto Informazioni a livello di database Informazioni a livello di tabella 53 Metodologie e Strumenti di Data Profiling Confronto tra Metodologie Generali (1) Confronto tra le varie metodologie generali analizzate 54 Metodologie e Strumenti di Data Profiling Le celle marcate con X (maiuscola) vuol dire che la metodologia specifica in modo chiaro una data fase; invece le celle marcate con x (minuscola) indica che la metodologia accenna ad una determinata fase senza fornire dettagli Confronto tra Metodologie Generali (2) Confronto tra le varie metodologie generali analizzate 55 Metodologie e Strumenti di Data Profiling Le celle marcate con X (maiuscola) vuol dire che la metodologia specifica in modo chiaro una data fase; invece le celle marcate con x (minuscola) indica che la metodologia accenna ad una determinata fase senza fornire dettagli Confronto tra Metodologie di Dettaglio Confronto tra le varie metodologie di dettaglio analizzate 56 Metodologie e Strumenti di Data Profiling Confronto Tools di Data Profiling (1) Confronto dei tool basato sulle caratteristiche principali Classifichiamo i tool sulla base della licenza di utilizzo Presentiamo nella tabella seguente, Features Comparison Matrix, i tool analizzati attraverso un confronto tra le caratteristiche principali (caratteristiche tecniche, tipi di analisi e funzionalità aggiuntive). Ricordiamo che alcune celle possono essere vuote a causa della mancanza di informazione su quella particolare caratteristica in quanto per alcuni tool i data sheet erano molto sommari e non c’era la possibilità di scaricare il software o documentazione più completa 57 Metodologie e Strumenti di Data Profiling Confronto Tools di Data Profiling (2) Features Comparison Matrix 58 Metodologie e Strumenti di Data Profiling Confronto Tools di Data Profiling (3) Features Comparison Matrix 59 Metodologie e Strumenti di Data Profiling Confronto Tools di Data Profiling (4) Features Comparison Matrix 60 Metodologie e Strumenti di Data Profiling Confronto Tools di Data Profiling (5) Nella tabella seguente, confrontiamo i tool sulla base delle dimensioni di qualità che i tipi di analisi permettono di valutare. In particolare il confronto è effettuato secondo questi criteri: 61 Completeness – null values analysis Consistency – business rules analysis, conformità a data types, conformità a data pattern Business rule compliance – cross-column, cross-table, and cross-database analysis Relational Integrity – primary key and foreign-key integrity analysis Accuracy – distribuzioni di frequenza, univocità, duplicati Metodologie e Strumenti di Data Profiling Sviluppi Futuri La tesina può essere ulteriormente sviluppata con un’analisi più approfondita degli strumenti di data profiling trovati: È stato provato in modo completo Talend Open Profiler (come si può vedere negli esempi di queste slide) L’utilizzo degli altri tool elencati potrebbe migliorare la feautures comparison matrix Per ulteriori informazioni rimandiamo alla documentazione trovata e ai siti web dei produttori (nella slide successiva) 62 Metodologie e Strumenti di Data Profiling Riferimenti per i Tools: Links, Documentazione e Papers Talend Open Profiler Oracle Data Profiling and Oracle Data Quality for Data Integrator (ODI) Indirizzo web: www.informatica.com/products_services/data_explorer/Pages/index.aspx SAS DataFlux df Power Profile 63 Paper: Profiling: Take the first step toward assuring data quality, IBM Information Management software, December 2006 Indirizzo web: www.ibm.com/software/data/infosphere Informatica Data Explore Indirizzo web: www.oracle.com/technology/products/oracle-dataintegrator/10.1.3/htdocs/1013_support.html IBM WebSphere Information Analyzer Indirizzo web: www.talend.com/products-data-quality/talend-open-profiler.php Talend Open Profiler User Guide: www.talend.com/resources/documentation.php Indirizzo web: www.dataflux.com/Products/Platform/dfPower-Studio/dfPowerProfile.aspx Metodologie e Strumenti di Data Profiling