Hướng dẫn transaction trong mysql - giao dịch trong mysql Đầy đủ

Hướng dẫn transaction trong mysql - giao dịch trong mysql Đầy đủ

Kinh Nghiệm Hướng dẫn Hướng dẫn transaction trong mysql – thanh toán giao dịch thanh toán trong mysql Chi Tiết


Bạn đang tìm kiếm từ khóa Hướng dẫn transaction trong mysql – thanh toán giao dịch thanh toán trong mysql được Cập Nhật vào lúc : 2022-10-26 09:20:09 . Với phương châm chia sẻ Bí kíp về trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi Read Post vẫn ko hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Ad lý giải và hướng dẫn lại nha.


Đối với những người dân học Công nghệ thông tin, chắc chắn là khái niêm Transaction không hề gì xa lạ, nhưng riêng với những người dân mới làm quen với nghành này hẳn nhiều bạn vẫn còn đấy lạ lẫm với những khái niệm liên quan đến Transaction. Cũng là một người mới, tôi xin phép chia sẻ những gì tìm hiểu được để những bạn hoàn toàn có thể tìm hiểu thêm.


Nội dung chính Show


  • 1. Transaction là gì?

  • 2. Kiểu của transaction

  • 2.1. Flat Transaction – Transaction ngang hàng:

  • 2.2. Nested Transaction – Transaction lồng nhau

  • 3. Các thuộc tính của Transaction

  • 3.1. Atomicity – tính cty:

  • 3.2. Consistency – nhất quán:

  • 3.3 Isolation – độc lập:

  • 3.4 Durability – bền vững:

  • 4. Rủi ro khi thực thi transaction

  • 4.1. Việc thực thi operation bị hỏng:

  • 4. 2. Vấn đề về phần cứng và mạng:

  • 4.3. Các yếu tố với tài liệu dùng chung:

  • 5. Lệnh COMMIT và Lệnh ROLLBACK:

  • 5.1. Lệnh COMMIT:

  • 5.2. Lệnh ROLLBACK :

  • Tài liệu tìm hiểu thêm:

1. Transaction là gì?


Có thể hiểu Transaction là một tiến trình xử lý có xác lập điểm đầu và điểm cuối, được chia nhỏ thành những operation (phép thực thi) , tiến trình được thực thi một cách tuần tự và độc lập những operation đó theo nguyên tắc hoặc toàn bộ đều thành công xuất sắc hoặc một operation thất bại thì toàn bộ tiến trình thất bại. Nếu việc thực thi một operation nào đó bị fail đồng nghĩa tương quan với việc tài liệu phải rollback về trạng thái ban đầu.


Có thể lấy ví dụ về 1 Transaction đơn thuần và giản dị nhất là tiến trình setup ứng dụng hoặc gỡ bỏ ứng dụng. Việc setup được phân thành tiến trình, thực thi tuần tự từ trên đầu đến cuối, nếu toàn bộ tiến trình thực thi thành công xuất sắc đồng nghĩa tương quan với việc tiến trình setup hoặc gỡ bỏ ứng dụng thành công xuất sắc và ngược lại, một phép thất bại thì tiến trình phải rollback lại tức sẽ không còn còn bất kỳ thay đổi nào trên máy tính.


2. Kiểu của transaction


Các kiểu transaction rất khác nhau được phân biệt bằng việc chia những operation ra làm sao. Có hai quy mô transaction như sau:


2.1. Flat Transaction – Transaction ngang hàng:


Việc chia những operation là ngang hàng nhau. Thực thi những operation là tuần tự từ trái sang phải hoặc từ trên xuống dưới.


2.2. Nested Transaction – Transaction lồng nhau


Việc thực thi những operation dựa theo nguyên tắc từ trong ra ngoài. Như vậy khi nhìn vào hình vẽ toàn bộ chúng ta thấy những operation ở dạng này còn có vẻ như tùy từng nhau nhưng khi thực thi thì là độc lập theo nguyên tắc operation trong thực thi xong thì mới đến operation ngoài.


