MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Natywne maskowanie MongoDB (trzecia metoda)

Uwaga:w tym artykule omówiono trzecią dostępną metodę klienta IRI służącą do statycznego maskowania lub szyfrowania danych osobowych w ustrukturyzowanych kolekcjach MongoDB za pośrednictwem produktu IRI FieldShield lub platformy IRI Voracity (obie oparte na IRI CoSort v10 i jej obsłudze natywnego sterownika MongoDB). Dostępna jest teraz czwarta metoda wyszukiwania i maskowania danych osobowych pływających w nieustrukturyzowanych kolekcjach MongoDB za pośrednictwem IRI DarkShield.

W tym artykule wyjaśniono, w jaki sposób nowa, natywna obsługa gromadzenia danych MongoDB w produktach IRI do manipulacji danymi umożliwia szybką wydajność i konsolidację wielu funkcji skoncentrowanych na danych, w tym:

  • profilowanie i czyszczenie danych
  • maskowanie danych i ocena ryzyka ponownej identyfikacji
  • integracja danych (ETL) i CDC
  • migracja i replikacja danych
  • niestandardowe generowanie raportów i danych testowych

Obsługa danych MongoDB na poziomie interfejsu API jest oferowana w podstawowym programie SortCL, który jest domyślnym silnikiem przetwarzania platformy zarządzania danymi IRI Vorcity, a także w jej podzbiorach:CoSort, NextForm, FieldShield i RowGen. Ta metoda połączenia jest trzecim i najszybszym sposobem, w jaki klienci IRI mogą pozyskiwać i manipulować danymi w kolekcjach MongoDB. Pierwszy to pliki płaskie, jak opisano w 2014 tutaj. Drugi dotyczy sterowników ODBC i JDBC opisanych w 2016 tutaj.

Informacje o MongoDB

MongoDB to „NoSQL”, zorientowana na dokumenty baza danych, która pracuje nad koncepcją kolekcji i dokumentów podobnych do JSON ze schematami. Kolekcja, taka jak tabela relacyjnej bazy danych, zawiera jeden lub więcej dokumentów.

Dokument to zestaw par klucz-wartość. Dokumenty mają schemat dynamiczny, co oznacza, że ​​dokumenty w tej samej kolekcji nie muszą mieć tego samego zestawu pól ani struktury. Wspólne pola w dokumentach kolekcji mogą zawierać różne typy danych.

Poniższy wykres porównuje terminologię RDBMS i MongoDB:

Oracle MongoDB
Baza danych Baza danych
Tabela Kolekcja
Wiersz Dokument
Kolumna Pole
Klucz podstawowy Identyfikator obiektu dostarczony przez MongoDB

Demonstracja

Mój przykład poniżej wykonuje proste sortowanie, maskowanie i przenoszenie kolekcji MongoDB o nazwie „szefs” do innej kolekcji, a także do samodzielnego pliku JSON. Pliki JSON to kolejne nowe źródło danych IRI obsługiwane w wersji CoSort v10.

Połączenie z bazą danych

Pierwszym krokiem jest nawiązanie łączności z instancją MongoDB w IRI Workbench. Zbudowany na platformie Eclipse, IRI Workbench to wspólne środowisko IDE do projektowania i wdrażania zadań dla wszystkich wymienionych powyżej programów IRI. To także miejsce, w którym możesz połączyć się z innymi bazami danych, HDFS i dodatkowymi źródłami danych w lokalnych lub zdalnych systemach plików.

Z menu IRI (ikona wiru) na pasku narzędzi Workbench wybierz Preferencje IRI> IRI> Rejestr połączeń URL> Dodaj . Określ istniejącą bazę danych MongoDB ze schematu i nazwę hosta serwera. Moja baza danych nazywa się cmitra, utworzona na hoście „mongodbu”:

Dla wygody zainstalowałem darmową wtyczkę MonjaDB dla środowiska Eclipse, która umożliwia interakcję z bazą danych w mojej perspektywie Workbencha. Moja kolekcja zawiera nazwiska prezydentów USA, partie, stany i daty ich kadencji. MongoDB przypisał unikalny identyfikator dla każdego dokumentu:

Definicja metadanych

