Trong khoa học máy tính hay cụ thể hơn là trong bộ môn cơ sở dữ liệu, kiểm soát truy cập đồng thời là một phương pháp dùng để đảm bảo là các giao dịch cơ sở dữ liệu được thực hiện một cách an toàn (tức là không bị mất hay sai lệch dữ liệu). Kiểm soát truy cập đồng thời được đặc biệt chú trọng trong các hệ quản trị cơ sở dữ liệu. Các hệ này phải đảm bảo rằng các giao dịch được thực hiện một cách an toàn và tuân theo các quy tắc ACID như miêu tả bên dưới. Hệ quản trị cơ sở dữ liệu phải có khả năng đảm bảo chỉ cho phép các trình tự thao tác thuộc loại có thể phục hồi được và có thể tuần tự hoá được, và không một thao tác nào của các giao dịch đã thành công bị mất bởi việc tiến hành hủy các giao dịch khác.
Các quy tắc ACID của giao dịch
- Xem thêm bài ACID
ACID là thuật ngữ viết tắt của bốn từ tiếng Anh là Atomic, Consistency, Isolation, và Durability:
- Tính nguyên tử (Atomicity) - Hoặc là toàn bộ hoặc là không thao tác nào được hoàn thành. (Hủy thao tác)
- Tính nhất quán (Consistency) - Tất cả các giao dịch phải chuyển cơ sở dữ liệu về trạng thái nhất quán.
- Tính tách biệt (Isolation) - Các giao dịch không được can thiệp lẫn nhau.
- Tính bền vững (Durability) - Các giao dịch thành công phải tồn tại sau các sự cố kỹ thuật. (Làm lại thao tác)
Cơ chế kiểm soát truy cập đồng thời
Cơ chế kiểm soát truy cập đồng thời có các loại chính sau:
- Loại bi quan - Việc thực thi đồng thời các giao dịch được đồng bộ hóa trước trong chu trình thực hiện của chúng.
- Loại lạc quan - Hoãn việc đồng bộ hóa các giao dịch cho đến khi chúng thực hiện xong.
Có một vài phương pháp để kiểm tra việc truy cập đồng thời, đa số là dùng cách khóa kiểu khóa chặt hai giai đoạn (Strict 2PL locking):
- Khóa chặt hai giai đoạn (Strict 2PL)
- Khóa không chặt hai giai đoạn
- Khóa bảo toàn hai giai đoạn
- Khóa chỉ số
- Khóa nhiều cấp độ
Khóa là đối tượng kế toán (bookkeeping) đi liền với một đối tượng cơ sở dữ liệu.
Ngoài ra cũng có những phương pháp kiểm soát truy cập đồng thời không khóa.