Shared lock là gì?
- ★
- ★
- ★
- ★
- ★
Khóa chia sẻ (shared lock) còn được gọi là khóa đọc (read lock), chỉ được sử dụng để đọc các mục dữ liệu (data item).
Các khóa chia sẻ (shared lock) hỗ trợ tính toàn vẹn (integrity) của việc đọc. Chúng đảm bảo rằng một bản ghi (record) không được cập nhật trong quá trình yêu cầu chỉ đọc. Khóa chia sẻ (shared lock) cũng có thể được sử dụng để ngăn chặn bất kỳ loại cập nhật bản ghi nào.
Ví dụ: hãy xem xét trường hợp ban đầu A = 100 và có hai giao dịch (transaction) đang đọc A. Nếu một trong giao dịch muốn cập nhật A, trong trường hợp đó, giao dịch khác sẽ đọc sai giá trị. Tuy nhiên, khóa chia sẻ (shared lock) ngăn nó cập nhật cho đến khi đọc xong.
- ★
- ★
- ★
- ★
- ★
Máy chủ cơ sở dữ liệu (database server) sử dụng hai loại khóa (lock) để quản lý quyền truy cập (access) vào buffer: share lock và exclusive lock. Trong shared lock, khi một tiến trình (process) của cơ sở dữ liệu có share lock trên khối dữ liệu (block) thì nó có quyền truy cập vào để đọc dữ liệu nhưng không thể sửa đổi dữ liệu. Khi đọc xong dữ liệu, tiến trình phải giải phóng khóa (lock). Nhiều tiến trình nào cũng có thể có các shared lock trên một khối dữ liệu cùng một lúc.
Learning English Everyday