Blocco in DataStage®

Il blocco è un fattore importante per le prestazioni e l'efficienza in partita.

Il blocco fornisce un metodo per concentrare l'ambito delle coppie di record da esaminare. Per fonti di dimensioni ragionevoli, non è possibile confrontare tutte le coppie di record, poiché il numero di coppie possibili è il prodotto del numero di record presenti in ciascuna fonte. Il blocco fornisce un metodo per limitare il numero di coppie esaminate.

Il blocco suddivide le fonti in sottoinsiemi mutuamente esclusivi ed esaustivi, e il processo di corrispondenza ricerca le corrispondenze solo all'interno di un sottoinsieme. Se i sottoinsiemi sono progettati per riunire coppie che hanno una maggiore probabilità di essere corrispondenti e ignorare quelle che sono meno probabili, l'abbinamento riuscito diventa computazionalmente fattibile per grandi volumi di dati.

I record in un blocco corrispondono già esattamente su una o più colonne di blocco. Il blocco è un passaggio essenziale per un abbinamento efficace nel tuo progetto di pulizia dei dati.

Considerazioni sul blocco

È possibile che si verifichi un potenziale compromesso tra questi aspetti:
  • Il costo computazionale (esaminare troppi record) che il blocco aiuta a risolvere
  • Il potenziale aumento del tasso di falsi negativi (quando una coppia di record che rappresenta la stessa entità non corrisponde) poiché i record non appartengono allo stesso blocco
Tuttavia, strategie di blocco e passaggio ben pianificate e implementate possono aiutare a mitigare la maggior parte di queste preoccupazioni.
Quando selezioni le colonne da bloccare, considera attentamente i seguenti aspetti:
  • Scegli colonne con dati affidabili.
    • Scegli le colonne che hanno senso dal punto di vista commerciale per raggiungere il tuo obiettivo. Se desideri identificare clienti unici, bloccare in base al numero civico non è la scelta migliore.
    • I rapporti di indagine discreti sui caratteri ti aiutano a selezionare le colonne di blocco. I report indicano la frequenza con cui una colonna viene popolata. Se scegli colonne con dati affidabili, allora stai davvero raggruppando record simili, perché i valori dei dati sono affidabili.
  • Scegli colonne con una buona distribuzione dei valori.
    • Alcune colonne non hanno molti valori possibili. Ad esempio, il genere, come valore di colonna, in genere non rende i blocchi abbastanza piccoli.
    • A volte le colonne non hanno una buona distribuzione dei valori. Ad esempio, se i dati provengono solo da alcuni stati o province, questi potrebbero non essere le colonne più adatte da utilizzare.
  • Una combinazione di colonne potrebbe essere preferibile.
    • Utilizza un numero sufficiente di colonne per mantenere gestibile la dimensione del blocco.

Analogia di blocco

Il tuo compito è quello di abbinare a coppie molti calzini lavati di recente che si trovano in una scatola. Potresti scegliere un calzino e cercare in tutta la scatola, calzino per calzino, per trovare il suo compagno. Ma molto probabilmente deciderai di cercare un metodo più efficiente. È possibile ordinare o "bloccare" i calzini in base alle loro caratteristiche. Puoi ordinare prima per colore. Quindi devi confrontare solo calzini bianchi con calzini bianchi e non perdere tempo a confrontare un calzino bianco con uno blu.

Cosa succederebbe se trovassi un calzino rosa che in origine era probabilmente bianco, ma ora è scolorito? A causa di un errore di colore, non metti il calzino rosa insieme ai calzini bianchi nel primo passaggio di smistamento dei calzini. Utilizzando i termini di corrispondenza, il calzino rosa non fa parte del blocco dei calzini bianchi. Nei passaggi successivi, dopo averli ordinati per colore, ordina i calzini rimasti, quelli spaiati, in base alla taglia e alla forma. In uno di questi passaggi successivi, potresti trovare la corrispondenza più probabile per il calzino rosa. Allo stesso modo, i passaggi multipli aiutano a superare il problema dei record che non creano il gruppo di blocchi corretto.

Linee guida per il blocco

Segui queste linee guida mentre pianifichi e implementi il blocco:
Utilizza colonne di blocco come chiavi di ordinamento
Tutti i record che hanno lo stesso valore nelle colonne di blocco sono idonei al confronto durante la fase di abbinamento.
Crea blocchi il più piccoli possibile
Da cento a duecento record per fonte è una quantità adeguata. L'efficienza diminuisce all'aumentare delle dimensioni del blocco. Il blocco suddivide le fonti in sottoinsiemi che rendono fattibile il calcolo. L'utilizzo di blocchi di piccole dimensioni migliora le prestazioni del sistema durante l'elaborazione dei record. Per creare una strategia di blocco efficace, utilizzare diverse colonne per il blocco in ogni passaggio.
Implementa una strategia di blocco coerente con i tuoi obiettivi di abbinamento
Sebbene siano preferibili blocchi piccoli composti da diverse colonne, uno schema di blocco altamente restrittivo può creare un numero eccessivo di blocchi. Il problema di avere troppi blocchi è che i record che potrebbero essere oggetto di confronto sono distribuiti in più blocchi. Se i record sono distribuiti in più blocchi, non vengono confrontati all'interno del passaggio e i risultati della corrispondenza potrebbero essere compromessi.
Evitare il sovraccarico del blocco
Il blocco overflow si verifica se, durante un passaggio, in un determinato blocco vengono raggruppati più record rispetto al numero specificato per il limite di overflow del blocco. Quando si verifica un overflow del blocco, tutti i record nel blocco vengono saltati dal passaggio.

