Transaction

Transaction (giao tác) là đơn vị tương tác của hệ quản trị cơ sở dữ liệu (DBMS). Mỗi transaction bao gồm một hay nhiều tác vụ (operation) truy xuất đến cơ sở dữ liệu (các tác vụ này có thể là tác vụ thêm, xóa, sửa hay đơn giản là truy xuất). Mỗi transaction được xử lý nhất quán và tin cậy mà không phụ thuộc vào các transaction khác.

Mỗi transaction bao gồm 4 thuộc tính, được viết tắt là ACID:

  • Atomicity: Một transaction xác định ranh giới của nó rất rõ ràng, tức xác định điểm bắt đầu và kết thúc của tiến trình. Như vậy có thể coi nó như một đơn vị thực thi và đơn vị thực thi này thực hiện theo nguyên tắc “all or nothing”. Nghĩa là nếu một thành phần nào đó trong transaction thực thi lỗi thì đồng nghĩa với việc không có gì xảy ra tức không có gì thay đổi về mặt dữ liệu.
  • Consistency: Dữ liệu nhất quán với transaction ở thời điểm bắt đầu và kết thúc hay bảo đảm rằng CSDL thay đổi một cách chính xác trạng thái theo một transaction đã được commit thành công.
  • Isolation: Các transaction có khả năng hoạt động một cách độc lập và không liên quan đến nhau.
  • Durability: Dữ liệu của transaction sau khi thực thi xong được cố định, chính thức và bền vững. Nghĩa là những thay đổi đã được cố định, không có chuyện có thể chuyển lại trạng thái dữ liệu lúc trước khi thực hiện transaction.