MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Естествено маскиране на MongoDB (3-ти метод)

Забележка:Тази статия обхваща третия наличен клиентски метод на IRI за статично маскиране или криптиране на PII в структурирани колекции MongoDB чрез продукта IRI FieldShield или платформата IRI Voracity (и двете се захранват от IRI CoSort v10 и неговата поддръжка на собствения драйвер MongoDB). Вече е наличен четвърти метод за намиране и маскиране на PII, плаващ в неструктурирани колекции MongoDB чрез IRI DarkShield.

Тази статия обяснява как новата, естествена поддръжка за събиране на MongoDB в продуктите за манипулиране на данни на IRI позволява бърза производителност и консолидация на множество функции, ориентирани към данни, включително:

  • профилиране и почистване на данни
  • маскиране на данни и оценка на риска от повторно идентифициране
  • интегриране на данни (ETL) и CDC
  • мигриране и репликация на данни
  • персонализиран отчет и генериране на тестови данни

Поддръжката на ниво API за данни MongoDB се предлага в основната програма SortCL , която е машината за обработка по подразбиране на платформата за управление на данни IRI Voracity, както и нейните подмножества продукти:CoSort, NextForm, FieldShield и RowGen. Този метод на свързване е третият и най-бърз начин, по който клиентите на IRI могат да придобиват и манипулират данни в колекциите на MongoDB. Първият е чрез плоски файлове, както е описано през 2014 г. тук. Вторият е с ODBC и JDBC драйвери, описани през 2016 г. тук.

Относно MongoDB

MongoDB е „NoSQL“, документно-ориентирана база данни, която работи върху концепцията за колекции и подобни на JSON документи със схеми. Колекция, подобно на таблица на релационна база данни, съдържа един или повече документи.

Документът е набор от двойки ключ-стойност. Документите имат динамична схема, което означава, че документите в една и съща колекция не трябва да имат същия набор от полета или структура. Общите полета в документите на колекция може да съдържат различни типове данни.

Следната диаграма сравнява терминологията на RDBMS и MongoDB:

Oracle MongoDB
База данни База данни
Таблица Колекция
Ред Документ
Колона Поле
Първичен ключ Идентификатор на обект, предоставен от MongoDB

Демонстрация

Моят пример по-долу прави просто сортиране, маска и преместване на колекция MongoDB, наречена „chiefs“ в друга колекция, а също и в самостоятелен JSON файл. JSON файловете са друг нов източник на данни IRI, поддържан в изданието на CoSort v10.

Връзка с база данни

Първата стъпка е да установите свързаност с вашия MongoDB екземпляр в IRI Workbench. Създаден на Eclipse, IRI Workbench е обичайната IDE за проектиране и внедряване на целия IRI софтуер, изброен по-горе. Там също така можете да се свържете с други DB, HDFS и допълнителни източници на данни в локални или отдалечени файлови системи.

От менюто IRI (икона на завихряне) в лентата с инструменти на Workbench изберете IRI Preferences> IRI> URL Connection Registry> Add . Посочете съществуващ MongoDB от схемата и името на хоста на сървъра. Името на моята DB е cmitra, създадено на хоста „mongodbu“:

За удобство инсталирах безплатния плъгин MonjaDB за Eclipse, за да взаимодействам с базата данни в моята перспектива на Workbench. Моята колекция съдържа президенти на САЩ по имена, партии, щати и дати на техния мандат. MongoDB присвои уникален идентификатор за всеки документ:

Определение на метаданните

Преди да мога да обработя MongoDB данни в този режим, трябва да създам файл с формат за дефиниране на данни (DDF), който излага моите документи за колекция в /FIELD изрази за използване в SortCL-съвместими задачи като FieldShield. Както при други източници на данни, поддържани в Workbench, съветник прави това автоматично за мен.

Създайте (или изберете съществуваща) папка на проекта в Workbench, за да съхранявате активите на заданието като изходните метаданни, SortCL скрипт/диаграма, запазени правила за маскиране, класове данни и т.н. С тази папка активна (маркирана) и познаване на местоположението на моята колекция MongoDB, Вече мога да стартирам Откриване на метаданни съветник от менюто IRI в горната лента с инструменти.

В тази стъпка за идентификация на източника на данни мога да избера ODBC връзка, преглеждане на файлове или URL. В този случай достигам до MongoDB чрез URL, така че избирам това и MongoDB за моя формат. След като преглеждам записа в регистъра на базата данни, който преди това добавих, въвеждам името на колекцията. Помощникът добавя това към стандартния низ за свързване на MongoDB.

Страницата Data Viewer и Field Editor се свързва с колекцията и визуализира нейното съдържание на колони и колони като имена на полета SortCL:

Когато щракна върху Край , моят DDF файл е създаден и се показва, както следва:

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

Тези DDF метаданни могат да се използват във всяка работа (или задачи), засягаща тази колекция, включително тази в този пример, както е показано по-долу. Колоната _id е ненужна за моите цели беше пропусната.

Обърнете внимание на използването на нотация с точки в атрибута „MDEF“, който е задължителна дефиниция на пътя към процеса на SortCL задания на дискретни, плоски елементи. Елементите на масива с множество стойности и поддокументи се генерират в последователност, започваща с 0 в реда им на поява.

Изпълнете съветника за проектиране на работа

