Every database team eventually runs into the same problem: your best test data is your real data, but using it outside of production is a compliance nightmare waiting to happen. Regulations like GDPR, HIPAA, and PCI-DSS don't care that you were "just testing"; if a developer's laptop or a staging server leaks real customer names, emails, or payment details, that's a breach. Navicat 18 tackles this head-on with Data Masking, a new feature built to transform sensitive production records into safe, realistic mock data so your development, testing, and QA teams can keep working without the risk.
Mengapa Masking Lebih Baik daripada Menghapus atau Memalsukan Data
Menghapus kolom sensitif sepenuhnya atau menggantinya dengan placeholder yang jelas-jelas palsu (test1, test2, xxxxx) sering kali justru mengganggu alur kerja yang sedang Anda uji, karena query yang bergantung pada format realistis, batasan keunikan, atau integritas referensial dapat berperilaku berbeda saat diproses dengan data sampah. Masking mengatasi hal ini dengan mempertahankan struktur dan kegunaan data Anda sambil menghapus segala hal yang dapat mengidentifikasi seseorang yang nyata.
Navicat 18 mendukung lima teknik masking standar industri:
- Substitusi: menukar value asli dengan value yang realistis namun fiktif (misalnya, nama asli diganti dengan nama lain yang masuk akal)
- Varians: menggeser value numerik atau tanggal dengan offset acak, menjaga tren tetap utuh tanpa mengungkapkan angka yang tepat
- Pengacakan: mengurutkan ulang nilai-nilai dalam kolom secara acak, sehingga data tetap asli tetapi tidak lagi terikat pada baris yang benar
- Hashing: mengubah nilai menjadi string tetap dan tidak dapat dibalik, berguna saat Anda membutuhkan konsistensi (input yang sama selalu menghasilkan hasil hashing yang sama) tanpa kemiripan apa pun dengan aslinya
- Pengosongan: sekadar mengosongkan bidang sepenuhnya, paling cocok untuk data yang sama sekali tidak memiliki kegunaan di luar lingkungan produksi
Teknik mana yang Anda pilih bergantung pada kebutuhan tes hilir yang sebenarnya; Hashing sangat cocok untuk nilai-nilai yang perlu digabungkan atau dicocokkan, sedangkan Substitusi menjaga data tetap mudah dibaca bagi staf QA yang memeriksa data secara visual.
Masking Data di Navicat 18: Panduan Singkat
Fitur Masking Data tersedia di Edisi Enterprise dan Standard serta dapat digunakan dengan database MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB, MongoDB, dan Snowflake. Berikut cara mengubah beberapa kolom data pelanggan asli menjadi data tiruan yang aman dan realistis:
- Di jendela utama, pilih Tools -> Data Masking dari bilah alat.

- Hal ini akan membuka wizard Masking Data, yang akan memandu kita melalui prosesnya.
Pada layar pertama, kita dapat menerapkan pemaskan ke alur kerja kita dengan mentransfer data yang telah dipaskan ke database lain (pengaturan default) atau menerapkan pemaskan ke tabel yang sudah ada. Kita akan menerima pengaturan default.

- Selanjutnya, saatnya memilih database sumber dan tujuan. Karena kita telah memilih untuk mentransfer data yang telah di-masking ke database lain pada layar sebelumnya, kita memiliki opsi untuk memilih database atau mengekspor SQL ke berkas. Mari kita pilih opsi kedua dan beri nama berkas tersebut “customer_test”. Ini merupakan pilihan yang tepat jika kita ingin menggunakan data uji yang sama di beberapa database.

