Data Quality Services
Come pulire i nostri dati
Andrea Martorana Tusa
21 dicembre 2016
Speaker | Andrea Martorana Tusa
• Analista programmatore presso il Banco Popolare. Si occupa di tutte le
applicazioni IT legate alla gestione dei dipendenti dell’azienda.
• Principali attività: sviluppo e monitoraggio database, data warehouse, BI
and analytics, produzione di reportistica per la Direzione del Personale a
supporto delle decisioni aziendali.
• Microsoft Certified Technology Specialist.
• Speaker nei SQL Saturdays ed in altre conferenze in Italia ed all’estero
(Danimarca, Bulgaria, Slovenia, Germania). Speaker per Global Italian Virtual
Chapter e per Business Intelligence Virtual Chapter.
• Autore di articoli e documentazione per sqlservercentral.com, UGISS.
2
Agenda
•
•
•
•
•
Introduzione a Data Quality Services (DQS)
I componenti di DQS
Il processo di Data Quality
Creare una Knowledge Base
Implementare un Data Quality Project
– Data Cleansing
– Matching Policy
– Data Matching
• Data Cleansing con Integration Services
• Sicurezza
• Q&A
3
Introduzione a Data Quality Services
Data Quality Services (DQS) è la soluzione prevista da Microsoft per mantenere la qualità
dei nostri dati ed assicurare che essi siano conformi alle logiche di business.
E’ una feature introdotta a partire da SQL Server 2012.
Una soluzione di data quality deve rendere i dati più affidabili, accessibili e riutilizzabili e
deve sempre garantire il rispetto delle seguenti caratteristiche:
• Completezza
• Accuratezza
• Conformità
• Consistenza
• Validità
• Tempestività
DQS consente direttamente ai business users di
implementare e mantenere le regole di data quality e di
eseguire le attività di data cleansing. Non è necessario
essere programmatori o esperti di basi di dati.
4
Introduzione a Data Quality Services
DQS fornisce le seguenti features per garantire il servizio di data quality:
• Data Cleansing: modifica, rimozione o correzione di dati incorretti o incompleti.
• Matching: identificazione di dati duplicati, per effettuare operationi di deduplicazione.
• Reference Data Services: verifica della qualità dei dati usando dei services esterni di
un refererence data provider. Per esempio Windows Azure Marketplace.
• Profiling: analisi della fonte dati per fornire informazioni a tutte le fasi del processo
di pulizia dei dati.
• Monitoring: tracciamento e verifica sullo stato delle attività di data quality.
• Knowledge Base: una soluzione DQS è basata sulla conoscenza e sull’analisi dei dati
che la costituiscono. Si tratta di un processo continuo, per cui tutti i dati che arrivano
aumentano la Knowledge Base della soluzione e questo consente a sua volta il
miglioramento della qualità dei dati stessi.
5
I componenti di Data Quality Services
1. Data Quality
Client
2. Data Quality
Server
6
Data Quality Server
Data Quality Server consiste fondamentalmente di tre
database installati nell’istanza di SQL Server:
• DQS_MAIN
• DQS_PROJECTS
• DQS_STAGING_DATA
DQS_MAIN comprende le stored procedures, il motore di DQS
e le knowledge bases.
DQS_PROJECTS comprende i dati richiesti per la gestione delle
knowledge base e i progetti DQS.
DQS_STAGING_DATA fornisce un database intermedio di
supporto per copiare eventuali origini dati o esportare dati
processati.
7
Data Quality Client
Data Quality Client è un’applicazione client che consente di creare e gestire progetti, creare
e gestire knowledge bases, monitorare le attività.
E’ l’interfaccia utente per l’esecuzione di tutte le operazioni di data quality, matching,
cleansing, ecc. e sarà quella usata per le nostre demo.
8
I componenti di Data Quality Services
Data Quality Services è un’applicazione stand-alone che solitamente risiede sul computer
utente.
Entrambi i componenti devono essere installati in uno step successivo da lanciare dopo
l’installazione di una istanza di SQL Server
9
Gli attori di Data Quality Services
• IT Professional
• Data steward
Da Wikipedia
A data steward is a person responsible for the management and fitness of data elements both the content and metadata. Data stewards have a specialist role that incorporates
processes, policies, guidelines and responsibilities for administering organizations' entire
data in compliance with policy and/or regulatory obligations.
I data steward sono tipicamente Business Users, non tecnici, che hanno la responsabilità
di analizzare e mantenere puliti i dati aziendali. Possono utilizzare Data Quality Services
per creare, gestire e alimentare Knowledge Bases da mettere a disposizione di altri
utenti.
10
Il processo di Data Quality
Data Quality Services è un’applicazione guidata dai dati. E’ quindi basata su una logica di
Countinuous Improvement governata dall’acquisizione di conoscenza. Più dati arrivano,
migliore è la loro comprensione, più facile sarà la loro «pulizia».
Il processo di Data Quality è quindi un processo a ciclo continuo fondato su una logica di
affinamenti progressivi ad ogni esecuzione.
11
Come avviene il processo di Data Quality
2) Si passano i dati al
sistema DQS che li analizza
1) Si definisce
una origine dati
3) Si costruisce una KB basata
sui dati e si definiscono delle
regole standard
7) Arrivano nuovi dati ad
arricchire la KB ed il processo si
ripete
5) Si applicano le operazioni di data
cleansing e matching ai DQP sulla
base delle regole della KB
4) Sulla base della KB si creano dei
Data Quality Projects per la pulizia e
la correzione di specifici set di dati
6) I dati elaborati si possono
esportare all’esterno
12
Knowledge Base
Una Knowledge Base è un archivio di metadati che è usata da DQS per migliorare la qualità
dei dati. I metadati possono essere creati sia da DQS attraverso un processo assistito di
knowledge discovery, sia da un data steward in processo interattivo di creazione di un
dominio.
La creazione di una Knowledge Base è il primo passo
nell’esecuzione di un progetto di data quality. Per
purificare i dati è necessario definire un archivio di
riferimento, che successivamente DQS può utilizzare
per identificare dati non corretti o non validi.
La creazione di una Knowledge Base ci garantisce nel
mantenere l’integrità e la correttezza dei nostri dati.
13
I componenti di una Knowledge Base
Knowledge Discovery: un processo
assistito dal computer che elabora un
campione di dati
Domain Management: un processo
interattivo gestito da un data steward
per la gestione e verifica dei domini
di dati
Matching Policy : le regole che
definiscono come DQS processa i
record per identificare potenziali
duplicati o dati mancanti
14
Demo 1
Knowledge Base
• Creare una KB
• Gestire una KB
• Knowledge Discovery
• Domain Management
• Reference data
• Domain rules
• Domain values
15
Data Quality Projects
Dopo aver prodotto una Knowledge Base, possiamo utilizzarla per processare i nostri
dati.
È il momento di creare un Data Quality Project per effettuare operazioni di data
cleansing e/o data matching.
Data
cleansing
Data
matching
Il risultato dell’elaborazione può essere esportato in un database di SQL Server o come
file csv.
16
Data Quality Projects
Cleansing: è la fase di analisi di una data source rispetto ad una Knowledge Base. La KB
identifica errori ed inesattezze e propone correzioni che possono essere accettate o
respinte dall’utente.
Per esempio, in questa fase si possono standardizzare le regole di nomenclatura di un
indirizzo modificando «v.» in «via» o «St.» in «San».
Il processo avviene in quattro steps:
Mapping
• Associa la
data source
ad un
dominio in
una KB
Computer
assisted
• Usa la KB per
trovare
anomalie e
suggerire
correzioni
Interactive
cleansing
• L’utente può
approvare,
respingere,
modificare le
correzioni
proposte.
Export
• I dati
bonificati
vengono
esportati in
Excel o in un
database
17
Data Quality Projects
Auto-suggestion treshold
Auto-correction treshold
18
Demo 2
Data Quality Projects
• Creare un nuovo Data Quality Project
• Effettuare un’attività di data cleansing
19
Data Quality Projects
Matching: il matching consente di ridurre la duplicazione dei dati e di migliorare
l’accuratezza di una data source.
Nella fase di matching, DQS analizza il grado di duplicazione dei record in una fonte dati,
restituendo una probabilità pesata di correlazione tra la Knowledge Base ed i record
esaminati. L’utente può decidere se accettare o meno le correzioni ed intervenire sull’origine
dei dati.
Origine dati
Verona 1
Verona 4
Firenze 1
Firenze 2
De-duplicazione
Matching
Verona
Firenze
Firenze 3
Firenze 4
Per eseguire un matching è prima di tutto necessario creare una
Matching Policy in una Knowledge Base.
20
Matching Policy
Una matching policy consiste di una serie di regole impostate all’interno di una
Knowledge Base per stabilire quale dominio usare quando DQS valuta e confronta i
record di una fonte dati e per definire il peso da assegnare a ciascun dominio nella fase
di analisi.
La creazione di una matching policy si basa su tre steps:
Mapping
process
• Mappa
l’origine dati
ad un
dominio in
una KB
Matching policy
process
• Crea una o
più regole di
matching
Matching result
process
• Testa le
regole e
aggiunge la
policy alla KB
21
Demo 3
Creare una Matching Policy in una Knowlegde Base
22
Data Quality Projects
Dopo aver creato una matching policy, si può eseguire un matching in un Data Quality
Project, basato sulla Knowledge Base che contiene la matching policy.
La fase di matching identifica i gruppi di record che possono essere considerati simili in base
alle regole che abbiamo definito, identifica il valore da applicare al gruppo ed esporta i
risultati.
Il processo si articola in tre steps:
Mapping process
• Mappa l’origine
dati ad un
dominio
Matching process
• Esegue l’analisi
per trovare le
corrispondenze
Sopravvivenza ed
esportazione
• Designa il
valore migliore
ed esporta i
risultati
23
Demo 4
Data Quality Projects
• Creare un nuovo Data Quality Project
• Effettuare un’attività di data matching
24
Reference Data Service in DQS
Reference Data Service è un servizio di DQS che consente di utilizzare set di dati esterni per
operazioni di data quality.
Attraverso Reference Data Services è possibile fare una sottoscrizione ad un servizio
commerciale di terze parti che forniscono dati di qualità certificata da usare come
riferimento.
Per esempio, per progetti di data quality su indirizzi USA, si ricorre comunemente a dataset
disponibili in Azure Marketplace.
25
DQS Cleansing component in Integration Services
26
Usare Integration Services per data cleansing
Integration Services ha un componente DQS che consente di effettuare operazioni di
data cleansing direttamente dentro un SSIS package.
Si può quindi collegare un’attività di data
cleansing direttamente ad un processo ETL,
senza bisogno di operare a mano nel DQS Client.
Naturalmente bisogna prima aver definito una
Knowledge Base ed eseguito una Knowledge
Discovery.
27
Demo 5
DQS Cleansing Component in Integration Services
28
DQS Security
L’infrastruttura di sicurezza in DQS è basata sulle regole di SQL Server. Gli
utenti sono associati ad un ruolo DQS con abilitazioni preimpostate.
L’architettura di DQS prevede 4 ruoli:
• DBA > sysadmin role in SQL Server.
• DQS Administrator > dqs_administrator role in SQL Server. Può fare
qualsiasi cosa all’interno dello scope di DQS.
• DQS KB Editor > dqs_kb_editor role in SQL Server. Può creare ed
eseguire un progetto, creare e modificare una Knowledge Base.
• DQS KB Operator > dqs_kb_operator role in SQL Server. Può modificare
ed eseguire un progetto. Non può creare o modificare una Knowledge
Base.
29
Integrazione con MDS
Data Quality Processes in Master Data Services
Le funzionalità di DQS sono state integrate
dentro Master Data Services (MDS), così è
possible eseguire operazioni di data quality nel
workflows di MDS. Il Matching è anche incluso
nel “Microsoft SQL Server 2011 Master Data
Services Add-in for Microsoft Excel”.
30
Conclusioni
31
Q&A
Domande?
32