Datacleansing amb Power*MatchMaker

Power MatchMaker és una eina de Data Cleansing que SQLPower ha alliberat transformant la llicència en Open Source, juntament amb la de Power Architect (eina per a la modelització de dades). Com que no és que hi hagi massa eines Open Source en el camp de la neteja de dades, m’ha pogut la curiositat i la he instal.lat per veure qué tal funciona. La instal·lació ha estat molt senzilla, el software es descarrega des de descàrrega de Power MatchMaker, en diferents versions segons el SO. Jo he provat la de Windows, que s’instal·la en 2 minuts només amb uns quants clicks. És important no oblidar-se del requeriment del Java Runtime 5.

Una vegada  instal·lat, per a veure com funciona el millor és seguir el tutorial que es troba en la mateixa ajuda de l’eina. També recomano veure la demo accessible des de la mateixa pàgina de MatchMaker.

El funcionament del software és molt senzill, es crea un repositori sobre una de les diferents BBDD sobre les que  es pot treballar, i amb les que connecta per JDBC, i es poden crear projectes de 3 tipus diferents: Deduplicació, Datacleansing i Referències creuades. Això en teoria, perquè la  funcionalitat de referències creuades encara no està implementada i no es pot utilitzar. El projecte de Datacleansing tampoc aporta res de nou, ja que tota la funcionalitat que fa servir és un subconjunt de la que n’ofereix un de Deduplicació, amb la qual cosa només creant un projecte d’aquest últim tipus ja ho veiem tot. Quant a la deduplicació, s’organitza el procés en diferents etapes:

 

1.     

Definició de processos de transformació dels camps origen i comparació entre ells 

És poden definir diversos processos de comparació aplicant diferents operadors a les dades originals per obtenir dades més significatives de cara a la comparació, i es defineix també exactament el que es vol comparar. La interfase per realitzar aquestes accions és molt intuïtiva i visual, i de seguida es defineix tot. La pega és que els operadors de comparació són bastant simples. Encara que hi ha operadors com els de comparació fonètica, és troben a faltar funcions de fuzzy logic per comparar paraules semblants, o que es treballi un percentatge de similitud per camp i per registre. Els resultats finals són que coincideixin o no tot el que s’ha definit. L’únic que es pot fer és assignar una prioritat i un color per desprès distingir-lo visualment a cada procés de comparació. Es troben a faltar també funcions específiques de tractament d'adreces o d'altre s tipus de dades estàndard encara que n'hi ha un operador que realitza una validació de l’adreça amb Google Maps. Jo no he aconseguit que funcioni, però és una cosa que s’ha d’explorar en més calma. També es poden definir diccionaris de traducció de paraules, cosa molt útil quan es comparen noms o adreces, per exemple.

   

Datacleansing MatchMaker

 

2.     

Execució de la comparació

       Res a destacar, amb a pocs registres funciona bé, s'hauria de provar amb taules grans i valorar el rendiment

 

3.      Validació de les coincidències

Aquesta part també està molt bé. La eina mostra d’una forma molt visual les coincidències trobades, amb un color per cada procediment definit, i permet veure les diferencies entre els registres, i destacar coincidències, decidir quin és el registre mestre (el que conservarà les dades després de la funció), i què és el que s'ha de fusionar i com. Per defecte s’escullen les dades del registre mestre, a menys que el camp contingui un nul, i també és poden concatenar les dades, o agafar el màxim, el mínim o la suma de tots els valors. Si es vol es pot deixar triar a l’eina automàticament el registre que queda com a mestre, i fer que es fusionin tots els registres en els que s’ha trobat coincidència.

La eina està molt bé per treballar amb un nombre limitat de registres, que pugin ser revisats per una persona abans de la fusió, però li falta una mica d’intel·ligència per poder treballar amb un nombre elevat de registres, i realitzar fusions sense necessitat d'intervenció manual. També hauria de poder escollir-se la dada mestra a nivell de camp, i no a nivell de registre, i amb les millors dades de cada camp crear el millor registre mestre.

 

Validacion Merge MatchMaker

 

4. Procés de fusió de registres

 Funciona correctament, deixa un log i guarda els identificadors del que és fusiona en una taula de resultats. Només cal anar amb compte perquè treballa directament sobre la taula origen, i esborra els registres que s'han marcat com a duplicats.

Conclusions

 En definitiva, és una eina molt útil per realitzar processos de neteja, sobretot si la quantitat de dades a revisar no és gaire gran. Sense grans complicacions permet realitzar tot el procés i facilita molt la comparació entre candidats i l'elecció dels registres que quedaran com a mestres. Té alguns aspectes a millorar, però ben segur que no es quedarà en aquesta versió, sobretot sabent que ara és una aplicació de codi obert.