Selama ini kita sering menggunakan Auto-Increment Integer sebagai Primary Key pada tabel database kita. Kemudian biasanya dalam aplikasi web, kita mengakses data dengan alamat URL seperti ini
Pengguna aplikasi kami dapat dengan mudah mengenali URL, di mana 1, atau 2. Sehingga Pengguna dapat mengetahui Pengguna mana yang mendaftar sebelum dan sesudahnya, meskipun hal itu mungkin tidak diperbolehkan. Atau, pengguna menggunakan _3, yang biasanya User ID 4 adalah User Administrator, tentu ini berbahayaAtau bisa saja ada orang iseng, hacker, yang penasaran, lalu membuat program untuk mendapatkan data semua User, hanya dengan perintah sederhana, misalnya _Dengan script sederhana, hacker ini bisa mendapatkan semua data pengguna hanya dalam waktu singkat Ceritanya, kami berhasil membuat aplikasi besar, dan digunakan di satu tempat. Datanya sudah ribuan. Lalu ada permintaan untuk install aplikasi di tempat lain juga, agar nantinya ada 2 server aplikasi, bahkan lebih Data aplikasi di Server #1 sudah menggunakan Primary Key 5 misalkan 6. Aplikasi di Server #2, karena masih baru, tentu saja akan menggunakan Primary Key 5 dari 8 lagi, dan 9 juga. Sampai saat ini tentunya tidak ada masalah, karena 2 aplikasi tersebut berjalan sendiri-sendiriBelakangan ada permintaan untuk menggabungkannya menjadi 1 tempat, dengan alasan pengelolaan yang lebih mudah dan distribusi yang terpusat. Pertanyaannya, lalu bagaimana cara menggabungkannya? . Sedangkan Kunci Utama harus unik Dalam kasus lain, aplikasi yang memiliki jumlah transaksi yang sangat besar, masif, dan cepat, misalnya dalam 1 detik ada 1000 transaksi/memasukkan data baru, fungsi 9 ini tidak akan bekerja dengan baik. Namun jika insert masih dibatasi 1-2 menit saja, hal ini tidak menjadi masalahDari Wikipedia
Sederhananya, UUID adalah kumpulan 32 karakter (String) yang dibuat secara acak (random) dengan teknik khusus yang dijamin unik untuk setiap data. Bahkan dalam 1 detik, jika 1000 UUID dihasilkan, kecil kemungkinan akan ada UUID yang sama. Sehingga lebih cocok digunakan sebagai Primary Key Contoh UUID (tanpa strip)
UUID tersebut tentu saja sulit ditebak oleh pengguna karena tidak memiliki pola tertentu. Jika ada seorang hacker yang ingin menggunakan program looping untuk mendapatkan semua data User, maka ia perlu membuat banyak kombinasi dari 32 karakter tersebut, tentunya tidak mudah dan membutuhkan waktu yang lama. Jika kita mencari Composer Package di library Packagist yang populer digunakan untuk membuat UUID, ini adalah ramsey/uuid/website. RAMSEY/UUID / sumber. GitHub Tambahkan paket ini di composer. json dengan perintah
Kemudian untuk menggunakannya, Anda bisa menggunakan contoh seperti yang ada di dokumentasi library ini
UUID yang dibuat memiliki beberapa jenis versi (versi 1 sampai dengan 5) yang masing-masing memiliki persyaratan tersendiri. Saya biasanya menggunakan versi 4 Karena kita menggunakan string UUID sebagai Primary Key maka tipe data field yang dibuat tidak boleh Integer, melainkan harus Variable Character (VARCHAR), dengan panjang maksimal 32 karakter. Di Laravel, untuk Migrasi dan Pembuat Skema juga harus disesuaikan
Agar dapat menggunakan UUID pada Model ORM Eloquent, terlebih dahulu kita harus menonaktifkan fitur auto increment dengan cara
Kemudian kita dapat menggunakan UUID ini pada saat 4 data seperti biasa
Salah satu efek samping dari penggunaan UUID sebagai Primary Key adalah tidak bisa mengurutkan atau mengurutkan berdasarkan 5, karena datanya berupa String, bukan Integer seperti biasanya. Untuk kebutuhan ini, kita harus dengan cerdik memanipulasi kolom 6 / 7
Apa fungsi dari suatu fungsi dalam PHP?Function (atau Fungsi) dalam bahasa pemrograman adalah kode program yang dirancang untuk menyelesaikan tugas tertentu, dan merupakan bagian dari program utama . Kita dapat membuat fungsi kita sendiri, atau menggunakan fungsi yang dibuat oleh programmer lain.
Apa kepanjangan dari PHP?Awalnya PHP adalah kependekan dari Personal Home Page (Personal site). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada saat itu PHP masih bernama Form Interpreted (FI), yaitu berupa sekumpulan script yang digunakan untuk mengolah data form dari web. |