Cô lập bất động sản trong một cơ sở dữ liệu

Cách ly kiểm soát cách thức và thời điểm thay đổi được thực hiện trong cơ sở dữ liệu

Cách ly là một phần không thể tách rời của các thuộc tính giao dịch cơ sở dữ liệu. Đây là thuộc tính thứ ba của ACID (Atomicity, Consistency, Isolation, Durability) và các thuộc tính này đảm bảo rằng dữ liệu là nhất quán và chính xác.

Cách ly là thuộc tính mức cơ sở dữ liệu kiểm soát cách thức và thời điểm các thay đổi được thực hiện và nếu chúng trở nên hiển thị với nhau. Một trong những mục tiêu của sự cô lập là cho phép nhiều giao dịch xảy ra cùng một lúc mà không ảnh hưởng đến việc thực hiện của nhau.

Cách thức hoạt động

Ví dụ, nếu Joe phát hành một giao dịch đối với một cơ sở dữ liệu cùng lúc mà Mary phát sinh một giao dịch khác, cả hai giao dịch sẽ hoạt động trên cơ sở dữ liệu theo cách riêng biệt. Cơ sở dữ liệu nên thực hiện toàn bộ giao dịch của Joe trước khi thực hiện Mary hoặc ngược lại. Điều này ngăn cản giao dịch của Joe đọc dữ liệu trung gian được tạo ra như là một tác dụng phụ của một phần giao dịch của Mary mà cuối cùng sẽ không được cam kết với cơ sở dữ liệu. Lưu ý rằng thuộc tính cách ly không đảm bảo giao dịch nào sẽ thực hiện trước, chỉ đơn thuần là chúng sẽ không can thiệp lẫn nhau.

Mức cô lập

Có bốn mức độ cô lập:

  1. Serializable là mức cao nhất, có nghĩa là các giao dịch sẽ được hoàn thành trước khi một giao dịch khác có thể bắt đầu.
  2. Lần đọc lặp lại cho phép giao dịch được truy cập khi giao dịch đã bắt đầu, mặc dù giao dịch chưa được hoàn tất.
  3. Đọc cam kết cho phép dữ liệu được truy cập sau khi dữ liệu đã được cam kết với cơ sở dữ liệu, nhưng không phải trước đó.
  4. Đọc không cam kết là mức cô lập thấp nhất và cho phép dữ liệu được truy cập trước khi các thay đổi được thực hiện.