3. Các thuộc tính của Transaction


Mô hình ACID được gắn chặt với cơ sở tài liệu quan hệ (Relation DB). Tuy nhiên, xét về transaction nói chung, toàn bộ chúng ta cũng hoàn toàn có thể vận dụng những thuộc tính này vào.


3.1. Atomicity – tính cty:


Một transaction xác lập ranh giới của nó rất rõ ràng ràng, tức xác lập điểm khởi đầu và kết thúc của tiến trình. Như vậy hoàn toàn có thể coi nó như một cty thực thi và cty thực thi này thực thi theo nguyên tắc “all or nothing”. Nghĩa là nếu một thành phần nào đó trong transaction thực thi hỏng (fail) thì đồng nghĩa tương quan với việc không còn gì xẩy ra tức không còn gì thay đổi về mặt tài liệu.


3.2. Consistency – nhất quán:


Dữ liệu nhất quán với transaction ở thời gian khởi đầu và kết thúc. Nhất quán ở transaction là strong consistency. Để tìm hiểu kỹ hơn về tính chất nhất quán, xin đọc lại nội dung bài viết NoSQL.


3.3 Isolation – độc lập:


Nếu hai transaction thực thi cùng lúc thì nguyên tắc thực thi là thực thi độc lập. Nghĩa là một transaction không thể “nhìn thấy” một transaction khác. “Không nhìn thấy” ở đấy là không tác động lẫn nhau, hầu hết trên tài liệu.


3.4 Durability – bền vững:


Dữ liệu của transaction sau khi thực thi xong được cố định và thắt chặt, chính thức và bền vững. Nghĩa là những thay đổi đã được cố định và thắt chặt, không còn chuyện hoàn toàn có thể chuyển lại trạng thái tài liệu lúc trước lúc thực thi transaction.


4. Rủi ro khi thực thi transaction


Có ba loại rủi ro không mong muốn chính khiến việc thực thi một transaction hoàn toàn có thể bị fail.


4.1. Việc thực thi operation bị hỏng:


rõ ràng việc này sẽ dẫn tới transaction bị hỏng. Điều này đã được quy định rõ trong định nghĩa về transaction.


4. 2. Vấn đề về phần cứng và mạng:


việc phần cứng hoặc mạng có yếu tố trong lúc đang thực thi transaction sẽ dẫn đến tiến trình xử lý thất bại.


4.3. Các yếu tố với tài liệu dùng chung:


Đây là yếu tố khó nhất. Rõ ràng data là một tài nguyên dùng chung, do này sẽ có được những rủi ro không mong muốn tiềm ẩn tiềm ẩn mà transaction gặp phải khi xử lý tài liệu dùng chung này. Ta sẽ xem xét kỹ hơn dưới đây. Như toàn bộ chúng ta đã biết, ứng dụng viết ra là để xử lý tài liệu, 2 operations (phép) cơ bản của ứng dụng với tài liệu là đọc và ghi (read và write) trong số đó phép write lại được chia nhỏ thành 3 operations nhỏ hơn là insert (thêm mới), update (sửa), delete (xóa). Dữ liệu là một tài nguyên dùng chung, nếu như có nhiều tiến trình xử lý đồng thời thực thi những phép trên tài liệu sẽ xẩy ra những rủi ro không mong muốn: write-write, write-read,… việc tài liệu ghi cùng lúc dẫn tới hỏng tài liệu hoặc tài liệu đọc ra không giống hệt với tài liệu mới ghi vào,… sẽ đề cập kỹ hơn trong phần tiếp theo dưới đây.


5. Lệnh COMMIT và Lệnh ROLLBACK:


