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.

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
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.

4. Procés de fusió de registres