Data Quality Services:
let’s clean our data
Andrea Martorana Tusa
@bruco441
[email protected]
February 25th, 2017
#sqlsat589
Sponsors
February 25th, 2017
#sqlsat589
Organizers
February 25th, 2017
#sqlsat589
Speaker info
• Analista programmatore presso Banco BPM spa. 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, Francia, Germania, Polonia). Speaker
per Global Italian Virtual Chapter e per Business Intelligence Virtual
Chapter.
• Autore di articoli e documentazione per sqlservercentral.com, UGISS.
February 25th, 2017
#sqlsat589
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
February 25th, 2017
#sqlsat589
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à
February 25th, 2017
#sqlsat589
Introduzione a Data Quality Services
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.
February 25th, 2017
#sqlsat589
Introduzione a Data Quality Services
DQS fornisce le seguenti features per garantire il servizio di data
quality (1/2):
 Data Cleansing: modifica, rimozione o correzione di dati
incorretti o incompleti.
 Matching: identificazione di dati duplicati, per effettuare
operationi di de-duplicazione.
 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.
February 25th, 2017
#sqlsat589
Introduzione a Data Quality Services
DQS fornisce le seguenti features per garantire il servizio di data
quality (2/2):
 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.
February 25th, 2017
#sqlsat589
I componenti di Data Quality Services
Data Quality
Client
Data Quality
Server
February 25th, 2017
#sqlsat589
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.
February 25th, 2017
#sqlsat589
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.
February 25th, 2017
#sqlsat589
I componenty 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.
February 25th, 2017
#sqlsat589
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.
February 25th, 2017
#sqlsat589
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».
Un processo di Data
Quality è quindi un
processo a ciclo continuo
fondato su una logica di
affinamenti progressivi ad
ogni esecuzione.
February 25th, 2017
#sqlsat589
Come avviene il 2)processo
di Data Quality
Si passano i dati al
sistema DQS che li
analizza
1) Si definisce
una origine dati
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
February 25th, 2017
3) Si costruisce una KB
basata sui dati e si
definiscono delle regole
standard
4) Sulla base della KB
si creano dei Data
Quality Projects per la
pulizia e la correzione
di set di dati
6) I dati elaborati si
possono esportare
all’esterno
#sqlsat589
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.
February 25th, 2017
#sqlsat589
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
February 25th, 2017
#sqlsat589
DEMO 1
Knowledge Base
•
•
•
•
Creare una KB
Gestire una KB
Knowledge Discovery
Domain Management
• Reference data
• Domain rules
• Domain values
February 25th, 2017
#sqlsat589
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.
February 25th, 2017
#sqlsat589
Data
cleansing
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
February 25th, 2017
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
#sqlsat589
Data Quality Projects
Auto-suggestion treshold
Auto-correction treshold
February 25th, 2017
#sqlsat589
DEMO 2
Data Quality Projects
• Creare un nuovo Data Quality Project
• Effettuare un’attività di data cleansing
February 25th, 2017
#sqlsat589
Data Quality Projects
Data
matching
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.
February 25th, 2017
#sqlsat589
Data Quality Projects
Data
matching
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.
February 25th, 2017
#sqlsat589
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
February 25th, 2017
Matching
policy process
• Crea una o
più regole
di matching
Matching
result process
• Testa le
regole e
aggiunge la
policy alla
KB
#sqlsat589
DEMO 3
Creare una Matching Policy in una Knowlegde Base
February 25th, 2017
#sqlsat589
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
February 25th, 2017
Matching process
• Esegue l’analisi
per trovare le
corrispondenze
Sopravvivenza ed
esportazione
• Designa il
valore migliore
ed esporta i
risultati
#sqlsat589
DEMO 4
Data Quality Projects
• Creare un nuovo Data Quality Project
• Effettuare un’attività di data matching
February 25th, 2017
#sqlsat589
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.
February 25th, 2017
#sqlsat589
DQS Cleansing component in Integration Services
February 25th, 2017
#sqlsat589
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.
February 25th, 2017
#sqlsat589
DEMO 5
DQS Cleansing Component in Integration Services
February 25th, 2017
#sqlsat589
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.
February 25th, 2017
#sqlsat589
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”.
February 25th, 2017
#sqlsat589
Conclusione
February 25th, 2017
#sqlsat589
#sqlsat589
THANKS!
Q&A
February 25th, 2017
#sqlsat589