Trong MySQL, Transaction là một nhóm câu lệnh SQL, xử lý có tuần tự những thao tác trên cơ sở tài liệu nhưng được xem như thể một cty duy nhất. Vì vậy, một transaction sẽ không còn sẽ là thành công xuất sắc nếu như trong quy trình xử lý có một thao tác trong nó không được hoàn thành xong. Trường hợp này, transaction sẽ là thất bại . Trong MySQL, transaction khởi đầu với câu lệnh BEGIN WORK và kết thúc với một trong hai câu lệnh COMMIT hoặc ROLLBACK. Các câu lệnh SQL đặt giữa [BEGIN WORK … COMMIT/ROLLBACK] là phần chính của một transaction.


5.1. Lệnh COMMIT:


Khi một transaction hoàn hảo nhất được hoàn thành xong thì lệnh COMMIT phải được đưa ra để mọi sự thay đổi đều được tác động đến toàn bộ những table liêu quan.


5.2. Lệnh ROLLBACK :


Nếu bị lỗi, thì lệnh ROLLBACK nên được đưa ra để lấy toàn bộ những table liên quan với transaction về lại trạng thái trước đó. Ta hoàn toàn có thể điều khiển và tinh chỉnh hành vi của một transaction bằng phương pháp thiết lập một biến phiên, được gọi là Autocommit. Nếu Autocommit được thiết lập bằng 1, SET AUTOCOMMIT = 1 (default), thì mỗi lệnh SQL (trong hoặc ngoài transaction) được xem như một transaction hoàn hảo nhất, điều này được duy trì cho tới lúc nó kết thúc. Khi Autocommit được thiết lập bằng 0, SET AUTOCOMMIT = 0, thì một tập, có thứ tự, của những câu lệnh sẽ đóng vai trò như thể một transaction và không còn một hoạt động và sinh hoạt giải trí nào là được xuất phát cho tới có một lệnh Commit khác được đưa ra. Ta hoàn toàn có thể sử dụng những câu lệnh này trong PHP bằng phương pháp sử dụng hàm mysql_query().


Tài liệu tìm hiểu thêm:


http://en.wikipedia.org/wiki/Transaction_processing http://en.wikipedia.org/wiki/Database_transaction http://en.wikipedia.org/wiki/Atomic_transaction http://kienthucweb.net/tim-hieu-ve-transaction-trong-mysql.html


Tải thêm tài liệu liên quan đến nội dung bài viết Hướng dẫn transaction trong mysql – thanh toán giao dịch thanh toán trong mysql


programming

mysql

ROLLBACK MySQL

Transaction database

Transaction trong nodejs

Transaction trong PostgreSQL

ROLLBACK SQL


Hướng dẫn transaction trong mysql - giao dịch trong mysqlReply
Hướng dẫn transaction trong mysql - giao dịch trong mysql1
Hướng dẫn transaction trong mysql - giao dịch trong mysql0
Hướng dẫn transaction trong mysql - giao dịch trong mysql Chia sẻ


Chia Sẻ Link Down Hướng dẫn transaction trong mysql – thanh toán giao dịch thanh toán trong mysql miễn phí


Bạn vừa tìm hiểu thêm Post Với Một số hướng dẫn một cách rõ ràng hơn về Video Hướng dẫn transaction trong mysql – thanh toán giao dịch thanh toán trong mysql tiên tiến và phát triển nhất Chia Sẻ Link Cập nhật Hướng dẫn transaction trong mysql – thanh toán giao dịch thanh toán trong mysql miễn phí.



Thảo Luận vướng mắc về Hướng dẫn transaction trong mysql – thanh toán giao dịch thanh toán trong mysql


Nếu sau khi đọc nội dung bài viết Hướng dẫn transaction trong mysql – thanh toán giao dịch thanh toán trong mysql vẫn chưa hiểu thì hoàn toàn có thể lại phản hồi ở cuối bài để Mình lý giải và hướng dẫn lại nha

#Hướng #dẫn #transaction #trong #mysql #giao #dịch #trong #mysql

Related posts:

Post a Comment

Previous Post Next Post

Discuss

×Close