venerdì, maggio 23, 2008

Oracle Data Profiling and Quality: uno strumento potente a supporto della Data Integration

Da un mesetto utilizzo Oracle Data Profiling and Quality e mi trovo veramente bene.

Sto utilizzando questo strumento nell'ambito di un progetto di CRM Analitico, dove una delle tematiche è la data integration da molteplici sistemi eterogenei (legacy, SAP, SAP CRM, etc.).

Uno dei problemi che ho dovuto affrontare è verificare rapidamente i dati che ci vengono inviati, prima di processarli. Un verifica manuale permette di identificare i problemi macroscopici delle interfacce di integrazione, ma può essere complessa per il formato dell'interfaccia e per la quantità dei dati da analizzare.

Con Oracle Data Profiling and Quality devo innanzitutto definire il formato delle interfacce, che possono essere tracciati a record fisso, tracciati con separatore, tabelle Oracle, tabelle DB2, sorgenti dati ODBC e altre.

Quindi posso procedere ad analizzare i dati che mi vengono forniti. Lo strumento spacchetta automaticamente i record nei campi indicati nella definizione dell'interfaccia e permette di visualizzarli su un'interfaccia tipo Excel, su cui posso ordinare i record secondo i vari campi, posso effettuare ricerche, etc.

Fin qua nulla di veramente eccitante, ma ora viene il bello. Oltre a quanto detto lo strumento effettua automaticamente una serie di interessanti analisi:

- ricerca automaticamente i campi che possono essere la chiave dell'entità/interfaccia processata, indicando eventualmente i record che violano questa chiave. Rileva anche le chiavi definite su campi multipli. Esempio, nell'estrazione di un'anagrafica clienti rileva che la partita IVA è una chiave, ma segnala come probabile chiave anche la somma dei campi Ragione Sociale e Indirizzo.

- ricerca automaticamente eventuali relazioni e dipendenze tra i campi dell'interfaccia. Continuando l'esempio dell'anagrafica, rileva che il campo Provincia è correlato al campo Città, magari indicando che questo non è vero per la città di Villanova che si trova sia in provincia di Torino che in provincia di Asti.

- per ciascun campo dell'interfaccia identifica tutti i possibili valori, riporta la distribuzione di questi valori e cerca di identificare eventuali pattern. Ad esempio riporta che nel campo Sesso sono presenti solo i valori M ed F con distribuzione di 48% sul primo e 52% sul secondo. E poi riconosce che nel campo data di nascita la data è nel formato YYYYMMDD.

Le analisi indicate vengono fatte automaticamente dallo strumento e molto velocemente. Ad esempio, analizzare 50000 record di un'interfaccia con 100 campi, sul mio notebook impiega all'incirca 10 minuti.

Oltre alle analisi automatiche lo strumento permette di aggiungere dei controlli, delle regole di business che devono essere verificate, anche tra diverse interfacce. Ad esempio è possibile aggiungere dei controlli di congruenza tra differenti interfacce. Ad esempio, se ho un flusso di dati delle anagrafiche dei clienti e un altro flusso dati del parco auto, posso aggiungere un controllo per verificare che il campo codice cliente che mette in relazione le due interfacce contenga gli stessi valori, nello stesso formato, e che non ci siano disallineamenti tra le interfacce.

Oracle Data Quality and Profiling fa parte della suite Oracle Data Integrator. E' un prodotto piuttosto recente di Oracle, probabilmente frutto di qualche acquisizione. Più in generale Oracle Data Integrator racchiude una molteplicità di strumenti, di cui mi sembra di aver visto solo la punta dell'iceberg.

Tra gli altri elementi del pacchetto fanno parte anche:

- il tool di Data Quality, che permette di verificare la qualità dei dati, di definire soglie di sbarramento per evitare di inquinare il datawarehouse con dati sporchi, e si integra anche con strumenti di normalizzazione angrafica (es. Trillium).

- il sistema di Data Integration: che sostanzialmente si pone ad un livello più alto degli strumenti di ETL, permettendo di gestira da un unico strumento tutto il processo di integrazione

Vi terrò aggiornati.