Simulasi Konkurensi dan Penguncian Data untuk skenario Phantom read : Read stability

Поделиться
HTML-код
  • Опубликовано: 9 фев 2025
  • Aflah Hanif Nadanta
    215150707111020
    Teknologi Informasi
    Kelas Administrasi Basis Data - A
    LK04: Simulasi Konkurensi dan Penguncian Data
    Fenomena Phantom read terjadi ketika dalam transaksi yang sedang berjalan, baris-baris yang sesuai dengan kriteria pencarian (misalnya, dalam operasi SELECT) muncul atau menghilang secara tiba-tiba dalam transaksi yang berbeda yang sedang berjalan secara bersamaan. Fenomena ini bisa terjadi karena transaksi lain mengubah data di dalam basis data yang sedang dibaca oleh transaksi pertama.
    Read stability adalah salah satu tingkat isolasi transaksi yang dirancang untuk mengatasi fenomena Phantom read. Dalam tingkat isolasi ini, ketika sebuah transaksi membaca data dari basis data, transaksi tersebut akan melihat data yang tetap stabil selama berlangsungnya transaksi tersebut. Dengan kata lain, transaksi yang berjalan pada tingkat Read stability tidak akan melihat perubahan data yang terjadi dalam transaksi lain selama transaksi pertama sedang berjalan.
    Langkah-langkah dalam skenario Phantom read : Read stability
    1. Membuka konsole dan mengubah isolation level ke RS
    db2 change isolation to RS
    2. Menghubungkan ke database abd_ti_a dan melihat data awal
    db2 connect to abd_ti_a
    db2 select * from perpindahan_data.departments
    3. Menghubungkan ke database lewat client (cmd pada windows) dan melakukan insert data
    db2 connect to abd_ti_a user db2inst1 using rahasia
    db2 "INSERT INTO perpindahan_data.departments (DEPT_NO, DEPT_NAME) VALUES ('d091', 'IT')"
    db2 "INSERT INTO perpindahan_data.departments (DEPT_NO, DEPT_NAME) VALUES ('d092', 'Warehouse')"
    db2 "INSERT INTO perpindahan_data.departments (DEPT_NO, DEPT_NAME) VALUES ('d093', 'Oprational')"
    db2 "INSERT INTO perpindahan_data.departments (DEPT_NO, DEPT_NAME) VALUES ('d094', 'Network Service')"
    db2 "INSERT INTO perpindahan_data.departments (DEPT_NO, DEPT_NAME) VALUES ('d095', 'Cleaning Service')"
    4. Lihat isi data melalui konsole
    db2 select * from perpindahan_data.departments

Комментарии •