MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mascheratura MongoDB nativa (3° metodo)

Nota:questo articolo illustra il terzo metodo disponibile per i clienti IRI per mascherare o crittografare staticamente le PII in raccolte MongoDB strutturate tramite il prodotto IRI FieldShield o la piattaforma IRI Voracity (entrambi basati su IRI CoSort v10 e il relativo supporto del driver MongoDB nativo). È ora disponibile un quarto metodo per trovare e mascherare le PII fluttuanti in raccolte MongoDB non strutturate tramite IRI DarkShield.

Questo articolo spiega come il nuovo supporto nativo della raccolta MongoDB nei prodotti di manipolazione dei dati di IRI consente le prestazioni rapide e il consolidamento di più funzioni incentrate sui dati, tra cui:

  • profilazione e pulizia dei dati
  • data masking e re-ID risk scoring
  • integrazione dei dati (ETL) e CDC
  • migrazione e replica dei dati
  • generazione di rapporti e test personalizzati

Il supporto a livello di API per i dati MongoDB è offerto nel programma SortCL di base, che è il motore di elaborazione predefinito della piattaforma di gestione dei dati IRI Voracity, così come nei suoi sottoinsiemi di prodotti:CoSort, NextForm, FieldShield e RowGen. Questo metodo di connessione è il terzo e più veloce modo in cui i clienti IRI possono acquisire e manipolare i dati nelle raccolte MongoDB. Il primo è tramite file flat come descritto nel 2014 qui. Il secondo riguarda i driver ODBC e JDBC descritti nel 2016 qui.

Informazioni su MongoDB

MongoDB è un database "NoSQL" orientato ai documenti che lavora sul concetto di raccolte e documenti simili a JSON con schemi. Una raccolta, come una tabella di database relazionale, contiene uno o più documenti.

Un documento è un insieme di coppie chiave-valore. I documenti hanno uno schema dinamico, il che significa che i documenti nella stessa raccolta non devono avere lo stesso insieme di campi o struttura. I campi comuni nei documenti di una raccolta possono contenere diversi tipi di dati.

Il grafico seguente confronta la terminologia di un RDBMS e MongoDB:

Oracle MongoDB
Database Banca dati
Tabella Collezione
Riga Documento
Colonna Campo
Chiave primaria ID oggetto fornito da MongoDB

Dimostrazione

Il mio esempio di seguito esegue un semplice ordinamento, maschera e spostamento di una raccolta MongoDB denominata "chiefs" in un'altra raccolta e anche in un file JSON autonomo. I file JSON sono un'altra nuova origine dati IRI supportata nella versione di CoSort v10.

Connessione al database

Il primo passaggio consiste nello stabilire la connettività con l'istanza MongoDB in IRI Workbench. Basato su Eclipse, IRI Workbench è l'IDE comune di progettazione e distribuzione dei lavori per tutti i software IRI sopra elencati. È anche il punto in cui puoi connetterti ad altri DB, HDFS e origini dati aggiuntive in file system locali o remoti.

Dal menu IRI (icona a forma di vortice) nella barra degli strumenti di Workbench, seleziona Preferenze IRI> IRI> Registro connessioni URL> Aggiungi . Specificare un MongoDB esistente dallo schema e dal nome host del server. Il nome del mio DB è cmitra, creato sull'host 'mongodbu':

Per comodità, ho installato il plug-in MonjaDB gratuito per Eclipse per interagire con il database nella mia prospettiva di Workbench. La mia raccolta contiene i presidenti degli Stati Uniti per nome, partito, stato e date del loro mandato. MongoDB ha assegnato un ID univoco per ogni documento:

Definizione dei metadati

Prima di poter elaborare i dati MongoDB in questa modalità, è necessario creare un file DDF (Data Definition Format) che disponga i miei documenti di raccolta nelle istruzioni /FIELD da utilizzare nei lavori compatibili con SortCL come FieldShield. Come con altre origini dati supportate in Workbench, una procedura guidata esegue questa operazione automaticamente.