Workbench включва много различни подходящи за целта съветници за генериране на метаданни за изпълнение на отделни задачи (.*cl скриптове) или пакетно управлявани задачи (.flow и .bat/.sh файлове) в командния ред, чрез Workbench, вашите програми и др.

Избрах основен съветник за трансформиране на сортиране, защото в него мога да добавя множество цели, изходни полета за маска и т.н. Този съветник се изпълнява от иконата на групата меню CoSort (хронометър) от лентата с инструменти. Избирам Нова работа за сортиране и посочи chiefsout.scl като името на моята работа:

В следващата стъпка идентифицирам името на моята изходна колекция MongoDB и къде се намира, като използвам същия URL адрес на локатора, използван по време на дефиницията на метаданните за „началници“:

Следващата стъпка е да посочите генерирането или използването на съществуващи метаданни за колекцията във формат за дефиниране на данни (DDF), изискван във всички SortCL-съвместими програми. В този случай ще използвам DDF файла, който създадох в стъпка 2 по-горе. Избирам Добавяне на съществуващи метаданни да поставя тези оформления директно в моя скрипт за работа като входни спецификации и след това те се отразяват в диалоговия прозорец по-долу:

На следващата страница посочвам ключово поле за сортиране, за да дефинирам реда на данните в моята цел(и). В този случай ще премина от хронологичния ред на президентите по подразбиране и ще ги сортирам по име:

След като щракнете върху Напред , се показва страницата Целеви данни. Както при моите опции за източник, има няколко различни вида цели, които мога да създам и форматирам чрез този съветник, а също и по-късно в друг режим на проектиране на задание (например редактор на скриптове).

Този и други съветници на Workbench ми позволяват да продължа да добавям цели и детайлно да дефинирам съдържанието на всеки от тях. Специфичните за целта атрибути включват:формат (напр. CSV, MongoDB, MFVL), форматиране (напр. горни и долни колонтитули, редове за пропускане и т.н.), условия на филтриране, оформления на ниво поле и приложени функции/правила (напр. нови типове данни, маски, логика на изрази, агрегиране).

В страницата Целеви данни знам, че искам две цели:самостоятелен JSON файл и отдалечена колекция MongoDB. Затова щраквам върху Добавяне на цел за данни и започнете да указвате първия. Освен ако не редактирам целевите опции или оформлението на целевото поле, моят изход ще съдържа само сортираната версия на входните данни такава, каквато е. Това ще съдържа моят JSON целеви файл, като просто го наименувам..

Когато отново щракна върху Добавяне на цел за данни Дефинирам втората като MongoDB колекция чрез URL. Моята нова главна маска колекцията автоматично ще се изгради и попълни, когато стартирам заданието. В рамките на тази цел искам едно от полетата, маскирани за поверителност, имената на президента в този случай. Щраквам върху Оформление на целевото поле за да отворя страница за картографиране отгоре до долу за моя източник и цели:

Тази страница също показва моето правило за маскиране, което вече е дефинирано. Бях дефинирал това, като щракнах с десния бутон върху PRESIDENT в целта и щракнах върху Създаване на правило (вместо да разглеждате съществуващ). Това отвори списък със съветници за защита на ниво поле, показан по-долу. Имайте предвид, че са налични повече функции за маскиране на статични данни.

Избрах Маскиране (редакция на знаци). На тази страница взех по подразбиране цялото поле, за да маскирам цялото име на президента в целевата колекция:

След като завърша тези селекции, се връщам в диалоговия прозорец за картографиране. Щраквам върху OK и се върнете към страницата Целеви данни. В края на моите промени ще завърша с подробностите по-долу:

Щраквам върху OK за да прекратите съветника и да изградите работата.

Прегледайте работата

С chiefsout.scl работа вече е вградена в активния ми проект и се отваря автоматично в прозореца за редактиране, мога да го видя и променя от там или чрез наличните диалогови страници в контекста. Научете за опциите за редактиране на скрипт тук.

Мога също да щракна с десния бутон вътре в скрипта или името на неговия файл в прозореца на проекта и от IRI меню с опции да създам диаграма на потока, за да визуализирам задачата в рамките на проекта. От вътрешността на диаграмата на потока щраквам двукратно върху кафявия блок със задачи, за да отворя диаграма за преобразуване, показваща движението на полето от източник към цел, което съм дефинирал, този път отляво надясно:

chiefsout.scl скрипт и chiefsout.flow и двата файла са отворени активи с метаданни за споделяне в екип, които споделят общ модел на данни.

Изпълнете работата

Има и множество начини за изпълнение на работата, която създадох, както от Workbench, така и извън него.

По-долу е показана изходната колекция и същата работа, представена в скрипт и форма. След като изпълних заданието, отворих изглед на MonjaDB на целта за сортирана и маскирана колекция и моят сортиран JSON файл цел отдясно:

Както споменахме, в тази среда вече са възможни много други пермутации и по-бързи задачи за управление на данни, които използват MongoDB. Потребителите на IRI Voracity вече могат да избират от три метода за свързване с MongoDB и десетки функционални възможности.

Ако имате въпроси или се нуждаете от помощ, свържете се с вашия представител на IRI тук.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB на Android

  2. Актуализация на Mongoose без обратно повикване

  3. MongoDB $currentDate

  4. Как да разрешите JSON данни в свободна форма в документите на Mongoose?

  5. Контролен списък за разработка и операции за MongoDB