MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

MongoDB đối phó với các bản cập nhật đồng thời như thế nào?

MongoDB đã sử dụng khóa ghi trên toàn bộ quy trình để đảm bảo rằng chỉ có thể thực hiện một thao tác ghi (cập nhật / chèn / xóa) tại một thời điểm. Như vậy, nó tự động giải quyết các vấn đề về đồng thời vì đơn giản là không được phép ghi đồng thời.

Nếu 4 luồng cố gắng thực hiện một thao tác cập nhật, một trong số chúng sẽ thực hiện khóa ghi, hãy cập nhật và mở khóa. Sau đó, một trong 3 người còn lại sẽ lấy khóa, cập nhật nó, v.v.

Đồng thời chỉ phát huy tác dụng nếu thao tác của bạn không thể được gói gọn trong một thao tác ghi duy nhất. Lưu ý rằng đối với usecase phổ biến nhất (tìm một tài liệu, cập nhật nó và lấy phiên bản mới một cách nguyên tử) MongoDB cung cấp lệnh "findAndModify" thực hiện điều đó:http://www.mongodb.org/display/DOCS/findAndModify+Command

CẬP NHẬT:Ngày nay, khóa chi tiết hơn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Chọn tài liệu trong đó tất cả các giá trị trong một trường mảng tồn tại trong một mảng khác

  2. Mongo cố gắng kết nối tự động với cổng 27017 (localhost)

  3. Tổng quan về Xác thực lược đồ MongoDB

  4. Làm thế nào để bạn truy vấn cho không phải là null trong Mongo?

  5. Chiến lược đăng ký / xuất bản Meteor cho các bộ sưu tập phía máy khách duy nhất