Crea (o seleziona una cartella di progetto esistente) in Workbench per archiviare le risorse del lavoro come i metadati di origine, lo script/diagramma SortCL, le regole di mascheramento salvate, le classi di dati, ecc. Con quella cartella attiva (evidenziata) e la conoscenza della posizione della mia raccolta MongoDB, Ora posso eseguire Discover Metadata procedura guidata dal menu IRI nella barra degli strumenti in alto.

In questo passaggio di Identificazione dell'origine dati, posso selezionare una connessione ODBC, un'esplorazione di file o un URL. In questo caso, sto raggiungendo MongoDB tramite URL, quindi scelgo quello e MongoDB per il mio formato. Dopo aver cercato la voce di registro del database che ho aggiunto in precedenza, inserisco il nome della raccolta. La procedura guidata lo antepone alla stringa di connessione MongoDB standard.

La pagina Visualizzatore dati e Editor campo si collega alla raccolta e visualizza in anteprima il contenuto delle colonne e le colonne come nomi di campo SortCL:

Quando faccio clic su Fine , il mio file DDF viene creato e viene visualizzato come segue:

/FIELD=(PRESIDENT, TYPE=UTF8, POSITION=1, SEPARATOR="|", MDEF="president")
/FIELD=(PARTY, TYPE=UTF8, POSITION=2, SEPARATOR="|", MDEF="party")
/FIELD=(STATE, TYPE=UTF8, POSITION=3, SEPARATOR="|", MDEF="state")
/FIELD=(START, TYPE=NUMERIC, POSITION=4, SEPARATOR="|", MDEF="term.start")
/FIELD=(END, TYPE=NUMERIC, POSITION=5, SEPARATOR="|", MDEF="term.end")

Questi metadati DDF possono essere utilizzati in qualsiasi lavoro (o lavori) che interessano questa raccolta, incluso quello in questo esempio come mostrato di seguito. La colonna _id non è necessaria per i miei scopi è stata omessa.

Si noti l'uso della notazione del punto nell'attributo "MDEF", che è una definizione di percorso richiesta per elaborare i lavori SortCL di elementi discreti e piatti. Gli elementi dell'array multivalore e dei sottodocumenti vengono generati in sequenza a partire da 0 nell'ordine di apparizione.

Esegui la Creazione guidata lavori

Workbench include molte diverse procedure guidate adatte allo scopo per generare i metadati per l'esecuzione di attività discrete (script .*cl) o lavori basati su batch (file .flow e .bat/.sh) sulla riga di comando, tramite Workbench, i tuoi programmi , ecc.

Ho scelto una procedura guidata di trasformazione dell'ordinamento di base perché al suo interno posso aggiungere più destinazioni, mascherare i campi di output, ecc. Questa procedura guidata viene eseguita dall'icona del gruppo di menu CoSort (cronometro) dalla barra degli strumenti. Seleziono Nuovo ordinamento lavoro e specificato chiefsout.scl come nome del mio lavoro:

Nel passaggio successivo, identifico il nome della mia raccolta MongoDB di origine e dove si trova, utilizzando lo stesso URL di localizzazione utilizzato durante la definizione dei metadati per i "chief":

Il passaggio successivo consiste nello specificare la generazione o l'utilizzo dei metadati esistenti per la raccolta nel formato di definizione dei dati (DDF) richiesto in tutti i programmi compatibili con SortCL. In questo caso, userò il file DDF che ho creato nel passaggio 2 sopra. Seleziono Aggiungi metadati esistenti per inserire questi layout direttamente nel mio script di lavoro come specifiche di input, e quindi si rifletteranno nella finestra di dialogo seguente:

Nella pagina successiva, specifico un campo chiave di ordinamento per definire l'ordine dei dati nei miei target. In questo caso, andrò dall'ordine cronologico predefinito dei presidenti e li ordinerò per nome:

Dopo aver fatto clic su Avanti , viene visualizzata la pagina Destinazioni dati. Come per le mie opzioni di origine, ci sono diversi tipi di destinazioni che posso creare e formattare tramite questa procedura guidata e anche successivamente in un'altra modalità di progettazione del lavoro (ad es. Editor di script).

Questa e altre procedure guidate di Workbench mi consentono di continuare ad aggiungere obiettivi e definire in modo granulare i contenuti di ciascuno. Gli attributi specifici della destinazione includono:formato (ad es. CSV, MongoDB, MFVL), formattazione (ad es. intestazioni e piè di pagina, righe da ignorare, ecc.), condizioni di filtro, layout a livello di campo e funzioni/regole applicate (ad es. nuovo tipi di dati, maschere, logica di espressione, aggregazione).

Nella pagina Data Targets, so che voglio due target:un file JSON autonomo e una raccolta MongoDB remota. Pertanto, faccio clic su Aggiungi destinazione dati e inizia a specificare il primo. A meno che non modifichi le opzioni di destinazione o il layout del campo di destinazione, il mio output conterrà solo la versione ordinata dei dati di input così com'è. Questo è ciò che il mio file di destinazione JSON conterrà semplicemente nominandolo..

Quando faccio di nuovo clic su Aggiungi destinazione dati Definisco il secondo come una raccolta MongoDB tramite URL. La mia nuova maschera da capo raccolta verrà compilata e popolata automaticamente quando eseguo il lavoro. È all'interno di quell'obiettivo che voglio mascherare uno dei campi per la privacy, in questo caso i nomi del Presidente. Faccio clic su Layout campo di destinazione per aprire una pagina di mappatura dall'alto verso il basso per la mia fonte e le mie destinazioni:

Questa pagina mostra anche la mia regola di mascheramento già definita. L'avevo definito facendo clic con il pulsante destro del mouse su PRESIDENT nella destinazione e facendo clic su Crea regola (invece di navigare su uno esistente). Ciò ha aperto un elenco di procedure guidate di protezione a livello di campo, mostrato di seguito. Tieni presente che sono disponibili più funzioni di mascheramento dei dati statici.

Ho selezionato Mascheratura (redazione del carattere). In quella pagina, ho utilizzato il campo predefinito per nascondere l'intero nome del presidente nella raccolta di destinazione:

Dopo aver terminato queste selezioni, torno alla finestra di dialogo di mappatura. Faccio clic su OK e tornare alla pagina Destinazioni dati. Alla fine delle mie modifiche, finirò con i dettagli di seguito:

Faccio clic su OK per terminare la procedura guidata e creare il lavoro.

Esamina il lavoro

Con chiefsout.scl lavoro ora integrato nel mio progetto attivo e aperto automaticamente nella finestra di modifica, posso vederlo e modificarlo da lì o tramite le pagine di dialogo contestuali disponibili. Ulteriori informazioni sulle opzioni di modifica degli script qui.

Posso anche fare clic con il pulsante destro del mouse all'interno dello script o del suo nome file nella finestra del progetto e, da un menu di opzioni IRI, creare un diagramma di flusso per visualizzare l'attività all'interno di un progetto. Dall'interno del diagramma di flusso, faccio doppio clic sul blocco attività marrone per aprire un diagramma di mappatura di trasformazione che mostra il movimento del campo da sorgente a destinazione che ho definito, questa volta da sinistra a destra:

Il chiefsout.scl script e chiefsout.flow sono entrambi asset di metadati aperti condivisibili dal team che condividono un modello di dati comune.

Esegui il lavoro

Esistono anche diversi modi per eseguire il lavoro che ho creato, sia da che all'esterno di Workbench.

Di seguito è mostrata la raccolta di origine e il mio stesso lavoro rappresentato in forma di script e struttura. Dopo aver eseguito il lavoro, ho aperto una vista MonjaDB della destinazione della raccolta ordinata e mascherata e la mia destinazione del file JSON ordinato alla sua destra:

Come accennato, in questo ambiente sono ora possibili molte altre permutazioni e lavori di gestione dei dati più veloci che utilizzano i dati MongoDB. Gli utenti di IRI Voracity possono ora scegliere tra tre metodi di connessione a MongoDB e decine di funzionalità.

Se hai domande o hai bisogno di aiuto, contatta il tuo rappresentante IRI qui.