sql >> Databáze >  >> NoSQL >> MongoDB

Nativní maskování MongoDB (3. metoda)

Poznámka:Tento článek popisuje třetí dostupnou zákaznickou metodu IRI pro statické maskování nebo šifrování PII ve strukturovaných sbírkách MongoDB prostřednictvím produktu IRI FieldShield nebo platformy IRI Voracity (oba využívají technologii IRI CoSort v10 a její podporu nativního ovladače MongoDB). Nyní je k dispozici čtvrtá metoda pro nalezení a maskování PII plovoucí v nestrukturovaných sbírkách MongoDB prostřednictvím IRI DarkShield.

Tento článek vysvětluje, jak nová nativní podpora kolekce MongoDB v produktech IRI pro manipulaci s daty umožňuje rychlý výkon a konsolidaci více funkcí zaměřených na data, včetně:

  • profilování a čištění dat
  • maskování dat a hodnocení rizika opětovného ID
  • integrace dat (ETL) a CDC
  • migrace a replikace dat
  • generování vlastních přehledů a testovacích dat

Podpora pro data MongoDB na úrovni API je nabízena v základním programu SortCL, což je výchozí procesor pro zpracování dat platformy IRI Voracity, a také její podmnožiny produktů:CoSort, NextForm, FieldShield a RowGen. Tato metoda připojení je třetím a nejrychlejším způsobem, jak mohou zákazníci IRI získávat a manipulovat s daty v kolekcích MongoDB. První je prostřednictvím plochých souborů, jak je popsáno v roce 2014 zde. Druhý je s ovladači ODBC a JDBC popsanými v roce 2016 zde.

O MongoDB

MongoDB je „NoSQL“, dokumentově orientovaná databáze, která pracuje na konceptu kolekcí a dokumentů podobných JSON se schématy. Kolekce, stejně jako tabulka relační databáze, obsahuje jeden nebo více dokumentů.

Dokument je sada párů klíč–hodnota. Dokumenty mají dynamické schéma, což znamená, že dokumenty ve stejné kolekci nemusí mít stejnou sadu polí nebo strukturu. Běžná pole v dokumentech sbírky mohou obsahovat různé typy dat.

Následující tabulka porovnává terminologii RDBMS a MongoDB:

Oracle MongoDB
Databáze Databáze
Tabulka Sbírka
Řádek Dokument
Sloupec Pole
Primární klíč ID objektu poskytnuté MongoDB

Ukázka

Můj příklad níže provádí jednoduché třídění, maskování a přesun kolekce MongoDB s názvem „náčelníci“ do jiné sbírky a také do samostatného souboru JSON. Soubory JSON jsou dalším novým zdrojem dat IRI podporovaným ve verzi CoSort v10.

Připojení k databázi

Prvním krokem je navázání připojení k vaší instanci MongoDB v IRI Workbench. IRI Workbench, postavený na Eclipse, je společné IDE pro návrh a nasazení pro veškerý software IRI uvedený výše. Je to také místo, kde se můžete připojit k jiným databázím, HDFS a dalším zdrojům dat v místních nebo vzdálených souborových systémech.

Z nabídky IRI (ikona kroužení) na panelu nástrojů Workbench vyberte Předvolby IRI> IRI> Registr připojení URL> Přidat . Zadejte existující MongoDB ze schématu a název hostitele serveru. Moje DB se jmenuje cmitra, vytvořeno na hostiteli ‚mongodbu‘:

Pro pohodlí jsem nainstaloval bezplatný zásuvný modul MonjaDB pro Eclipse, abych mohl pracovat s databází v rámci mého pohledu Workbench. Moje sbírka obsahuje prezidenty USA podle jména, strany, státu a data jejich funkčního období. MongoDB přidělil každému dokumentu jedinečné ID:

Definice metadat

