MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Masking MongoDB Asli (Metode ke-3)

Catatan:Artikel ini membahas metode pelanggan IRI ketiga yang tersedia untuk menutupi atau mengenkripsi PII secara statis dalam koleksi MongoDB terstruktur melalui produk IRI FieldShield atau platform IRI Voracity (keduanya didukung oleh IRI CoSort v10 dan dukungannya terhadap driver MongoDB asli). Metode keempat sekarang tersedia untuk menemukan dan menutupi PII yang mengambang di koleksi MongoDB yang tidak terstruktur melalui IRI DarkShield.

Artikel ini menjelaskan bagaimana dukungan pengumpulan MongoDB asli yang baru dalam produk manipulasi data IRI memungkinkan kinerja yang cepat dan konsolidasi beberapa fungsi data-sentris, termasuk:

  • pemrofilan &pembersihan data
  • penyembunyian data &penilaian risiko ID ulang
  • integrasi data (ETL) &CDC
  • migrasi &replikasi data
  • laporan khusus &pembuatan data pengujian

Dukungan tingkat API untuk data MongoDB ditawarkan dalam program inti SortCL, yang merupakan mesin pemrosesan default dari platform pengelolaan data IRI Voracity, serta produk subsetnya:CoSort, NextForm, FieldShield, dan RowGen. Metode koneksi ini adalah cara ketiga, dan tercepat, agar pelanggan IRI dapat memperoleh dan memanipulasi data dalam koleksi MongoDB. Yang pertama adalah melalui file datar seperti yang dijelaskan pada tahun 2014 di sini. Yang kedua adalah dengan driver ODBC dan JDBC yang dijelaskan pada tahun 2016 di sini.

Tentang MongoDB

MongoDB adalah "NoSQL", database berorientasi dokumen yang bekerja berdasarkan konsep koleksi dan dokumen mirip JSON dengan skema. Koleksi, seperti tabel database relasional, berisi satu atau lebih dokumen.

Sebuah dokumen adalah satu set pasangan kunci-nilai. Dokumen memiliki skema dinamis, yang berarti bahwa dokumen dalam koleksi yang sama tidak perlu memiliki kumpulan bidang atau struktur yang sama. Bidang umum dalam dokumen koleksi dapat menyimpan berbagai jenis data.

Bagan berikut membandingkan terminologi RDBMS dan MongoDB:

Oracle MongoDB
Database Database
Tabel Koleksi
Baris Dokumen
Kolom Bidang
Kunci Utama ID objek disediakan oleh MongoDB

Demonstrasi

Contoh saya di bawah ini melakukan pengurutan, penyamaran, dan perpindahan sederhana dari koleksi MongoDB yang disebut "chiefs" ke dalam koleksi lain, dan juga keluar ke file JSON yang berdiri sendiri. File JSON adalah sumber data IRI baru lainnya yang didukung dalam rilis CoSort v10.

Koneksi Basis Data

Langkah pertama adalah membangun konektivitas dengan instans MongoDB Anda di IRI Workbench. Dibangun di Eclipse, IRI Workbench adalah desain pekerjaan umum dan IDE penyebaran untuk semua perangkat lunak IRI yang tercantum di atas. Ini juga tempat Anda dapat terhubung ke DB lain, HDFS, dan sumber data tambahan di sistem file lokal atau jarak jauh.

Dari Menu IRI (ikon putar) di toolbar Workbench, pilih Preferensi IRI> IRI> Registri Koneksi URL> Tambah . Tentukan MongoDB yang ada dari skema dan nama host server. Nama DB saya cmitra, dibuat di host 'mongodbu':

Untuk kenyamanan, saya menginstal plug-in MonjaDB gratis untuk Eclipse untuk berinteraksi dengan database dalam perspektif Workbench saya. Koleksi saya berisi Presiden AS berdasarkan nama, partai, negara bagian, dan tanggal masa jabatan mereka. MongoDB menetapkan ID unik untuk setiap dokumen:

Definisi Metadata

Sebelum saya dapat memproses data MongoDB dalam mode ini, saya harus membuat file format definisi data (DDF) yang menjabarkan dokumen koleksi saya dalam pernyataan /FIELD untuk digunakan dalam pekerjaan yang kompatibel dengan SortCL seperti FieldShield. Seperti sumber data lain yang didukung di Workbench, wizard melakukan ini untuk saya secara otomatis.

Buat (atau pilih yang sudah ada) Folder Proyek di Meja Kerja untuk menyimpan aset pekerjaan seperti metadata sumber, skrip/diagram SortCL, aturan penyembunyian yang disimpan, kelas data, dll. Dengan folder itu aktif (disorot) dan pengetahuan tentang lokasi koleksi MongoDB saya, Sekarang saya dapat menjalankan Temukan Metadata wizard dari menu IRI di bilah alat atas.

Pada langkah Identifikasi Sumber Data ini, saya dapat memilih koneksi ODBC, penelusuran file, atau URL. Dalam hal ini, saya mencapai MongoDB melalui URL, jadi saya memilih itu dan MongoDB untuk format saya. Setelah menelusuri entri registri database yang saya tambahkan sebelumnya, saya memasukkan nama koleksi. Wizard menambahkan ini ke string koneksi MongoDB standar.

Halaman Data Viewer dan Field Editor terhubung ke koleksi dan mempratinjau isi kolom dan kolomnya sebagai nama kolom SortCL:

Saat saya mengklik Selesai , file DDF saya dibuat dan ditampilkan sebagai berikut:

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

Metadata DDF ini dapat digunakan dalam pekerjaan (atau pekerjaan) apa pun yang memengaruhi koleksi ini, termasuk yang ada dalam contoh ini seperti yang ditunjukkan di bawah ini. Kolom _id tidak diperlukan untuk tujuan saya dihilangkan.

Perhatikan penggunaan notasi titik dalam atribut “MDEF”, yang merupakan definisi jalur yang diperlukan untuk proses pekerjaan SortCL elemen datar diskrit. Elemen larik multi-nilai dan sub dokumen dihasilkan secara berurutan dimulai dengan 0 dalam urutan kemunculannya.

Jalankan Panduan Desain Pekerjaan

Workbench menyertakan banyak wizard yang sesuai untuk tujuan yang berbeda untuk menghasilkan metadata untuk menjalankan tugas diskrit (skrip .*cl) atau pekerjaan berbasis batch (file .flow dan .bat/.sh) pada baris perintah, melalui Workbench, program Anda , dll.

Saya memilih wizard transformasi pengurutan dasar karena di dalamnya saya dapat menambahkan beberapa target, bidang keluaran topeng, dll. Wizard ini berjalan dari ikon grup menu CoSort (stopwatch) dari bilah alat. Saya memilih Pekerjaan Urutkan Baru dan menentukan chiefsout.scl sebagai nama pekerjaan saya:

Pada langkah berikutnya, saya mengidentifikasi nama koleksi MongoDB sumber saya dan di mana letaknya, menggunakan URL pencari yang sama yang digunakan selama definisi metadata untuk “chiefs”:

Langkah selanjutnya adalah menentukan pembuatan, atau penggunaan metadata yang ada untuk pengumpulan dalam format definisi data (DDF) yang diperlukan di semua program yang kompatibel dengan SortCL. Dalam hal ini, saya akan menggunakan file DDF yang saya buat pada Langkah 2 di atas. Saya memilih Tambahkan Metadata yang Ada untuk menempatkan tata letak ini langsung ke skrip pekerjaan saya sebagai spesifikasi input, dan kemudian ditampilkan dalam dialog di bawah ini:

Pada halaman berikutnya, saya menentukan bidang kunci sortir untuk menentukan urutan data dalam target saya. Dalam hal ini, saya akan beralih dari urutan kronologis default presiden dan mengurutkannya berdasarkan nama:

Setelah mengklik Berikutnya , halaman Target Data ditampilkan. Seperti opsi sumber saya, ada beberapa jenis target yang dapat saya buat dan format melalui wizard ini dan juga nanti dalam mode desain pekerjaan lain (mis., editor skrip).

Wizard Workbench ini dan lainnya memungkinkan saya untuk terus menambahkan target, dan mendefinisikan konten masing-masing target secara terperinci. Atribut spesifik target meliputi:format (mis., CSV, MongoDB, MFVL), pemformatan (mis., header dan footer, baris untuk dilewati, dll.), kondisi filter, tata letak tingkat bidang, dan fungsi/aturan yang diterapkan (mis., tipe data, topeng, logika ekspresi, agregasi).

