Properti Isolasi dalam Database

Isolasi mengontrol bagaimana dan kapan perubahan dibuat dalam basis data

Isolasi adalah bagian integral dari properti transaksional database. Ini adalah properti ketiga ACID (Atomicity, Consistency, Isolation, Durability) dan properti ini memastikan bahwa data konsisten dan akurat.

Isolasi adalah properti tingkat basis data yang mengontrol bagaimana dan kapan perubahan dibuat dan apakah perubahan terlihat satu sama lain. Salah satu tujuan isolasi adalah untuk memungkinkan beberapa transaksi terjadi pada saat yang bersamaan tanpa mempengaruhi pelaksanaan masing-masing.

Bagaimana Cara Kerja Isolasi

Misalnya, jika Joe mengeluarkan transaksi terhadap database pada saat yang sama ketika Mary mengeluarkan transaksi yang berbeda, kedua transaksi tersebut harus beroperasi pada basis data secara terpisah. Database harus melakukan seluruh transaksi Joe sebelum mengeksekusi Mary atau sebaliknya. Hal ini mencegah transaksi Joe dari membaca data menengah yang dihasilkan sebagai efek samping dari sebagian transaksi Mary yang pada akhirnya tidak akan dilakukan ke basis data. Perhatikan bahwa properti isolasi tidak memastikan transaksi mana yang akan dieksekusi terlebih dahulu, hanya saja mereka tidak akan saling mengganggu.

Tingkat Isolasi

Ada empat tingkat isolasi:

  1. Serializable adalah level tertinggi, yang berarti bahwa transaksi akan selesai sebelum transaksi lain dapat dimulai.
  2. Pembacaan berulang memungkinkan transaksi untuk diakses setelah transaksi dimulai, meskipun belum selesai.
  3. Baca komitmen memungkinkan data yang akan diakses setelah data telah berkomitmen ke database, tetapi tidak sebelum itu.
  4. Baca tidak terikat adalah tingkat isolasi terendah dan memungkinkan data untuk diakses sebelum perubahan telah dibuat.