Transaction và Thuộc Tính ACID là hai trong các những khái niệm quan trọng khi mày mò và thao tác với đại lý dữ liệu. Transaction với thuộc tính ACID có tương quan mật thiết với nhau và trong nội dung bài viết này họ sẽ tìm hiểu rõ nét về từng tư tưởng trải qua đa số ví dụ đối chọi giản.
Bạn đang xem: Acid là gì
Bài Viết: Acid là gì
Điều trước tiên với cũng vô cùng đặc biệt quan trọng khi tìm hiểu về cơ sở dữ liệu đó là các bạn cần nắm vững về định nghĩa database transaction.
Database Transaction Là Gì
Một database transaction là 1 chuỗi kể cả nhiều hành vi khác nhau triển khai trên các đại lý dữ liệu, những hành vi này có mối quan hệ mật thiết lẫn nhau và được coi như như là một trong đơn vị duy nhất.
Ví dụ: doanh nghiệp AAA mở tài khoản tại ngân hàng Vietcomank cùng với số tiền nạp vào các bạn đầu là 500 triệu đồng. Một ngày xinh trời, chị Alice là nhân viên cấp dưới phòng kết toán rút 20 triệu vnd để thưởng cho anh Bob vì chưng thành tích xuất dung nhan trong tháng. Anh Bob cũng mở thông tin tài khoản ở ngân hàng Vietcombank và chị Alice giao dịch chuyển tiền thưởng này vào tài khoản của anh Bob Vietcombank.
Nếu phân tích hành vi chuyển tiền thưởng từ góc nhìn cơ sở tài liệu thì hành vi chuyển tiền được tách bóc biệt thành hai hành động khác nhau:
Trừ 10 triệu đồng từ thông tin tài khoản tiền gửi của chúng ta AAA.Cộng thêm 10 triệu đ vào thông tin tài khoản tiền gửi của anh ấy Bob.
Mặc cho dù được tách thành hai hành động riêng lẻ trên tuy nhiên cả nhì được gộp lại thành một transaction do chúng có mỗi dục tình mật thiết lẫn nhau và họ cần đảm bảo cả hai hành vi này gần như được tiến hành thành công hoặc sẽ không còn có hành vi nào được tiến hành nếu như xẩy ra lỗi trên database khiến cho một trong hai hành động không tiến hành được (ví dụ như ngay lập tức sau khi hành động trước tiên ra mắt thì phòng server bị mất điện).
Đặc điểm của một transaction chính là những hành động trong transaction được coi là một đơn vị chức năng duy nhất với không được phép đột nhiên một hành động nào có thể được thực hiện thành công giả dụ như tất cả một hoặc một vài hành động khác ko được thực hiện. Trong lấy ví dụ như trên giả dụ như hành động trước tiên gặp mặt lỗi mà hành vi thứ hai vẫn reviews thành công thì điều này sẽ dẫn tới bài toán anh Bob được trao thêm 10 triệu nữa khi kế tiếp chị Alice triển khai lại câu hỏi chuyển số tiền 10 triệu mang đến anh ta. Đương nhiên anh Bob sẽ cảm thấy vui vẻ về vấn đề này nhưng chủ bank thì chưa hẳn có xúc cảm như vậy.
Cũng cần chăm chú đó là chưa phải những hành động nào trình làng theo một chuỗi tiếp tục nhau vô cùng được coi là một transaction. Lấy ví dụ sau không phải là một trong transaction:
Bob chuyển 3 triệu từ tài khoản Vietcombank sang download khoản tiết kiệm ngân sách của anh ta tại Sacombank.Bob chuyển 5 triệu từ tài khoản Vietcombank sang tài khoản đầu tư chứng khoán của anh ấy ta sống ACB.Bob rút 2 triệu từ thông tin tài khoản Vietcombank để đi nhậu với liên minh.
Với ví dụ trên thì ngay cả khi thời hạn chúng trình làng gần nhau thì cũng ko được xem như là một transaction bởi vì những hành động này hoàn toàn có thể ra mắt bóc tách biệt. Ví dụ hành vi thứ 3 bị lỗi không khiến hành động thứ nhì hoặc trước tiên phải bị huỷ bỏ.
Phần tiếp sau đây họ sẽ mày mò về đặc thù ACID của transaction.
ACID Transaction Là Gì
ACID là tính chất trong các số đó kể cả tập phù hợp của 4 sệt tính khác biệt sử dụng cho 1 database transaction. Tứ đặc tính này gồm: atomicity (nguyên tử), consistency (nhất quán), isolation (độc lập), và durability (bễn vững). Từ ACID là từ bỏ viết tắt được ghép vì những chữ cái trước tiên của 4 từ bỏ trên.
Đặc Tính Nguyên Tử (Atomicity)
Đặc tính nguyên tử (atomicity hay có cách gọi khác ngắn hơn là atomic) giải pháp rằng tất những hành động của một transaction rất cần được được tiến hành thành công hoặc trái lại nếu gồm một hành vi không được tiến hành thì sẽ không có ngẫu nhiên hành vi nào khác được thực hiện thành công.