- Layar berikutnya adalah tempat kita dapat memilih tabel dan baris mana yang ingin kita masking. Kita akan memilih tabel customer. (Perhatikan bahwa, untuk semua database kecuali MongoDB, melakukan Data Masking mengharuskan tabel tersebut memiliki kunci utama.) Terdapat dua Mode Transfer utama: “Auto” dan “Advanced”: ‘Auto’ menyamarkan semua baris dan mempertahankan nama kolom apa adanya, sedangkan memilih opsi “Advanced” memberi kita kendali penuh atas nama tabel tujuan, nama kolom, serta baris mana yang akan diproses. Kita akan mempertahankan semua pengaturan seperti semula, kecuali untuk kumpulan catatan. Di sini, kita akan membatasi catatan hanya pada sepuluh customer_id pertama. Untuk melakukannya:
- Pilih opsi “Custom recordsets”. Hal ini akan menempatkan kursor pada baris kosong baru di daftar Recordsets.
- Mengklik tombol elipsis [...] di sebelah kanan kotak teks akan membuka dialog Filter.
- Di sana, klik tanda + untuk menambahkan kondisi baru. Anda mungkin akan mengenalinya karena cara kerjanya persis sama dengan klausa WHERE pada Visual Query Builder.

- Kita dapat melihat SQL yang dihasilkan dengan mengklik tombol Pratinjau SQL.

Berikut adalah tampilan layar Objek Database yang telah selesai:
Sekarang kita akan memilih kolom mana saja yang akan disamarkan. Mari kita pilih store_id, last_name, email, dan create_date.

- Layar berikutnya adalah tempat kita akan memberi tahu Navicat secara tepat bagaimana cara menyamarkan setiap kolom. Mari kita bahas satu per satu:
Kolom store_id
Sebagai kolom numerik, store_id memberi kita banyak opsi masking. Mari pilih Shuffling sebagai Teknik Masking Data. Hal ini akan menetapkan ID yang valid ke setiap baris, tetapi dalam urutan yang berbeda.
Kita dapat melihat hasilnya di bagian bawah layar.
Kolom last_name
Untuk kolom last_name, kita akan menggunakan “Substitution” sebagai Teknik Masking Data. Terdapat pula sejumlah Kategori yang dapat dipilih, mulai dari yang umum hingga yang lebih spesifik. “Name” akan sangat cocok untuk keperluan kita.
Kita juga dapat “Preserve” sebagian nilai asli dan menyamarkan sisanya, atau “Replace” dengan nilai palsu. Kita akan memilih opsi pertama sehingga setiap huruf dari nama belakang kecuali huruf pertama akan disamarkan dengan tanda bintang (*).
Kolom email
Email memiliki Kategori tersendiri, yang memungkinkan kita menerapkan masking berbeda pada bagian nama pengguna dan domain. Untuk nama domain, Navicat menyediakan daftar kandidat potensial yang dapat disesuaikan.
Kolom create_date
Tanggal dan waktu menawarkan banyak kemungkinan masking. Misalnya, kita dapat mengonversi DateTime menjadi Date, memodifikasi nilai, atau menggantinya dengan nilai palsu yang realistis.
- Ringkasan memberikan kesempatan terakhir untuk meninjau operasi masking sebelum memulai proses.

- Navicat akan memberikan ringkasan lengkap mengenai tindakan apa saja yang sedang dilakukannya.

- Setelah menutup kotak dialog, kita dapat melihat file hasil di Navicat melalui perintah File -> Open File -> Query....

Karena seluruh proses berjalan di dalam Navicat, tidak perlu mengekspor data ke alat atau skrip terpisah — Anda dapat menyamarkan seluruh database dalam hitungan menit, tepat di tempat Anda sedang bekerja.
Kesimpulan
Fitur Data Masking mengatasi kendala nyata bagi tim yang harus menyeimbangkan persyaratan kepatuhan dengan kebutuhan praktis akan data pengujian yang realistis. Dikombinasikan dengan rangkaian alat AI yang lebih luas di Navicat 18, fitur ini mengubah proses yang dulunya dilakukan secara manual dan rentan terhadap kesalahan menjadi sekadar beberapa klik saja. Jika tim Anda menangani data yang diatur oleh regulasi di lingkungan pengembangan atau pengujian, fitur ini layak untuk dicoba segera setelah Anda melakukan pembaruan!

