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

Cam kết hai giai đoạn trong MongoDB

Khi ứng dụng hoặc cơ sở dữ liệu đột ngột gặp sự cố giữa việc áp dụng giao dịch cho A và áp dụng giao dịch cho B, sẽ vẫn có một giao dịch có state:"pending" trong bộ sưu tập giao dịch toàn cầu. Tập lệnh khôi phục mà bạn chạy sau sự cố sẽ nhận thấy điều này, hãy kiểm tra hai tài khoản và thấy rằng có một giao dịch đang chờ xử lý trong một tài khoản, nhưng không phải tài khoản kia. Bây giờ nó biết mọi thứ nó cần biết để khôi phục giao dịch hoặc cố gắng hoàn thành nó.

Vâng, viết một tập lệnh khôi phục thông minh không hề đơn giản. Nhưng các giao dịch trong một hệ thống cơ sở dữ liệu không được thiết kế cho chúng luôn khó khăn. Đôi khi bạn có thể giải quyết việc yêu cầu các giao dịch trong MongoDB bằng cách thiết kế tài liệu của mình theo cách mà các trường cần được cập nhật cùng nhau luôn nằm trong cùng một tài liệu, nhưng không phải lúc nào cũng có cách tốt để thực hiện điều này. Khi trường hợp sử dụng của bạn thực sự cần các giao dịch, hãy bảo vệ sự tỉnh táo của bạn và sử dụng cơ sở dữ liệu quan hệ.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để lưu trữ và cập nhật dữ liệu nhị phân trong Mongodb một cách hiệu quả?

  2. phép chiếu không hoạt động với truy vấn tìm

  3. Cách sử dụng Spring Boot với MongoDB

  4. Lập mô hình các blog và xếp hạng trong mongodb và nodejs

  5. Làm cách nào để tìm kiếm một đối tượng bằng ObjectId của nó trong bảng điều khiển mongo?