Sự không đồng bộ là gì và tại sao nó xảy ra?
Không đồng bộ là hiện tượng có độ trễ về thời gian giữa hai hành động hoặc quy trình. Điều này có thể xảy ra vì nhiều lý do, chẳng hạn như độ phức tạp của tương tác giữa các thiết bị và thành phần phần mềm, thời gian tính toán dài, độ trễ mạng hoặc độ trễ thời gian do lỗi của con người. Không đồng bộ là tình huống trong đó một số thao tác chặn những thao tác khác đang chờ chúng hoàn thành theo thứ tự thực thi. Ví dụ: điều này thường xảy ra bên trong DBMS quan hệ khi thực hiện DML (Ngôn ngữ thao tác dữ liệu) - các hoạt động sửa đổi dữ liệu (CẬP NHẬT, XÓA, CHÈN). Chúng được coi là "chặn", tức là. tạm dừng các hoạt động truy cập khác vào cơ sở dữ liệu cho đến khi công việc của chúng hoàn thành.
> Xem xét hậu quả của việc không đồng bộ - khi cố gắng thực hiện hai truy vấn độc lập mạnh mẽ trên cùng một bảng trong cùng một ứng dụng: 1. Truy vấn đầu tiên cập nhật một hàng trong bảng có ba trường. 2. Truy vấn thứ hai so sánh tên thành phố và số tiền trong thao tác bảng CẬP NHẬT. 3. Kết quả là chúng ta gặp phải một sự cố, tùy thuộc vào mức độ chuẩn bị mã, kiến trúc của nó và mức độ hiểu biết của nhà phát triển chịu trách nhiệm về mã này. Các chương trình tương tự có thể hoạt động bình thường trên một máy tính nhưng từ chối hoạt động trên máy tính khác. Các lý do thất bại rất đa dạng: từ việc vượt quá giới hạn chi phí cho đến việc hết RAM. Ví dụ: trong trường hợp này, nếu bạn lấy một chương trình được viết bằng ngôn ngữ C thuần túy (không có khung SQL), sửa đổi nó cho truy vấn Access và chuyển chương trình sang một máy tính khác chạy Windows XP, thì bạn sẽ nhận được