Di halaman Target Data, saya tahu bahwa saya menginginkan dua target:file JSON mandiri dan koleksi MongoDB jarak jauh. Jadi, saya klik Tambahkan Data Target dan mulai menentukan yang pertama. Kecuali saya mengedit opsi target atau tata letak bidang target, output saya hanya akan berisi versi data input yang diurutkan apa adanya. Itulah yang akan berisi file target JSON saya hanya dengan menamainya..

Saat saya mengklik lagi Tambahkan Target Data Saya mendefinisikan yang kedua sebagai koleksi MongoDB melalui URL. kedok kepala new baruku koleksi akan secara otomatis membangun dan mengisi ketika saya menjalankan pekerjaan. Dalam target itulah saya ingin salah satu bidang yang tertutupi privasi, nama Presiden dalam hal ini. Saya mengklik Tata Letak Bidang Target untuk membuka halaman pemetaan dari atas ke bawah untuk sumber dan target saya:

Halaman ini juga menunjukkan aturan penyembunyian saya yang sudah ditentukan. Saya telah mendefinisikannya dengan mengklik kanan PRESIDEN di target dan mengklik Buat Aturan (alih-alih menjelajah ke yang sudah ada). Itu membuka daftar penyihir perlindungan tingkat lapangan, yang ditunjukkan di bawah ini. Perhatikan bahwa lebih banyak fungsi penyamaran data statis tersedia.

Saya memilih Masking (redaksi karakter). Di halaman itu, saya mengambil default bidang penuh untuk menutupi seluruh nama Presiden dalam koleksi target:

Setelah menyelesaikan pilihan ini, saya kembali ke dialog pemetaan. Saya klik Oke dan kembali ke halaman Target Data. Di akhir perubahan saya, saya akan mengakhiri dengan detail di bawah ini:

Saya klik OK untuk mengakhiri wizard dan membangun pekerjaan.

Tinjau Pekerjaan

Dengan chiefsout.scl pekerjaan sekarang dibangun di proyek aktif saya dan terbuka untuk saya di jendela pengeditan secara otomatis, saya dapat melihat dan memodifikasinya dari sana, atau melalui halaman dialog dalam konteks yang tersedia. Pelajari tentang opsi pengeditan skrip di sini.

Saya juga dapat mengklik kanan di dalam skrip atau nama filenya di jendela proyek, dan dari menu opsi IRI, buat diagram alur untuk memvisualisasikan tugas dalam proyek. Dari dalam diagram alir, saya klik dua kali pada blok tugas cokelat untuk membuka diagram pemetaan transformasi yang menunjukkan pergerakan bidang sumber-ke-target yang telah saya tetapkan, kali ini dari kiri ke kanan:

chiefsout.scl skrip dan chiefsout.flow file keduanya terbuka, aset metadata yang dapat dibagikan oleh tim yang berbagi model data yang sama.

Jalankan Pekerjaan

Ada juga beberapa cara untuk menjalankan pekerjaan yang saya buat, baik dari maupun di luar Workbench.

Ditampilkan di bawah ini adalah kumpulan sumber dan pekerjaan saya yang sama diwakili dalam bentuk skrip dan garis besar. Setelah menjalankan pekerjaan, saya membuka tampilan MonjaDB dari target koleksi yang diurutkan dan disembunyikan, dan target file JSON saya yang diurutkan di sebelah kanannya:

Seperti yang disebutkan, banyak permutasi lain dari, dan pekerjaan manajemen data yang lebih cepat menggunakan, data MongoDB sekarang dimungkinkan di lingkungan ini. Pengguna IRI Voracity sekarang dapat memilih dari tiga metode koneksi ke MongoDB dan lusinan kemampuan fungsional.

Jika Anda memiliki pertanyaan atau memerlukan bantuan, hubungi perwakilan IRI Anda di sini.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. DropIndex MongoDB()

  2. Menghubungkan ke MongoDB Atlas menggunakan Golang mgo:Persistent no reachable server to replika set

  3. Temukan dokumen yang bidang arraynya berisi setidaknya n elemen dari array yang diberikan

  4. MongoDB Hubungan Satu ke Banyak

  5. Urutkan menggunakan MongoEngine?