La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Università degli Studi di Milano-Bicocca Corso di Laurea Magistrale in Informatica Metodologie e Strumenti di Data Profiling1 Corso di Rappresentazione.

Presentazioni simili


Presentazione sul tema: "Università degli Studi di Milano-Bicocca Corso di Laurea Magistrale in Informatica Metodologie e Strumenti di Data Profiling1 Corso di Rappresentazione."— Transcript della presentazione:

1 Università degli Studi di Milano-Bicocca Corso di Laurea Magistrale in Informatica Metodologie e Strumenti di Data Profiling1 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

2 Definizioni Metodologie e Strumenti di Data Profiling2  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

3 Data Profiling per il Proactive Data Quality Metodologie e Strumenti di Data Profiling3  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

4 Ruolo nei Progetti Data Management Metodologie e Strumenti di Data Profiling4  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.

5 Vantaggi nell’utilizzo del Data Profiling Metodologie e Strumenti di Data Profiling5 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

6 Approcci Tradizionali vs Approcci Automatici Metodologie e Strumenti di Data Profiling6  Il DP può essere effettuato con tecniche manuali (query SQL) o con tecniche automatiche (tools) Tecniche ManualiTecniche Automatiche adatte per campioni piccoli di datiutilizzabili con DB dell’ordine di TB analisi dati non completa e lentaanalisi dati accurata e veloce (riduzione tempo analisi del 90%) nessuna centralizzazione dei risultatisingolo punto di accesso ai risultati (metadata repository) aumento dei rischi e del carico di lavoromiglioramento affidabilità dei dati e riduzione dei rischi  Esistono molti approcci per determinare la qualità dei dati, tra cui il Data Profiling

7 Olson Metodologia Generale (1) Metodologie e Strumenti di Data Profiling7 Mostriamo la principale metodologia di profiling. Nel seguito mostreremo un confronto tra questa e la altre metodologie trovate.

8 Olson Metodologia Generale (2) Metodologie e Strumenti di Data Profiling8  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:  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

9 Olson Metodologia Generale (3) Metodologie e Strumenti di Data Profiling9  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  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.

10 Olson Metodologia Generale (4) Metodologie e Strumenti di Data Profiling10  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.

11 Olson Metodologia Generale (5) Metodologie e Strumenti di Data Profiling11  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.

12 Olson Metodologia Generale (6) Metodologie e Strumenti di Data Profiling12  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

13 Olson Metodologia di Dettaglio (1) Metodologie e Strumenti di Data Profiling13  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.  Ciascuna analisi raccoglie metadati/informazioni statistiche proprie che gli analisti utilizzano per identificare le inaccuratezze.

14 Olson Metodologia di Dettaglio (2) Metodologie e Strumenti di Data Profiling14  Il processo ha due obiettivi: 1. definire i metadati che determinano cosa è considerato di buona qualità 2. trovare le violazioni (inaccurate facts)  Il processo è valido per ogni analisi con qualche modifica delle fasi e degli output per ogni tipo di analisi.  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.

15 Olson Metodologia di Dettaglio (3) Metodologie e Strumenti di Data Profiling15  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.  Mentre per la fase di discovery può essere sufficiente un campione di dati, per la fase di validation è necessario l’intero data source.

16 Caso di Studio Metodologie e Strumenti di Data Profiling16  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/)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: Analisi (T.O.P) ClassicModels metadati Valutazione Analisti Inaccurate Data Facts DQ Rules definite dagli analisti DQ Rules definite dagli analisti Inaccurate Data Facts

17 Tabelle e Relazioni del DB classic models Metodologie e Strumenti di Data Profiling17

18 Column Property Analysis (1) Metodologie e Strumenti di Data Profiling18  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  Length (esempio TOP)  Range check (esempio TOP)  Character patterns (esempio TOP)  Null, Unique, Distinct, Duplicate, Blank count values (esempio TOP)  Text field (esempio TOP)  Solo in TOP  Frequenze valori in base alla metrica Soundex (esempio TOP)  Solo in Olson  Business name (linea guida)  Precision (linea guida)

