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