THUỘC TÍNH ACID TRONG CƠ SỞ DỮ LIỆU

ACID là viết tắt của bốn từ Atomicity, Consistency, Isolation và Durability, đó là bốn thuộc tính quan trọng cần đảm bảo khi thực hiện bất kỳ thao tác giao dịch nào với cơ sở dữ liệu.

1. Atomicity

Atomicity có thể hiểu là tính nguyên tử. Điều này có nghĩa là mọi thay đổi về dữ liệu phải đảm bảo trọn vẹn, nếu các tiến trình thực hiện thành công hoặc là sẽ không có bất kỳ sự thay đổi nào về dữ liệu nếu có sự cố tiến trình xảy ra.

Atomicity
Atomicity

Khi chuỗi các tiến trình thao tác với cơ sở dữ liệu, nếu có lỗi xảy ra thì tất cả các tiến trình này phải bị hủy bỏ, data trong cơ sở dữ liệu vẫn giữ nguyên không có gì thay đổi. Trường hợp không có bất kỳ lỗi nào xảy ra bất thường trong quá trình xử lý tiến trình, thì dữ liệu sẽ được cập nhật mới lại theo ý muốn của người dùng.

Gọi là thuộc tính nguyên tử bởi vì mỗi thao tác riêng lẻ cũng được coi giống như các electron chuyển động quanh hạt nhân và hạt nhân ấy di chuyển thì các electron này cũng di chuyển theo. Sẽ không có bất cứ hạt electron nào đi lệch khỏi quỹ đạo ban đầu.

2. Consistency

Thuộc tính Consistency yêu cầu tính nhất quán dữ liệu cho database. Khi có một Transaction được hoàn thành, tất cả dữ liệu phải được bảo toàn các mối liên kết dù cho tiến trình thao tác thành công hay thất bại.

Consistency
Consistency

Data trong cơ sở dữ liệu phải luôn được đặt trong trạng thái hợp lệ ở bất kỳ thời điểm nào, trước và sau khi thực hiện mỗi hành động Transaction. Điều này có nghĩa là nếu hành động đầu tiên của tiến trình gặp lỗi thì hoặc là rollback lại, hoặc là tiến trình tiếp theo sẽ không được thực hiện.

3. Isolation

Isolation là thuộc tính nói về tính độc lập của các Transaction khi thực thi đồng thời trên hệ thống. Nếu cùng một lúc, có nhiều tiến trình cùng diễn ra thì cần một cơ chế đưa ra để bảo đảm rằng các tiến trình này có thể hoạt động song song mà không ảnh hưởng đến nhau. 

Ví dụ, trong trường hợp một khách hàng chuyển tiền vào ngân hàng và một nhân viên kế toán rút tiền ra từ ngân hàng cùng diễn ra một lúc. Lúc này, cơ sở dữ liệu sẽ thực hiện đồng thời hai hành động là cộng thêm vào số dư của khách hàng, đồng thời trừ đi số tiền kế toán rút ra. Sẽ có cơ chế để cả hai hành động này được diễn ra thành công song song mà không ảnh hưởng đến việc xử lý database.

4. Durability

Thuộc tính này đưa ra để đảm bảo rằng khi các Transaction diễn ra thành công thì tác dụng nó tạo ra với cơ sở dữ liệu phải bền vững. Dù hệ thống có xảy ra bất kỳ lỗi gì thì dữ liệu luôn được khôi phục lại nguyên trạng.

Ví dụ, đối với các tiến trình giao dịch tiền qua ngân hàng. Khi các Transaction hoàn tất, dữ liệu sẽ được ghi lại dưới dạng đĩa cứng, các giao dịch cũng được ghi chép lại. Nếu có bất kỳ sự cố nào xảy ra đều có thể dễ dàng backup lại data.

Lời kết: Mỗi tiến trình đòi hỏi phải đáp ứng đủ 4 thuộc tính ACID để tham gia các giao dịch, cụ thể là các thuộc tính: Atomicity (nguyên tử), Consistency (nhất quán), Isolation (cô lập), và Durability (lâu bền).

----------------------

PLT SOLUTIONS

Nguồn: tổng hợp Internet