Než budu moci zpracovávat data MongoDB v tomto režimu, musím vytvořit soubor formátu DDF (data definition format), který rozloží dokumenty mé sbírky do příkazů /FIELD pro použití v úlohách kompatibilních se SortCL, jako je FieldShield. Stejně jako u jiných zdrojů dat podporovaných ve Workbench to za mě automaticky udělá průvodce.

Vytvořte (nebo vyberte existující) složku projektu ve Workbench pro uložení aktiv úlohy, jako jsou zdrojová metadata, skript/diagram SortCL, uložená pravidla maskování, datové třídy atd. S touto složkou aktivní (zvýrazněnou) a znalostmi o umístění mé sbírky MongoDB, Nyní mohu spustit Discover Metadata průvodce z nabídky IRI na horním panelu nástrojů.

V tomto kroku Identifikace zdroje dat mohu vybrat připojení ODBC, procházení souborů nebo adresu URL. V tomto případě se dostávám k MongoDB přes URL, takže pro svůj formát volím to a MongoDB. Po procházení položky registru databáze, kterou jsem dříve přidal, zadávám název kolekce. Průvodce přidá před standardní řetězec připojení MongoDB.

Stránka Prohlížeč dat a Editor polí se připojí ke kolekci a zobrazí náhled jejího obsahu a sloupců jako názvy polí SortCL:

Když kliknu na Dokončit , můj soubor DDF se vytvoří a zobrazí se následovně:

/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")

Tato metadata DDF lze použít v jakékoli úloze (nebo úlohách) ovlivňujících tuto kolekci, včetně té v tomto příkladu, jak je znázorněno níže. Sloupec _id je pro mé účely nepotřebný, byl vynechán.

Všimněte si použití tečkové notace v atributu „MDEF“, což je povinná definice cesty pro zpracování úloh SortCL diskrétních plochých prvků. Vícehodnotové prvky a prvky pole dílčích dokumentů se generují v pořadí počínaje 0 v pořadí jejich vzhledu.

Spusťte Průvodce návrhem úlohy

Workbench obsahuje mnoho různých vhodných průvodců pro generování metadat pro spouštění samostatných úloh (skripty .*cl) nebo dávkově řízených úloh (soubory .flow a .bat/.sh) na příkazovém řádku prostřednictvím Workbench, vašich programů , atd.

Zvolil jsem základního průvodce transformací řazení, protože v něm mohu přidávat více cílů, maskovat výstupní pole atd. Tento průvodce se spouští z ikony skupiny nabídky CoSort (stopky) na panelu nástrojů. Vyberu Nová úloha řazení a zadaný chiefsout.scl jako název mé práce:

V dalším kroku identifikuji název mé zdrojové sbírky MongoDB a kde se nachází, pomocí stejné adresy URL lokátoru, která byla použita při definici metadat pro „náčelníky“:

Dalším krokem je specifikovat generování nebo použití existujících metadat pro kolekci ve formátu definice dat (DDF), který je vyžadován ve všech programech kompatibilních se SortCL. V tomto případě použiji soubor DDF, který jsem vytvořil v kroku 2 výše. Vyberu Přidat existující metadata vložit tato rozvržení přímo do mého skriptu úlohy jako vstupní specifikace a poté se projeví v dialogu níže:

Na další stránce specifikuji pole klíče řazení pro definování pořadí dat v mém cíli (cílech). V tomto případě vyjdu z výchozího chronologického pořadí prezidentů a seřadím je podle jmen:

Po kliknutí na Další , zobrazí se stránka Data Targets. Stejně jako u mých možností zdroje existuje několik různých druhů cílů, které mohu vytvořit a formátovat prostřednictvím tohoto průvodce a také později v jiném režimu návrhu úlohy (např. editor skriptů).

Tento a další průvodci Workbench mi umožňují neustále přidávat cíle a podrobně definovat obsah každého z nich. Atributy specifické pro cíl zahrnují:formát (např. CSV, MongoDB, MFVL), formátování (např. záhlaví a zápatí, řádky k přeskočení atd.), podmínky filtru, rozvržení na úrovni pole a použité funkce/pravidla (např. nové datové typy, masky, logika výrazů, agregace).