19 Column Property Analysis (2) Metodologie e Strumenti di Data Profiling19  Lenght  nel campo AddressLine2 il 10,66% dei valori ha lunghezza pari ad un carattere  sono presenti indirizzi non completi.

20 Column Property Analysis (3) Metodologie e Strumenti di Data Profiling20  Range Check  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

21 Column Property Analysis (4) Metodologie e Strumenti di Data Profiling21  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.

22 Column Property Analysis (5) Metodologie e Strumenti di Data Profiling22  Casi di patterns con pochi valori conformi  possibili problemi di DQ

23 Column Property Analysis (6) Metodologie e Strumenti di Data Profiling23  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)

24 Column Property Analysis (7) Metodologie e Strumenti di Data Profiling24  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

25 Column Property Analysis (8) Metodologie e Strumenti di Data Profiling25  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.

26 Column Property Analysis (9) Metodologie e Strumenti di Data Profiling26  Text Field  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.

27 Column Property Analysis (10) Metodologie e Strumenti di Data Profiling27  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

28 Column Property Analysis (11) Metodologie e Strumenti di Data Profiling28  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.

29 Column Property Analysis (12) Metodologie e Strumenti di Data Profiling29  Business meaning (linea guida):  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.

30 Column Property Analysis (13) Metodologie e Strumenti di Data Profiling30  Precision (linea guida)  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

31 Structure Analysis (1) Metodologie e Strumenti di Data Profiling31  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  chiavi primarie  chiavi primarie composte  Vincoli inter-relazionali: ogni vincolo di questo tipo coinvolge più relazioni del database  Vincoli referenziali (foreign key)

32 Structure Analysis (2) Metodologie e Strumenti di Data Profiling32  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.

33 Structure Analysis (3) Metodologie e Strumenti di Data Profiling33  Focalizziamoci sui vincoli inter-relazionali in particolare sui vincoli referenziali di foreign key  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  Esempio di business object: ordine di un cliente composto da intestazione, linee d’ordine e informazioni di spedizione

34 Structure Analysis (4) Metodologie e Strumenti di Data Profiling34  Processo proposto da Olson per scoprire i vincoli referenziali: Database Determinare i vincoli referenziali candidati (Analista)  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 Verificare i vincoli referenziali (Analista, Tool)  I vincoli ipotizzati devono essere verificati sui dati con un tool che permetta un’ analisi di column comparision. Records che soddisfano il vincolo Records che non soddisfano il vincolo

35 Structure Analysis (5) Metodologie e Strumenti di Data Profiling35  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.

36 Structure Analysis (6) Metodologie e Strumenti di Data Profiling36 Relazioni foreign key documentate del database del caso di studio

37 Structure Analysis (7) Metodologie e Strumenti di Data Profiling37  R1 attributo X:officeCode (employees)  R2 attributo PK: officeCode (offices)  R1 attributo X: salesRepEmployeeNumber (customer)  R2 attributo PK: employeeNumber (employees)

38 Structure Analysis (8) Metodologie e Strumenti di Data Profiling38  R1 attributo X: customerNumber (orders)  R2 attributo PK: customerNumber (customers)  R1 attributo X:customerNumber (payments)  R2 attributo PK: customerNumber (customers

39 Structure Analysis (9) Metodologie e Strumenti di Data Profiling39  R1 attributo X: orderNumber (orderdetails)  R2 attributo PK: orderNumber (orders)  R1 attributo X: productCode (orderdetails)  R2 attributo PK: productCode (products)

40 Structure Analysis (10) Metodologie e Strumenti di Data Profiling40  R1 attributo X: productLine (products)  R2 attributo PK: productLine (productlines)  Risultato dell’analisi delle relazioni foreign key del DB classicModels:  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.

41 Data Rule Analysis (1) Metodologie e Strumenti di Data Profiling41  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.

42 Data Rule Analysis (2) Metodologie e Strumenti di Data Profiling42  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.  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

43 Data Rule Analysis (3) Metodologie e Strumenti di Data Profiling43  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:  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.  Tutte le data rules dovrebbero essere registrate nel repository attraverso la:  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.

44 Data Rule Analysis (4) Metodologie e Strumenti di Data Profiling44  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.  Data rule di cui forniamo linee guida:  Object Subgrouping Columns

45 Data Rule Analysis (5) Metodologie e Strumenti di Data Profiling45  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:  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)  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  Definizione delle regole in base alle informazioni ottenute:  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

