Bạn giải thích thế nào về isolation level trong ACID? Khi nào nên dùng READ COMMITTED vs SERIALIZABLE?
Bạn giải thích thế nào về isolation level trong ACID? Khi nào nên dùng READ COMMITTED vs SERIALIZABLE?
Isolation levels trong ACID xác định mức độ cách ly giữa các giao dịch để đảm bảo tính toàn vẹn dữ liệu. Có bốn mức: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE. Mỗi mức có các đặc điểm khác biệt về cách mà dữ liệu bị khóa hoặc không bị khóa trong quá trình thực hiện giao dịch, từ đó quyết định khả năng đọc các dữ liệu chưa được cam kết, mức độ phantom reads và các vấn đề khác.
READ COMMITTED: Đây là mức cách ly tiêu chuẩn và thông dụng với nhiều hệ thống cơ sở dữ liệu bởi hiệu năng tốt hơn so với SERIALIZABLE. Dao dịch đọc chỉ thấy dữ liệu đã được cam kết, ngăn ngừa các dirty reads nhưng vẫn cho phép non-repeatable reads và phantom reads xảy ra. Nên sử dụng READ COMMITTED khi ưu tiên hiệu năng hơn độ chín...
middle