You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Halo Pak Eko, saya seorang mobile developer yang ingin belajar BE developer.
Saya pernah membuat sistem database lokal yang bisa terhubung langsung dengan database API.
Dari pengalaman itu ada yang membuat API dengan id untuk primary key data menggunakan UUID dan ada juga yang menggunakan INTEGER INCREMENT UNIQUE ID.
Jujur saya kalau melihat id dengan INTEGER itu pusing pak hahaha, soalnya dari beberapa field itu ada yang menggunakan angka yang sama, contoh saya get API produk dan dia mempunyai id 1, lalu di dalam data produk itu ada field array lagi yang berisikan unit dengan id yang juga 1. Yang saya ingin tanyakan dengan membuat id seperti itu apakah terlihat bagus untuk proses development? karena menurut saya itu sangat menyusahkan dan sangat tidak enak untuk dilihat.
Terima kasih dan semoga pertanyaan saya mudah untuk dipahami.
The text was updated successfully, but these errors were encountered:
ada beberapa point yang perlu dipahami ketika ingin mendevelop sebuah system. 3 dari sekian banyak yang saya prioritaskan adalah:
system harus benar, data yang di record harus sesuai dengan yang diharapkan oleh system.
keamanan data
kecepatan dari system
nah dari 2 opsi menggunakan id atau auto increment id (int/bigint), kedua point tersebut semuanya bersinggungan dengan 3 point prioritas diatas.
1. system harus benar.
menggunakan id dan uuid semuanya bisa memberikan hasil yang benar dan unique, bedanya ketika menggunakan id itu hanya unique di environment tersebut saja (misal di instance database) jadi ketika ada merge dengan instance lain, otomatis akan ada kemungkinan bentrok dari sisi uniqueness dan juga perlu diketahui jika ada yang melakukan TRUNCATE maka incrementnya akan dimulai dari awal, dan apabila ada ada yang bergantung pada tersebut (melalui constraint foreign key) otomatis data akan salah.
UUID tidak ada masalah uniqueness meskipun cross intances, cross environments atau cross apapun, karena UUID unique across galaxy haha.
dari URL sudah keliatan kalau purchase id menggunakan incremental id, kalau server tidak memiliki pengecekan data ownership kita bisa saja mengetikan /purchase/224 dan mengakses data yang bukan milik kita, dan itu bisa fatal dari sisi security.
uuid tidak memiliki masalah tersebut.
3. kecepatan dari system
kalau incremental ID banyak sekali kekurangannya, lalu kemudian kenapa incremental ID masih dipakai? ada beberapa hal, salah satunya adalah kecepatan, otomatis karena datanya increment pencarian akan lebih cepat.
namun tentu saja harga yang harus dibayar oleh UUID yaitu kecepatan, dan space yang dipakai lebih besar. nah skg udah ada yang namanya time based UUID atau UUID v7 untuk mengakali uuid yang ga bisa di sort.
untuk point bagus di proses development harus mengambil banyak parameter/factor, jadi tidak ada 1 atau 2 jawaban yang bisa menjawab semua kebutuhan dari bagusnya proses development saran saya buatlah prioritas apa yang mau dicapai ketika membuat sebuah system.
dari 3 point yang saya jelaskan diatas, anda bebas memilih menggunakan yang mana sesuai kebutuhan system, namun kalau saya pribadi tidak enak dilihat adalah nomor 189128373 di prioritas list ketika mengembangkan system.
Halo Pak Eko, saya seorang mobile developer yang ingin belajar BE developer.
Saya pernah membuat sistem database lokal yang bisa terhubung langsung dengan database API.
Dari pengalaman itu ada yang membuat API dengan id untuk primary key data menggunakan UUID dan ada juga yang menggunakan INTEGER INCREMENT UNIQUE ID.
Jujur saya kalau melihat id dengan INTEGER itu pusing pak hahaha, soalnya dari beberapa field itu ada yang menggunakan angka yang sama, contoh saya get API produk dan dia mempunyai id 1, lalu di dalam data produk itu ada field array lagi yang berisikan unit dengan id yang juga 1. Yang saya ingin tanyakan dengan membuat id seperti itu apakah terlihat bagus untuk proses development? karena menurut saya itu sangat menyusahkan dan sangat tidak enak untuk dilihat.
Terima kasih dan semoga pertanyaan saya mudah untuk dipahami.
The text was updated successfully, but these errors were encountered: