Database Transaction
Định nghĩa
Database transaction là nhóm read/write operations được xử lý như một đơn vị all-or-nothing: hoặc commit toàn bộ, hoặc rollback toàn bộ.
Cách hiểu bằng lời của tôi
Transaction là cách database ngăn hệ thống rơi vào trạng thái nửa chừng. Chuyển tiền, đặt hàng, giữ inventory hay ghi booking thường cần nhiều bước; nếu một bước fail thì toàn bộ operation logic phải được xem như chưa xảy ra.
Lifecycle
BEGIN
-> READ / WRITE
-> COMMIT nếu hợp lệ
-> ROLLBACK nếu lỗi hoặc abortCần biết
- Transaction càng dài càng giữ lock/resource lâu và tăng contention.
- Không nên gọi network hoặc chờ user input trong transaction mở.
- Cần truy cập dữ liệu theo thứ tự nhất quán để giảm deadlock.
- Transaction retry cần backoff, timeout và logging rõ.