Datacleansing con Power*MatchMaker

Power MatchMaker es una herramienta de Data Cleansing que SQLPower ha liberado convirtiendo la licencia en Open Source, junto con la de Power Architect (herramienta para modelización de datos). Como no es que haya demasiadas herramientas Open Source en el campo de la limpieza de datos, me ha podido la curiosidad y la he instalado para ver que tal funciona. La instalación ha sido muy sencilla, el software se descarga desde Descarga de Power MatchMaker, en diferentes versiones según el SO. Yo he probado la de windows, que se instala a golpe de botón en 2 minutos. Importante no olvidarse del requerimiento del Java Runtime 5. Una vez instalado, para ver como funciona lo mejor es seguir el tutorial que se encuentra en la misma ayuda de la herramienta. También recomiendo ver la demo accesible desde la misma página de MatchMaker. El funcionamiento del software es muy sencillo, se crea un repositorio sobre una de las diferentes BBDD sobre las que puede trabajar, y con las que conecta por JDBC, y se pueden crear proyectos de 3 tipos diferentes: Deduplicación, Datacleansing y Referencias cruzadas. Eso en teoría, porque la funcionalidad de referencias Cruzadas aún no está implementada y no se puede utilizar. El proyecto de Datacleansing tampoco aporta nada nuevo, ya que toda la funcionalidad que utiliza es un subconjunto de la que ofrece uno de Deduplicación, con lo que con crear un proyecto de este último tipo ya lo vemos todo. En cuanto a la deduplicación, se organiza el proceso en varios pasos:

1. Definición de procesos de transformación de los campos origen y comparación entre ellos

Se pueden definir varios procesos de comparación, aplicando diferentes operadores a los datos originales para obtener datos más significativos de cara a la comparación, y se define también exactamente lo que se quiere comparar. La interfaz para realizar estas acciones es muy intuitiva y visual, y en un momento se define todo. La pega es que los operadores de comparación son bastante simples. Aunque hay operadores como los de comparación fonética, se echan de menos funciones de fuzzy logic para comparar palabras parecidas, o que se trabaje un porcentaje de similitud por campo y por registro. Los resultados finales son que coincida o no todo lo que se ha definido. Lo único que se puede hacer es asignar una prioridad y un color para después distinguirlo visualmente a cada proceso de comparación. Se echan también de menos funciones específicas de direcciones u otro tipo de datos 'estandar', aunque hay un operador que realiza una validación de la dirección con Google Maps. Yo no he conseguido que me funcione, pero es algo a explorar con más calma. También se pueden definir diccionarios de traducción de palabras, cosa muy útil cuando se comparan nombres o direcciones, por ejemplo.

Datacleansing MatchMaker

 

2. Ejecución de la comparación

Nada que destacar, con pocos registros funciona bien, habría que probar con tablas grandes y valorar el rendimiento.

3. Validación de las coincidencias

Esta parte también está muy bien. La herramienta muestra de una manera muy visual las coincidencias encontradas, con un color para cada proceso definido, y permite ver las diferencias entre registros, y descartar coincidencias, decidir cuál es el registro maestro (el que va a conservar los datos tras la fución), y qué es lo que se va a fusionar y cómo. Por defecto se escogen los datos del registro maestro, a menos que el campo sea nulo, y también se pueden concatenar los datos, o coger el máximo, el mínimo o la suma de todos. Si se quiere se puede dejar escoger a la herramienta automáticamente el registro que queda como maestro, y hacer que se fusionen todos los registros en los que se ha encontrado coincidencia. La herramienta está muy bien para trabajar con un número limitado de registros, que puedan ser revisados por una persona antes de la fusión, pero le falta un poco de 'inteligencia' para poder tratar con un número elevado de registros, y realizar fusiones sin necesitar intervención manual. También debería poderse escoger el dato maestro a nivel de campo, y no a nivel de registro, y con los mejores datos de cada campo crear el mejor registro maestro.

Validacion Merge MatchMaker

 

4. Proceso de fusión de registros

Funciona correctamente, deja un log y guarda los identificadores de lo que se fusiona en una tabla de resultados. Sólo hay que tener cuidado porque trabaja directamente sobre la tabla origen, y borra los registros que se han marcado como duplicados.

Conclusiones

En definitiva, es una herramienta muy útil para realizar procesos de limpieza, sobretodo si la cantidad de datos a revisar no es muy grande. Sin grandes complicaciones permite realizar todo el proceso y facilita mucho la comparación entre candidatos y la elección de los registros que quedarán como maestros. Tiene varios aspectos a mejorar, pero seguro que no se va a quedar en esta versión, sobretodo sabiendo que ahora es de código abierto.

Rispondi

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Linee e paragrafi vanno a capo automaticamente.
  • Links to specified hosts will have a rel="nofollow" added to them.

  • Indirizzi web o e-mail vengono trasformati in link automaticamente

Maggiori informazioni sulle opzioni di formattazione.

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.

Google