Zanim będę mógł przetwarzać dane MongoDB w tym trybie, muszę utworzyć plik w formacie definicji danych (DDF), który umieści moje dokumenty kolekcji w instrukcjach /FIELD do użytku w zadaniach zgodnych z SortCL, takich jak FieldShield. Podobnie jak w przypadku innych źródeł danych obsługiwanych w Workbench, kreator robi to za mnie automatycznie.

Utwórz (lub wybierz istniejący) folder projektu w Workbench, aby przechowywać zasoby zadania, takie jak metadane źródłowe, skrypt/diagram SortCL, zapisane reguły maskowania, klasy danych itp. Gdy ten folder jest aktywny (podświetlony) i wiedza o lokalizacji mojej kolekcji MongoDB, Mogę teraz uruchomić Odkryj metadane kreatora z menu IRI na górnym pasku narzędzi.

W tym kroku Identyfikacja źródła danych mogę wybrać połączenie ODBC, przeglądarkę plików lub adres URL. W tym przypadku dochodzę do MongoDB przez adres URL, więc wybieram to i MongoDB dla mojego formatu. Po wyszukaniu wpisu rejestru bazy danych, który wcześniej dodałem, wpisuję nazwę kolekcji. Kreator dołącza to do standardowego ciągu połączenia MongoDB.

Strona Przeglądarka danych i Edytor pól łączy się z kolekcją i wyświetla podgląd zawartości kolumn i kolumn jako nazwy pól SortCL:

Kiedy kliknę Zakończ , mój plik DDF jest tworzony i wyświetla się w następujący sposób:

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

Te metadane DDF mogą być używane w dowolnym zadaniu (lub zadaniach) wpływającym na tę kolekcję, w tym w tym przykładzie, jak pokazano poniżej. Kolumna _id jest niepotrzebna do moich celów została pominięta.

Zwróć uwagę na użycie notacji kropkowej w atrybucie „MDEF”, który jest wymaganą definicją ścieżki do dyskretnych, płaskich elementów procesu zadań SortCL. Wielowartościowe i podrzędne elementy tablicy dokumentów są generowane w kolejności, zaczynając od 0 w ich kolejności pojawiania się.

Uruchom kreatora projektu pracy

Workbench zawiera wiele różnych dopasowanych do potrzeb kreatorów do generowania metadanych do uruchamiania dyskretnych zadań (skrypty .*cl) lub zadań sterowanych wsadowo (pliki .flow i .bat/.sh) w wierszu poleceń, za pośrednictwem Workbencha, twoich programów itp.

Wybrałem podstawowy kreator przekształceń sortowania, ponieważ mogę w nim dodawać wiele celów, maskować pola wyjściowe itp. Kreator ten uruchamia się z ikony grupy menu CoSort (stoper) z paska narzędzi. Wybieram Nowe zadanie sortowania i określony chiefsout.scl jako nazwa mojej pracy:

W następnym kroku identyfikuję nazwę mojej źródłowej kolekcji MongoDB i jej lokalizację, używając tego samego adresu URL lokalizatora, który został użyty podczas definicji metadanych dla „głównych”:

Następnym krokiem jest określenie generowania lub wykorzystania istniejących metadanych do gromadzenia w formacie definicji danych (DDF) wymaganym we wszystkich programach zgodnych z SortCL. W takim przypadku użyję pliku DDF utworzonego w kroku 2 powyżej. Wybieram Dodaj istniejące metadane aby umieścić te układy bezpośrednio w skrypcie zadania jako specyfikacje wejściowe, a następnie zostaną one odzwierciedlone w poniższym oknie dialogowym:

Na następnej stronie określam pole klucza sortowania, aby zdefiniować kolejność danych w moich celach. W takim przypadku przejdę od domyślnej kolejności chronologicznej prezydentów i posortuję ich według nazwisk:

Po kliknięciu Dalej , zostanie wyświetlona strona Cel danych. Podobnie jak w przypadku moich opcji źródłowych, istnieje kilka różnych rodzajów celów, które mogę tworzyć i formatować za pomocą tego kreatora, a także później w innym trybie projektowania zadań (np. edytor skryptów).

Ten i inne kreatory Workbencha pozwalają mi na ciągłe dodawanie celów i szczegółowe definiowanie zawartości każdego z nich. Atrybuty specyficzne dla celu obejmują:format (np. CSV, MongoDB, MFVL), formatowanie (np. nagłówki i stopki, wiersze do pominięcia itp.), warunki filtrowania, układy na poziomie pól i zastosowane funkcje/reguły (np. nowe typy danych, maski, logika wyrażeń, agregacja).

