Mức cô lập

Giao dịch và Xử lý Lỗi trong PostgreSQL

Jason Myers

Instructor

Tính đồng thời

  • Xử lý điều phối nhiều thao tác đồng thời.
  • Có bộ vấn đề riêng trong cơ sở dữ liệu.
  • Dùng các quy tắc gọi là mức cô lập để dễ suy luận kết quả.
Giao dịch và Xử lý Lỗi trong PostgreSQL

Đọc bẩn

Đọc bẩn

Giao dịch và Xử lý Lỗi trong PostgreSQL

Đọc không lặp lại

Đọc không lặp lại

Giao dịch và Xử lý Lỗi trong PostgreSQL

Đọc ma

Đọc ma

Giao dịch và Xử lý Lỗi trong PostgreSQL

Dị thường tuần tự hóa

Dị thường tuần tự hóa

Giao dịch và Xử lý Lỗi trong PostgreSQL

Mức cô lập

Mức cô lập Đọc bẩn Đọc không lặp lại Đọc ma Dị thường tuần tự hóa
Read Uncommitted Được bảo vệ (PostgreSQL) dễ tổn thương dễ tổn thương dễ tổn thương
Read Committed Được bảo vệ dễ tổn thương dễ tổn thương dễ tổn thương
Repeatable Read Được bảo vệ Được bảo vệ Được bảo vệ (PostgreSQL) dễ tổn thương
Serializable Được bảo vệ Được bảo vệ Được bảo vệ Được bảo vệ
Giao dịch và Xử lý Lỗi trong PostgreSQL

Tác động của mức cô lập

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;

Kết quả lệnh

  • Kết quả SELECT đầu: 5
  • Kết quả SELECT sau: 6
Giao dịch và Xử lý Lỗi trong PostgreSQL

Tác động của mức cô lập

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;

Kết quả lệnh

  • Kết quả SELECT đầu: 5
  • Kết quả SELECT sau: 5
Giao dịch và Xử lý Lỗi trong PostgreSQL

Ayo berlatih!

Giao dịch và Xử lý Lỗi trong PostgreSQL

Preparing Video For Download...