Hãy nâng cấp lên Microsoft Edge để tận dụng các tính năng mới nhất, bản cập nhật bảo mật và hỗ trợ kỹ thuật. Transaction Processing
Trong bài viết nàyWhen you purchase a book from an online bookstore, you exchange money (in the form of credit) for a book. If your credit is good, a series of related operations ensures that you get the book and the bookstore gets your money. However, if a single operation in the series fails during the exchange, the entire exchange fails. You do not get the book and the bookstore does not get your money. The technology responsible for making the exchange balanced and predictable is called transaction processing. Transactions ensure that data-oriented resources are not permanently updated unless all operations within the transactional unit complete successfully. By combining a set of related operations into a unit that either completely succeeds or completely fails, you can simplify error recovery and make your application more reliable. Transaction processing systems consist of computer hardware and software hosting a transaction-oriented application that performs the routine transactions necessary to conduct business. Examples include systems that manage sales order entry, airline reservations, payroll, employee records, manufacturing, and shipping. This section provides both general information on transaction processing, and specific information on how to write transactional applications and resource managers using the Microsoft .NET Framework. “Em có biết gì về Transaction không?”. Chắc hẳn các bạn đã từng gặp câu hỏi này khi phỏng vấn xin việc. Thật đáng tiếc nếu phải tự mình thốt ra “Em không biết ạ!” hoặc “Em có nghe qua rồi nhưng….” Hãy cùng FUNiX tìm hiểu về Transaction trong java để tự tin trong công việc 1. Công DụngTrước tiên hãy đi vào ví dụ “huyền thoại” đã từng xuất hiện trong nhiều bài viết:
Đó là hậu quả rất thực tế của việc không áp dụng Transaction. Nếu áp dụng, Transaction sẽ có 2 hành động (operations):
Nếu một trong 2 hành động trên bị lỗi thì Transaction sẽ tự động hủy và tài khoản của bạn sẽ không bị thay đổi, quá an toàn đúng không. Chính vì ràng buộc trên nên Transaction đã được ứng dụng nhiều trong các hành động yêu cầu độ tin cậy, đảm bảo được tính chính xác dữ liệu…
2. Các loại TransactionTransaction được chia làm 2 loại chính:
3. ACID TransactionĐây là viết tắt các tính chất trong Transaction. Ta sẽ đi vào từng chữ cái ACID.
Tạm thời các bạn cứ quan sát trong mô hình sau:
Như vậy, để tránh các hiện tượng trên để dẫn đến việc bị “sếp chửi” thì cần phải khóa dữ liệu, không cho những tiến trình khác đụng vào dữ liệu khi Transaction đang làm việc. Có 3 loại khóa khác nhau: |