Tingkat isolasi

Transaksi dan Penanganan Error di PostgreSQL

Jason Myers

Instructor

Konkruensi

  • Mengelola koordinasi beberapa operasi secara bersamaan.
  • Memiliki serangkaian masalah khas di database.
  • Menggunakan aturan bernama tingkat isolasi untuk memudahkan menalar hasil.
Transaksi dan Penanganan Error di PostgreSQL

Dirty Read

Dirty Read

Transaksi dan Penanganan Error di PostgreSQL

Nonrepeatable Read

Nonrepeatable Read

Transaksi dan Penanganan Error di PostgreSQL

Phantom Read

Phantom Read

Transaksi dan Penanganan Error di PostgreSQL

Anomali Serialisasi

Anomali Serialisasi

Transaksi dan Penanganan Error di PostgreSQL

Tingkat isolasi

Tingkat Isolasi Dirty Read Nonrepeatable Read Phantom Read Anomali Serialisasi
Read Uncommitted Dilindungi (PostgreSQL) rentan rentan rentan
Read Committed Dilindungi rentan rentan rentan
Repeatable Read Dilindungi Dilindungi Dilindungi (PostgreSQL) rentan
Serializable Dilindungi Dilindungi Dilindungi Dilindungi
Transaksi dan Penanganan Error di PostgreSQL

Dampak tingkat isolasi

START TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; 
SELECT COUNT(*) FROM cookies WHERE name = 'lemon drop';

-- Cookie 6 has been added in an external transaction.

SELECT COUNT(*) FROM cookies WHERE name = 'lemon drop';
COMMIT;

Hasil pernyataan

  • Hasil SELECT pertama: 5
  • Hasil SELECT kedua: 6
Transaksi dan Penanganan Error di PostgreSQL

Dampak tingkat isolasi

START TRANSACTION ISOLATION LEVEL SERIALIZABLE; 
SELECT COUNT(*) FROM cookies WHERE name = 'lemon drop';

-- Cookie 6 has been added in an external transaction.

SELECT COUNT(*) FROM cookies WHERE name = 'lemon drop';
COMMIT;

Hasil pernyataan

  • Hasil SELECT pertama: 5
  • Hasil SELECT kedua: 5
Transaksi dan Penanganan Error di PostgreSQL

Ayo berlatih!

Transaksi dan Penanganan Error di PostgreSQL

Preparing Video For Download...