Na stránce Data Targets vím, že chci dva cíle:samostatný soubor JSON a vzdálenou kolekci MongoDB. Proto kliknu na Přidat cíl dat a začněte specifikovat první. Pokud neupravím možnosti cíle nebo rozložení cílového pole, můj výstup bude obsahovat pouze seřazenou verzi vstupních dat tak, jak jsou. To bude obsahovat můj cílový soubor JSON, když jej jednoduše pojmenuji..

Když znovu kliknu na Přidat cíl dat Druhou definuji jako kolekci MongoDB přes URL. Moje nová hlavní maska ​​ kolekce se automaticky vytvoří a naplní, když spustím úlohu. V rámci tohoto cíle chci jedno z polí zamaskovat kvůli soukromí, v tomto případě jména prezidenta. Kliknu na Cílové rozložení pole otevřít stránku mapování shora dolů pro můj zdroj a cíle:

Tato stránka také zobrazuje mé již definované pravidlo maskování. Definoval jsem to kliknutím pravým tlačítkem na PRESIDENT v cíli a kliknutím na Vytvořit pravidlo (místo procházení existujícího). Tím se otevřel seznam průvodců ochrany na úrovni pole, který je uveden níže. Všimněte si, že je k dispozici více funkcí pro maskování statických dat.

Vybral jsem Maskování (redakce znaků). Na této stránce jsem použil výchozí nastavení pro celé pole, abych skryl celé jméno prezidenta v cílové kolekci:

Po dokončení těchto výběrů se vrátím do mapovacího dialogu. Kliknu na OK a vraťte se na stránku Data Targets. Na konci mých změn skončím s podrobnostmi níže:

Kliknu na OK pro ukončení průvodce a vytvoření úlohy.

Zkontrolujte úlohu

Pomocí chiefsout.scl job je nyní zabudován do mého aktivního projektu a automaticky se mi otevírá v editačním okně, mohu ho vidět a upravovat odtud nebo prostřednictvím dostupných kontextových dialogových stránek. Zde se dozvíte o možnostech úprav skriptu.

Mohu také kliknout pravým tlačítkem myši do skriptu nebo jeho názvu souboru v okně projektu az nabídky možností IRI vytvořit vývojový diagram pro vizualizaci úkolu v rámci projektu. Uvnitř vývojového diagramu jsem poklepal na hnědý blok úloh, abych otevřel diagram mapování transformace ukazující pohyb pole zdroje k cíli, který jsem definoval, tentokrát zleva doprava:

chiefsout.scl skript a chiefsout.flow oba jsou otevřená, týmově sdílená metadata, která sdílejí společný datový model.

Spustit úlohu

Existuje také několik způsobů, jak provést úlohu, kterou jsem vytvořil, z Workbench i mimo něj.

Níže je uvedena zdrojová sbírka a moje stejná práce ve formě skriptu a obrysu. Po spuštění úlohy jsem otevřel pohled MonjaDB na seřazený a maskovaný cíl kolekce a můj seřazený cíl souboru JSON napravo od něj:

Jak bylo zmíněno, v tomto prostředí je nyní možné mnoho dalších permutací a rychlejších úloh správy dat využívajících data MongoDB. Uživatelé IRI Voracity si nyní mohou vybrat ze tří způsobů připojení k MongoDB a desítek funkčních možností.

Pokud máte nějaké dotazy nebo potřebujete pomoc, kontaktujte svého zástupce IRI zde.


  1. NodeJS + MongoDB:Získávání dat z kolekce pomocí findOne ()

  2. Hromadné vkládání Redis

  3. Ovladač MongoDB .Net 2.0 Pull (odstranit prvek)

  4. Operátor agregačního potrubí MongoDB $avg