Transaction Laravel là gì
Show
Trong bất kỳ database nào, sự yếu kém trong việc quản lý các thao tác với dữ liệu thường dẫn tới các vấn đề về xung đột và hiệu năng trong hệ thống có nhiều users, Khi số lượng users thao tác với dữ liệu ngày một tăng, việc quản lý thao tác dữ liệu hiệu sao cho quả là vô cùng quan trọng. SQL sử dụng để đảm bảo tính toàn vẹn dữ liệu cho mỗi transaction và cách ứng dụng quản lý các transaction hiệu quả. Transaction Cơ bản1 transaction là 1 tập các câu lệnh thực thi tới CSDL, các câu lệnh được thực thi 1 cách tuần tự, nếu có bất kỳ lệnh nào bị lỗi, transaction sẽ dừng lại và roll back DB tất cả các câu lệnh đã thực thi, trả lại DB như lúc start transaction. Transaction có 4 tính chất (ACID):
Locking và Row VersioningLocking và Row Versioning là các cơ chế được SQL sử dụng để đảm bảo tính toàn vẹn của các transaction và duy trì tính nhất quán của CSDL khi nhiều người cùng lúc thao tác trên dữ liệu.
Xem thêm Tối ưu mySQL nói riêng, SQL nói chung Các loại LockCó 3 loại Lock chính đó là: Share lock, exclusive lock và update lock
Quản lý truy cập dữ liệu đồng thờiCác tác động có thể gây ra khi truy cập đồng thờiNgười dùng thao tác dữ liệu có thể gây ảnh hưởng tới những người khác đang thao tác đồng thời trên dữ liệu này. Nếu hệ thống không kiểm soát tốt, người dùng có thể gặp 1 số tác động sau:
Các kiểu quản lý truy cập đồng thờiCó 2 loại thiết lập quản lý truy cập đồng thời
Xem thêm Những câu hỏi phỏng vấn sql - 50 câu hỏi Isolation Levels / Mức độ độc lập
Read uncommitted
Read commited
Repeatable read
Serializable
Xem thêm Những câu hỏi phỏng vấn sql - 50 câu hỏi Snapshot
Phạm vi các tác động do truy cập đồng thời đối với mỗi isolation level
Tham khảo: https://viblo.asia/ |