Transaction là gì?

Transaction là một trong những chủ đề được đề cùa đến rất nhiều trong số áp dụng công ty lớn, để bảo đảm tính toàn diện của tài liệu trong cả trong số khối hệ thống Khủng tạo nên một phệ các thay đổi lên database và đồng thời. Transaction là một tập đúng theo các vận động đọc/ghi xuống database hay những bọn chúng những triển khai thành công hết hoặc không có vận động như thế nào được thực hiện xuống database.

Bạn đang xem: Khái niệm transaction trong database

*

Từ hình trên có thể thấy transaction đầu tiên thành công Lúc tất cả những hoạt động đọc/ghi phần nhiều thành công, trong lúc transaction thứ 2 bị rollbaông xã bởi hoạt đông thứ hai không thành công.

Vốn dĩ một transaction được đặc thù vì chưng 4 yếu tố (hay được Call là ACID):

AtomicityConsistencyIsolationDurability

Trong một đại lý dữ liệu, hồ hết câu lệnh Squốc lộ được phải triển khai vào phạm vi của một transaction. Nếu không có quan niệm phạm vi của transaction, database đã ngầm định rằng từng câu SQL sẽ được bao bên phía ngoài một transaction. 

Atomicity

Atomiđô thị vẻ ngoài rằng tất cả những hoạt động vui chơi của transaction Hay là thực thi thành công hết hoặc là không có bất kể hành vi nào được thực Khi có bất kỳ một hoạt động triển khai ko thành công xuất sắc.

Vì vậy một transaction chỉ gồm 2 trạng thái:

Abort: Tất cả những thay đổi của transaction sẽ không được đồng nhất xuống database.Commit: Tất cả những đổi khác của transaction được đồng điệu xuống database.

Ví dụ chúng ta gồm một giai dịch của bank đưa 100 đồng từ bỏ tài khoảng X sang trọng tài khoản Y

Nếu tại bước transaction thực thi thành công xuất sắc trên bước T1 dẫu vậy khi đến bước T2 thì khối hệ thống bị lỗi. Hiện giờ trường hợp rất nhiều biến hóa này được đồng nhất xuống database thì vô tình tài khoản X bị mất 100 đồng mà tài khoản Y lại không sở hữu và nhận được đồng như thế nào. Đây là ví dụ kinh khủng mà Atomithành phố hoàn toàn có thể bảo đảm các khối hệ thống sẽ không xảy ra không đúng xót nhỏng bên trên.

Xem thêm:

Consistency

Consistency nghĩa là tất cả những buộc ràng toàn vẹn dữ liệu(constraints, key, data types, Trigger, Check) yêu cầu được thực hiện thành công mang lại những transaction tạo ra xuống database, nhầm đảm bảo tính chính xác của tài liệu.

Isolation

Isolation đảm bảo những transaction xẩy ra xen kẹt sẽ không có tác dụng tác động mang lại tính đồng bộ của tài liệu. Các thay đổi dữ liệu bên phía trong mỗi transaction sẽ được xa lánh, các transaction khác sẽ không thể nhận thấy cho đến lúc nó được đồng nhất xuống database. 

Cho X = 50, Y = 50.

Giả sử transaction T xúc tiến trước cho đến bước Read(Y) thì transaction T” ban đầu thực hiện, từ bây giờ đã ra mắt chứng trạng 2 transaction chạy xen kẽ nhau. khi T” đọc cực hiếm của X thì dành được cực hiếm tương ứng cùng với vào T là (X * 100 = 500), tuy thế Y là 50 đối với T khi xúc tiến xong thì Y là 0.

Durability

Durability bảo đảm một transaction tiến hành thành công xuất sắc thì toàn bộ đông đảo thay đổi trong transaction đề xuất được đồng điệu xuống database bất cứ cả khi khối hệ thống xẩy ra lỗi hoặc bị mất năng lượng điện. Các transaction thành công nhưng lại chưa được đồng bộ xuống database nên được đồng nhất lại lúc khối hệ thống chuyển động quay trở lại.

Tóm lược

Các trực thuộc tính ACID về cơ bản nó bảo đảm an toàn tính chính xác cùng đồng bộ của tài liệu khi trải qua các transaction khác nhau. Tuy nhiên những trực thuộc tính này có thể sẽ không thể áp dụng cùng với các khối hệ thống phân tán sẽ trở nên tân tiến khôn xiết nkhô cứng trong những năm vừa mới đây, bọn họ vẫn mày mò sinh hoạt những phần sau.

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *