Kiểm soát truy cập đồng thời

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.

Xem thêm

Tham khảo

  • x
  • t
  • s
Chuyên ngành chính của Tin học
Công nghệ thông tin
Hệ thống thông tin
Khoa học máy tính
Kỹ thuật máy tính
Kỹ nghệ phần mềm
Mạng máy tính
Tin học kinh tế
  • x
  • t
  • s
Giám đốc công nghệ thông tin · Tin học kinh tế · Quản lý công nghệ thông tin
Quản lý
Quản lý mạng
Quản trị hệ thống
Hoạt động vận hành
  • Bảo trì thiết bị
  • Bảo vệ hệ thống
  • Đối phó sự cố
  • Kế hoạch dự phòng
Hoạt động kỹ thuật
  • Hỗ trợ kỹ thuật
  • Kiểm soát truy cập
  • Kiểm tra hệ thống
  • Xác thực người dùng
Hoạt động an toàn
  • An ninh nhân sự
  • An ninh hệ thống
  • Nhận thức an toàn
  • Rủi ro hệ thống
Quản lý hệ thống
  • Bàn dịch vụ
  • Quản lý cấu hình
  • Quản lý công suất
  • Quản lý dịch vụ
  • Quản lý hạ tầng
  • Quản lý khôi phục
  • Quản lý người dùng
  • Quản lý sự cố
  • Quản lý tính liên tục
  • Quản lý tính sẵn sàng
  • Tổ chức công việc
  • Tổ chức hỗ trợ
Kỹ năng lãnh đạo
  • Kỹ năng cộng tác nhóm
  • Kỹ năng đàm phán
  • Kỹ năng giải quyết vấn đề
  • Kỹ năng giao tiếp
  • Kỹ năng gọi thoại
  • Kỹ năng huấn luyện
  • Kỹ năng lắng nghe
  • Kỹ năng phân công ủy thác
  • Kỹ năng phỏng vấn tuyển dụng
  • Kỹ năng quản lý thời gian
  • Kỹ năng tạo động lực
  • Kỹ năng tư duy
  • Kỹ năng thiết kế quy trình
  • Kỹ năng thuyết trình
  • Kỹ năng viết tài liệu kỹ thuật
Ứng dụng
Các lĩnh vực liên quan
Quản trị kinh doanh
  • x
  • t
  • s
Những lĩnh vực chính của khoa học máy tính
Các nền tảng toán học
Lý thuyết phép tính
Độ phức tạp Kolmogorov · Lý thuyết Automat · Lý thuyết tính được · Lý thuyết độ phức tạp tính toán · Lý thuyết điện toán lượng tử
Các cấu trúc dữ liệu
các giải thuật
Phân tích giải thuật · Thiết kế giải thuật · Hình học tính toán · Tối ưu hóa tổ hợp
Các ngôn ngữ lập trình
Các trình biên dịch
Tính song hành,
Song song,
và các hệ thống phân tán
Công nghệ phần mềm
Phân tích yêu cầu · Thiết kế phần mềm · Các phương pháp hình thức · Kiểm thử phần mềm · Quy trình phát triển phần mềm · Các phép đo phần mềm · Đặc tả chương trình · LISP · Mẫu thiết kế · Tối ưu hóa phần mềm
Kiến trúc hệ thống
Kiến trúc máy tính · Tổ chức máy tính · Các hệ điều hành · Các cấu trúc điều khiển · Cấu trúc bộ nhớ lưu trữ · Vi mạch · Thiết kế ASIC · Vi lập trình · Vào/ra dữ liệu · VLSI design · Xử lý tín hiệu số
Viễn thông
Mạng máy tính
Các cơ sở dữ liệu
Các hệ thống thông tin
Hệ quản trị cơ sở dữ liệu · Cơ sở dữ liệu quan hệ · SQL · Các giao dịch · Các chỉ số cơ sở dữ liệu · Khai phá dữ liệu · Biểu diễn và giao diện thông tin · Các hệ thống thông tin · Khôi phục dữ liệu · Lưu trữ thông tin · Lý thuyết thông tin · Mã hóa dữ liệu · Nén dữ liệu · Thu thập thông tin
Trí tuệ nhân tạo
Lập luận tự động · Ngôn ngữ học tính toán · Thị giác máy tính · Tính toán tiến hóa · Các hệ chuyên gia  · Học máy · Xử lý ngôn ngữ tự nhiên · Robot học
Đồ họa máy tính
Trực quan hóa · Hoạt họa máy tính · Xử lý ảnh
Giao diện người-máy tính
Khả năng truy cập máy tính · Giao diện người dùng · Điện toán mang được · Điện toán khắp mọi nơi · Thực tế ảo
Khoa học tính toán
Cuộc sống nhân tạo · Tin sinh học · Khoa học nhận thức · Hóa học tính toán · Khoa học thần kinh tính toán · Vật Lý học tính toán · Các giải thuật số · Toán học kí hiệu
Chú ý: khoa học máy tính còn có thể được chia thành nhiều chủ đề hay nhiều lĩnh vực khác dựa theo Hệ thống xếp loại điện toán ACM.