Masalah Backup

Saya melakukan kesalahan bodoh lagi. Mencoba mengubah basis data (menghapus), tetapi tidak menyiapkan backup-nya. Sebetulnya yang ingin saya lakukan hanyalah menghapus data dummy. Masalahnya, saya tidak tahu bahwa ternyata penghapusan yang saya lakukan melalui htmlpost itu ternyata berdampak pada lebih dari satu data.

Judulnya, saya menghapus data berdasarkan id-nya, tapi kelihatannya id yang dibuat tidak cukup unik. Walhasil, saya kehilangan sekitar setengah dari total data yang saya miliki. Di sisi lain, jika dilihat dari jumlah, sebetulnya ini mungkin bukan data yang tergolong sangat banyak meski terhitung cukup berarti.

Nah, saya ingin berbagi simpulan dan saran dari kesalahan yang saya lakukan ini:

  1. Penggunaan hash untuk pembuatan id tidak cukup menjamin datanya bersifat unik. Sebagai alternatif, silakan cek fungsi uniqid() di PHP atau beberapa teknik pembuatan id yang cukup unik seperti UUID yang lebih terjamin keunikannya.
  2. Operasi select dan insert pada basis data bukanlah hal yang terlalu membahayakan. Yang perlu dikhawatirkan bukanlah adanya data jelek yang masuk, tetapi berhati-hatilah terhadap operasi update dan delete terhadap data yang sudah ada.
  3. Akan sangat baik jika kita bisa memastikan setiap tindakan “berbahaya” yang dilakukan selalu punya opsi untuk meng-undo tindakan tersebut.
  4. Kesalahan manusia adalah salah satu faktor yang tidak dapat dihindari secanggih apapun sistemnya. Oleh karena itu, sebetulnya dengan semakin sedikit akses yang diberikan kepada pengguna akan semakin baik. Ingatlah bahwa keamanan berbanding terbalik dengan kemudahan penggunaan.

Semoga pembaca bisa belajar dari kesalahan yang saya lakukan ini.

 

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s