Na stronie Data Targets wiem, że chcę mieć dwa cele:samodzielny plik JSON i zdalną kolekcję MongoDB. Dlatego klikam Dodaj cel danych i zacznij określać pierwszy. O ile nie edytuję opcji docelowych lub układu pola docelowego, moje dane wyjściowe będą zawierać tylko posortowaną wersję danych wejściowych bez zmian. To właśnie będzie zawierał mój docelowy plik JSON, po prostu nadając mu nazwę.

Gdy ponownie kliknę Dodaj cel danych Drugą definiuję jako kolekcję MongoDB za pośrednictwem adresu URL. Moja nowa maska ​​szefa kolekcja zostanie automatycznie zbudowana i wypełniona po uruchomieniu zadania. Właśnie w ramach tego celu chcę zamaskować jedno z pól dla prywatności, w tym przypadku nazwisko prezydenta. Klikam Układ pola docelowego aby otworzyć stronę mapowania od góry do dołu dla mojego źródła i celów:

Ta strona pokazuje również moją już zdefiniowaną regułę maskowania. Zdefiniowałem to, klikając prawym przyciskiem myszy PRESIDENT w miejscu docelowym i klikając Utwórz regułę (zamiast przeglądania do istniejącego). To otworzyło listę kreatorów ochrony na poziomie pola, pokazaną poniżej. Zwróć uwagę, że dostępnych jest więcej funkcji maskowania danych statycznych.

Wybrałem Maskowanie (redakcja znaków). Na tej stronie wybrałem domyślną wartość pełnego pola, aby zamaskować całe imię prezydenta w kolekcji docelowej:

Po zakończeniu tych wyborów wracam do okna dialogowego mapowania. Klikam OK i wróć do strony Cele danych. Pod koniec moich zmian omówię poniższe szczegóły:

Klikam OK aby zakończyć pracę kreatora i zbudować pracę.

Przejrzyj pracę

Z chiefsout.scl zadanie jest teraz wbudowane w mój aktywny projekt i automatycznie otwiera się dla mnie w oknie edycji, mogę je przeglądać i modyfikować stamtąd lub poprzez dostępne strony dialogowe w kontekście. Dowiedz się tutaj o opcjach edycji skryptów.

Mogę również kliknąć prawym przyciskiem myszy wewnątrz skryptu lub jego nazwę pliku w oknie projektu, a następnie z menu opcji IRI zbudować diagram przepływu, aby zwizualizować zadanie w projekcie. Wewnątrz diagramu przepływu klikam dwukrotnie brązowy blok zadań, aby otworzyć diagram mapowania transformacji pokazujący zdefiniowany przeze mnie ruch pola od źródła do celu, tym razem od lewej do prawej:

chiefsout.scl skrypt i chiefsout.flow plik to otwarte zasoby metadanych, które można udostępniać zespołowi, które mają wspólny model danych.

Uruchom zadanie

Istnieje również wiele sposobów wykonania zbudowanej przeze mnie pracy, zarówno z poziomu Workbencha, jak i poza nim.

Poniżej pokazana jest kolekcja źródłowa i ta sama praca reprezentowana w formie skryptu i konspektu. Po uruchomieniu zadania otworzyłem widok MonjaDB posortowanego i zamaskowanego celu kolekcji, a po jego prawej stronie posortowany cel pliku JSON:

Jak wspomniano, w tym środowisku możliwe jest teraz wiele innych kombinacji i szybszych zadań zarządzania danymi przy użyciu danych MongoDB. Użytkownicy IRI Voracity mogą teraz wybierać spośród trzech metod połączenia z MongoDB i dziesiątek możliwości funkcjonalnych.

Jeśli masz jakieś pytania lub potrzebujesz pomocy, skontaktuj się z przedstawicielem IRI tutaj.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Konwertuj DBObject na POJO za pomocą sterownika Java MongoDB

  2. Jakie uprawnienia użytkownika MongoDB są potrzebne, aby dodać użytkownika do nowej/innej bazy danych Mongo?

  3. Spring Data Mongo - zastosuj unikalne pola kombinacji w osadzonym dokumencie

  4. Dlaczego MongoDB zajmuje tyle miejsca?

  5. Jak zsumować wartość klucza we wszystkich dokumentach w kolekcji MongoDB?