Trucos y consejos: Duplicados

Los grandes datos requieren herramientas especiales. Si quieres hacer coincidir o buscar en millones de registros, el rendimiento tiene que ser el adecuado.  TOLERANT Match ofrece opciones de ajuste a medida para optimizar el rendimiento.

Partición

La partición es un elemento central en TOLERANT Match. Tiene una influencia directa en el rendimiento, así como en el tipo y la cantidad de datos encontrados. Durante el proceso de partición, todos los registros de datos se asignan («particionan») a N áreas de datos («particiones») antes del procesamiento. La asignación se basa en criterios configurables por los que cada registro de datos se asigna a una partición (1..N).

Partición - Coincidir campos y valores - Partición de cálculo

Durante la búsqueda, el sistema sólo busca en las particiones que resultan de los valores de la búsqueda. De este modo, el tiempo de una búsqueda puede reducirse significativamente en comparación con el procesamiento sin partición. Por lo tanto, en el caso de grandes cantidades de datos (más de un millón de registros aproximadamente), debería utilizarse siempre la partición.

Los productos «TOLERANT Match Batch» y «TOLERANT Match Service» difieren en cuanto a la partición. «Match Batch» utiliza un campo para la partición, «Match Service» utiliza varios campos. Esto tiene la ventaja de que con el «servicio de coincidencia» es posible la partición -y, por tanto, una mejora del rendimiento- aunque no se utilicen siempre los mismos campos en una búsqueda.

El código postal es un ejemplo típico de campo que se utiliza para la partición. Los registros con el mismo código postal o con dígitos iniciales comunes del código postal se asignan a la misma partición y, por tanto, pueden compararse entre sí. En «TOLERANT Match Service» podría utilizar otros campos además del código postal, como un tipo de cliente o una fecha de nacimiento, para la partición. La ventaja es evidente: es posible realizar operaciones de búsqueda optimizadas para diferentes combinaciones de términos de búsqueda, incluso sin tener que incluir siempre el mismo campo (como el código postal).

Tenga en cuenta que sólo debe realizar la partición sobre los campos cuyos valores estén completamente rellenados y sean fiables. En el caso del código postal, debería haber precedido una comprobación postal y una normalización de todos los registros de datos, por ejemplo con el software TOLERANT Post. Esto asegura la asignación a las particiones correctas.

Preferir el tipo de correspondencia DICECOEFF

Para la comparación de dos valores de campo en TOLERANT Match se dispone de varios tipos de coincidencia (DICECOEFF, COMPARE, etc.). Estos tipos de concordancia se diferencian principalmente en la forma en que los fragmentos de texto de concordancia corta afectan al resultado; en consecuencia, tienen áreas de uso típicas.

Pero, sobre todo, los tipos de concordancia influyen en el rendimiento. Para grandes cantidades de datos, se debe utilizar DICECOEFF porque una implementación especial optimiza el rendimiento.

Utilizar emptyScore de forma selectiva

Hay una forma elegante de considerar los campos no rellenados cuando se busca con TOLERANT Match buscar: El elemento de configuración «emptyScore» puede procesar campos vacíos de forma expeditiva. De este modo, sólo se necesitan unas pocas reglas en una configuración.

Sin embargo, si esta opción se utiliza con conjuntos de datos muy grandes, el rendimiento puede disminuir. En estos casos, se recomienda definir varias reglas que se utilicen para diferentes campos vacíos. Las condiciones se utilizan para controlar cuándo se utiliza una regla.

Plataforma de hardware

Además de una configuración óptima, la plataforma de hardware disponible determina el rendimiento de TOLERANT Match. A diferencia de otros productos TOLERANT, el dimensionamiento de TOLERANT Match depende en gran medida de los datos que se van a procesar. Para un alto rendimiento son decisivos la mayor cantidad posible de memoria principal -especialmente para el «Match Service»- y un alto rendimiento de la CPU.

Base de datos

Si se utiliza una base de datos para «TOLERANT Match Service» para almacenar los datos, debe conectarse a «Match Service» con la menor latencia posible. El procesamiento rápido de las consultas también es esencial. Por lo tanto, recomendamos instalar una base de datos en el mismo servidor que el «Servicio de Partidos»; o en un servidor al que se pueda acceder a través de una conexión de red muy rápida. Para el servidor de la base de datos el uso de los discos duros SSD han demostrado ser un éxito.

Plan de ejecución

La velocidad con la que TOLERANT Match procesa las consultas de búsqueda depende no sólo del hardware utilizado y de la cantidad de datos, sino también en gran medida de la configuración del programa. Los diferentes tipos de campos, la partición, los campos utilizados en una búsqueda, así como los valores concretos de una búsqueda, influyen en la velocidad. Para conseguir siempre el menor tiempo de respuesta posible, antes de cada búsqueda se determina un plan de ejecución de la consulta individual. Este plan de ejecución ofrece un buen resultado en la gran mayoría de los casos. Si el plan de ejecución debe ser optimizado manualmente, esto puede hacerse en cualquier momento a través de la configuración.