Gọi là công dụng nguyên tử chính vì từng hành vi riêng rẽ này giống như những electron con quay xung quyanh một hạt nhân với khi hạt nhân dịch chuyển thì tất cả những electron này sẽ dịch rời với nhau nhưng mà không được phép một electron nào ra khỏi vòng quỹ đạo.
Đặc Tính tốt nhất Quán
Đặc tính đồng điệu (consitency hay ngắn lại hơn nữa là consistent) lao lý tại ngẫu nhiên thời hạn nào, trước hoặc sau đó 1 transaction được thực hiện dù lỗi hay là không lỗi, thì database vẫn cần được giữ ở trạng thái vừa lòng lệ (ví dụ tài liệu phải tương xứng với những vẻ ngoài được định nghĩa cho database).
Ở ví dụ chuyển tiền thưởng như nói ở đầu bài viết thì ví như như hành động chuyển tiền trước tiên của transaction chạm chán phải lỗi thì hành động thứ hai đã cần rất cần phải được huỷ (hay rollback lại).
Đặc Tính Độc Lập
Đặc tính độc lập (isolation hoặc isolate) nguyên lý từng transaction không giống nhau cần bắt buộc được tiến hành trong một môi trường xung quanh độc lập, nếu có 2 transaction trình làng tại cùng 1 thời hạn thì nên cần một cơ chế đảm bảo transaction này không liên quan tới transaction khác.
Ví dụ nếu như trong trường hợp gồm một người tiêu dùng chuyển 10 triệu đ vào tài khoản của công ty AAA trên Vietcombank tức thì tại thời hạn chị Alice tiến hành việc rút 10 triệu đồng. Điều gì đang ra mắt? từ bây giờ database sẽ phải triển khai hai hành động ở đầu cuối một thời hạn:
Thực hiện update số tiền trong tài khoản của người tiêu dùng ACB bởi phương thức trừ đi 10 triệu từ bỏ số dư bây giờ (= 500 triệu = 10 triệu)Thực hiện tại update số tiền trong tài khoản của bạn ACB bởi phương thức cộng thêm 10 triệu từ số dư bây giờ (= 500 triệu + 10 triệu)
Tài khoản của doanh nghiệp AAA ngân hàng Vietcombank sau hai hành vi này ở đầu cuối sẽ là bao nhiêu 500 triệu (= 500 triệu – 10 triệu + 10 triệu) hay 510 triệu (500 triệu + 10 triệu) tốt sẽ chỉ từ 490 triệu (500 triệu – 10 triệu)?
Với đặc tính chủ quyền của transaction được giới thiệu để đảm bảo an toàn khi transaction ra mắt thì dữ liệu liên quan trên database sẽ ảnh hưởng khoá lại. Do đó những hành vi khác (hay transaction khác) hay là sẽ cần đợi cho tới khi transaction tiên phong được hoàn tất hoặc là sẽ bị báo chạm mặt phải lỗi.
Đặc Tính Bền Vững
Đặc tính bền chắc (consistency tuyệt consistent) hình thức rằng khi transaction được ra mắt (thành công hoặc rollback lại khi gồm lỗi) thì kế tiếp dù gồm ngẫu nhiên sự chũm nào ra mắt với database (mất điện, server tràn bộ nhớ…) thì lúc được phục sinh lại thì tài liệu được phục sinh sẽ giữ nguyên trạng thái trước lúc có sự cố (đảm bảo không tồn tại ngẫu nhiên transaction trước đó không trở nên mất).
Ví dụ như sau thời điểm transaction chuyển tiền thưởng ở ví dụ trước tiên được giới thiệu thành công và 3h tiếp đến phòng hệ thống bị mất năng lượng điện thì khi khôi phục lại tài liệu cho database (sử dụng tài liệu được auto sao giữ trước đó 1 phút) thì transaction này (cũng như tất cả những transaction ra mắt trước thời hạn server triển khai việc tự động sao lưu) cần được được khôi phục lại và biểu thị ở cơ sở dữ liệu sau khi khôi phục.
Xem thêm: Thang Máy Tiếng Anh Là Gì - Thang Máy Trong Tiếng Anh Là Gì
Kết Luận
Hai tư tưởng transaction với ACID trong cơ sở dữ liệu thường được đề cập khá thường xuyên trong những buổi phỏng vấn và tuy nhiên không đề nghị là quá cạnh tranh để hoàn toàn có thể tiếp, mặc dù vậy vẫn còn đấy rất đa số chúng ta khá tơ mơ về chúng. Mong muốn khi phát âm xong bài viết này bạn đã có rất nhiều cái nhìn tổng quát về hai có mang này cũng như mối tương tác giữa chúng. Trong những nội dung bài viết theo chúng ta sẽ tìm hiểu những tạo ra một transaction trong MySQL database.
Thể Loại: chia sẻ Kiến Thức cùng Đồng
Bài Viết: Acid Là Gì – khám phá Các Phiên bản Của Acid
Thể Loại: LÀ GÌ
Nguồn Blog là gì: https://movingthenationforward.com Acid Là Gì – khám phá Các Phiên bạn dạng Của Acid