MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak MongoDB radzi sobie z równoległymi aktualizacjami?

MongoDB używa blokady zapisu obejmującej cały proces, aby zagwarantować, że w danym momencie może być wykonana tylko jedna operacja zapisu (aktualizacja/wstawianie/usuwanie). W związku z tym automatycznie rozwiązuje problemy ze współbieżnością, ponieważ współbieżność zapisu po prostu nie jest dozwolona.

Jeśli 4 wątki podejmą próbę aktualizacji, jeden z nich przyjmie blokadę zapisu, przeprowadź aktualizację i zwolnij blokadę. Następnie jeden z pozostałych 3 złapie blokadę, wykona jego aktualizację itp.

Współbieżność wchodzi w grę tylko wtedy, gdy operacja nie może być opakowana w jedną operację zapisu. Zauważ, że dla najczęstszego przypadku użycia (znajdź dokument, zaktualizuj go i pobierz nową wersję atomowo) MongoDB oferuje polecenie "findAndModify", które właśnie to robi:http://www.mongodb.org/display/DOCS/findAndModify+Command

AKTUALIZACJA:obecnie blokowanie jest bardziej szczegółowe.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wyświetlanie ostatniej wiadomości z każdej rozmowy z udziałem użytkownika w MongoDB

  2. Bitwa o bazy danych NoSQL — porównanie MongoDB i Oracle NoSQL

  3. Jak zastosować ograniczenia w MongoDB?

  4. $arrayElemAt . MongoDB

  5. MongoDB $setUnion