hadihammurabi

hadihammurabi

Kupas: Database Locking

Kupas: Database Locking

Gak semua query jalan barengan, kadang harus nunggu.

Sejauh saya memantau komunitas, pembahasan saat ini sedang hangat terkait kecepatan teknologi ini dan itu, lebih baik ini atau itu, lebih mudah ini atau itu.Ada juga yang memang curhat masalah masing-masing terkait yang sedang dialami, seperti kode yang error, lowongan kerja yang gak masuk akal, dan manajer yang genit.

Yang menjadi masalah adalah sampai saat ini belum jua saya temukan pembahasan terkait database locking ini, mungkin saya yang kurang jauh nongkrongnya.Padahal topik ini cukup penting untuk dipahami, terutama programmer yang tidak bisa lepas dari DBMS atau database lebih singkatnya.

Kalau gitu, langsung kita bahas aja deh.

Apa itu database locking?

Database locking adalah situasi ketika data dikunci sehingga untuk menggunakannya harus menunggu kunci tersebut dilepas. Penguncian data ini dilakukan dengan tujuan untuk memastikan tidak ada data yang tabrakan - dalam istilah kerennya "untuk menjaga integritas data".

Kenapa data perlu dikunci?

Pada situasi tertentu, kita dihadapkan pada proses perubahan dan pengambilan data di waktu yang bersamaan. Jika data berubah saat proses pengambilan, tentu data yang didapatkan adalah data yang berbeda dengan yang diinginkan sebelumnya.

Atau ketika ada proses penambah data, dan pada waktu yang sama kita menghitung jumlah data yang ada. Tentu kita akan mendapat hasil yang tidak sesuai, karena bisa saja kita menghitung data yang belum tersimpan.

Maka dari itu kita perlu mengunci data dahulu sebelum melakukan perubahan data agar data tidak digunakan dahulu.

Kapan locking dilakukan?

Locking dapat terjadi secara otomatis maupun manual sehingga kita bisa juga mengatur kapanpun locking ini terjadi. Jadi suka-suka kita ya.

Jenis-jenis locking

Berikut ini jenis-jenis locking yang umum terdapat pada Database Management System (DBMS).

Shared lock

Locking jenis ini terjadi saat proses baca (read) pada data. Sifatnya yang dapat terjadi beberapa locking secara bersamaan, maka diberi nama shared.

Exclusive lock

Locking jenis ini terjadi saat proses tulis (write) pada data. Karena locking ini hanya dapat dilakukan sekali, maka disebut exclusive.

Penutup

Dengan mengoptimalkan database locking, keuntungan besar yang didapat yaitu data yang terkelola dengan baik dan selalu sesuai harapan kita.

Nahhh... Cukup pentingkan database locking ini? Aneh juga kan kok jarang yang bahas ya? Makanya saya jadi tertarik untuk mulai bahas nih. Semoga bisa selalu update di sini ya!

Terima kasih sudah baca.

Kalau mau diskusi, komen aja. Kalau mau berteman, bilang aja 😎

 
Share this