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