È possibile configurare l'impostazione di overflow del blocco. L'impostazione predefinita per il blocco overflow è 10.000 record. Per un processo di corrispondenza a due sorgenti, corrispondenza molti-a-uno, la dimensione del blocco di riferimento è l'unico blocco vincolato dall'impostazione di overflow. Se si verifica un overflow del blocco, esaminare i criteri di blocco. Invece di aumentare immediatamente il limite di overflow del blocco, cerca di capire perché si verifica l'overflow. Determinare se una delle colonne di blocco presenta molti valori diversi (cardinalità elevata).

Se aumenti il limite di overflow del blocco senza renderti conto che hai un problema con i tuoi dati, potresti inavvertitamente nascondere un problema con i tuoi dati o con la tua strategia di blocco. Segnala l'overflow del blocco se conosci il motivo per cui si è verificato e se hai una ragione logica per farlo.

Definire i valori mancanti per le colonne di blocco
Definire i valori mancanti per le colonne di blocco. I blocchi che contengono colonne con valori mancanti vengono ignorati nel processo di corrispondenza. Converti tutti i sostituti generici per i valori mancanti (come UNKNOWN o 99999) in valori nulli. Quando i valori mancanti non vengono convertiti in valori nulli, il processo di corrispondenza non identifica i valori come mancanti. Di conseguenza, possono verificarsi costosi overflow di blocchi. Ad esempio, se un numero di identità nazionale è presente solo nella metà dei record, ma i valori mancanti sono riportati come spazi anziché come valori nulli, i numeri vuoti formano un unico grande blocco. Il blocco di grandi dimensioni potrebbe causare un calcolo eccessivo e un overflow del blocco.
Per le fonti con informazioni limitate, utilizzare un codice Soundex inverso
Il Soundex inverso si ottiene guardando il nome al contrario e calcolando un Soundex. Ad esempio, il contrario di JONES sarebbe SENOJ. Poiché l'algoritmo Soundex conserva la prima lettera, l'esecuzione di un Soundex inverso consente di rilevare errori all'inizio dei nomi.

Esempi di blocco

Numeri di identificazione individuali

I numeri di identificazione sono generalmente affidabili. In una prima fase, utilizzare numeri di identificazione individuali quali numeri di carta d'identità, numeri di cartella clinica, numeri di sinistro e così via, anche se tali numeri sono mancanti o errati in una percentuale considerevole dei registri.

Ad esempio, le fonti contengono un numero di identificazione nazionale nel 50% dei record. Il passaggio 1 è bloccato dal numero di identità nazionale. Match salta tutti i record senza numero di identità nazionale. I record saltati vengono applicati al secondo passaggio. Tuttavia, una percentuale piuttosto elevata dei record viene facilmente abbinata.

Se ci sono più numeri di identificazione, utilizzarli nei primi due passaggi. Dopo di che, prova altre colonne. I numeri di identificazione sono ideali per bloccare le colonne, perché suddividono i record in molti insiemi.

Date di nascita

Le date di nascita sono ottime colonne di blocco.

Ad esempio, utilizzando l' Transformer stage, è possibile separare le date di nascita in queste colonne: BirthYear, BirthMonth, e BirthDay. Per fonti più grandi (oltre 100.000 record), utilizzare tutte e tre le colonne come colonne di blocco di primo passaggio. Per fonti più piccole, utilizzare BirthYear, BirthMonth, e una colonna aggiuntiva come Genere. I passaggi successivi possono utilizzare blocchi contenenti BirthDay.

Date degli eventi

Le date degli eventi, come la data dell'incidente, la data della richiesta di risarcimento, la data di ricovero in ospedale e così via, sono utili come colonne di blocco.

Nomi

Una codifica fonetica (come i codici Soundex o NYSIIS) del cognome è un'utile colonna di blocco. Per fonti di grandi dimensioni, combinare questo codice con la prima lettera del nome o l'anno di nascita. Ricordate che culture diverse utilizzano convenzioni diverse per i nomi di famiglia, quindi non affidatevi esclusivamente a essi.

Indirizzi

Gli indirizzi postali offrono una grande quantità di informazioni utili per il blocco. Ad esempio, i codici postali e la codifica fonetica (Soundex o NYSIIS) dei nomi delle vie o delle città sono tutte ottime scelte.