46 Data Rule Analysis (6) Metodologie e Strumenti di Data Profiling46  Date Rule: la data di ordinazione è antecedente alla data di spedizione Memorizzazione regola nel repository Descrizione testuale Definizione in SQL

47 Data Rule Analysis (7) Metodologie e Strumenti di Data Profiling47  Testing Date Rule  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.

48 Data Rule Analysis (8) Metodologie e Strumenti di Data Profiling48  Duration Rule: un ordine è evaso entro 10 giorni, salvo eccezioni

49 Data Rule Analysis (9) Metodologie e Strumenti di Data Profiling49  Testing Duration Rule  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.

50 Data Rule Analysis (10) Metodologie e Strumenti di Data Profiling50  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

51 Data Rule Analysis (11) Metodologie e Strumenti di Data Profiling51  Testing Work flow Rule  Output Validation  La regola è verificata su tutti i records

52 Data Rule Analysis (12) Metodologie e Strumenti di Data Profiling52  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:  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.

53 Database Structure Analysis Metodologie e Strumenti di Data Profiling53  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

54 Confronto tra Metodologie Generali (1) Metodologie e Strumenti di Data Profiling54  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 le varie metodologie generali analizzate

55 Confronto tra Metodologie Generali (2) Metodologie e Strumenti di Data Profiling55  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 le varie metodologie generali analizzate

56 Confronto tra Metodologie di Dettaglio Metodologie e Strumenti di Data Profiling56  Confronto tra le varie metodologie di dettaglio analizzate

57 Confronto Tools di Data Profiling (1) Metodologie e Strumenti di Data Profiling57  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

58 Confronto Tools di Data Profiling (2) Metodologie e Strumenti di Data Profiling58  Features Comparison Matrix

59 Confronto Tools di Data Profiling (3) Metodologie e Strumenti di Data Profiling59  Features Comparison Matrix

60 Confronto Tools di Data Profiling (4) Metodologie e Strumenti di Data Profiling60  Features Comparison Matrix

61 Confronto Tools di Data Profiling (5) Metodologie e Strumenti di Data Profiling61  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:  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

62 Sviluppi Futuri Metodologie e Strumenti di Data Profiling62  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)

63 Riferimenti per i Tools: Links, Documentazione e Papers Metodologie e Strumenti di Data Profiling63  Talend Open Profiler  Indirizzo web: www.talend.com/products-data-quality/talend-open-profiler.php  Talend Open Profiler User Guide: www.talend.com/resources/documentation.phpwww.talend.com/resources/documentation.php  Oracle Data Profiling and Oracle Data Quality for Data Integrator (ODI)  Indirizzo web: www.oracle.com/technology/products/oracle-data- integrator/10.1.3/htdocs/1013_support.htmlwww.oracle.com/technology/products/oracle-data- integrator/10.1.3/htdocs/1013_support.html  IBM WebSphere Information Analyzer  Paper: Profiling: Take the first step toward assuring data quality, IBM Information Management software, December 2006  Indirizzo web: www.ibm.com/software/data/infospherewww.ibm.com/software/data/infosphere  Informatica Data Explore  Indirizzo web: www.informatica.com/products_services/data_explorer/Pages/index.aspx www.informatica.com/products_services/data_explorer/Pages/index.aspx  SAS DataFlux df Power Profile  Indirizzo web: www.dataflux.com/Products/Platform/dfPower-Studio/dfPower- Profile.aspxwww.dataflux.com/Products/Platform/dfPower-Studio/dfPower- Profile.aspx


Scaricare ppt "Università degli Studi di Milano-Bicocca Corso di Laurea Magistrale in Informatica Metodologie e Strumenti di Data Profiling1 Corso di Rappresentazione."

Presentazioni simili


Annunci Google