Một giao dịch cơ sở dữ liệu cổ điển đơn giản hóa có thể được xem như:
- đọc các mục M
- thực hiện một số tính toán dựa trên những lần đọc
- viết một số kết quả N dựa trên các tính toán này, có thể bao gồm các yếu tố được đọc ban đầu.
Khi thực hiện các giao dịch này (đồng thời) các thuộc tính ACID cần được duy trì.
Chính xác các yêu cầu tương tự (N cập nhật dựa trên M đọc giao dịch) tồn tại trong các hệ thống đồng thời không phải DBMS khác.
Tôi quan tâm đến việc tìm hiểu các thuật toán tồn tại để thực hiện / giải quyết các giao dịch này và điểm mạnh và điểm yếu tương đối của các thuật toán này là gì. Bạn có thể giới thiệu một số đọc? Đây có thể là sách hoặc tài liệu tham khảo / hướng dẫn trực tuyến.
Làm rõ:
Vì vậy, ví dụ, một thuật toán ngây thơ có thể là mỗi giao dịch thực hiện một khóa toàn cầu duy nhất, có hiệu lực buộc phân luồng đơn và loại bỏ đồng thời. Một thuật toán phức tạp hơn một chút sẽ là các khóa đọc / ghi mục riêng lẻ, với một thứ tự để tránh bế tắc). Vv, vv Có một nguồn tài liệu tốt các thuật toán khác nhau để giải quyết vấn đề này. Ngay cả một câu trả lời chỉ chỉ một thuật toán duy nhất với điểm mạnh và điểm yếu của nó cũng sẽ hữu ích.