MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как MongoDB се справя с едновременните актуализации?

MongoDB използва заключване на запис в целия процес, за да гарантира, че само една операция на запис (актуализиране/вмъкване/премахване) може да бъде извършена в даден момент. Като такъв той автоматично решава проблемите с паралелността, тъй като паралелността на запис просто не е разрешена.

Ако 4 нишки опитат операция за актуализиране, една от тях ще поеме заключването на запис, ще извърши актуализацията си и ще освободи заключването. След това един от останалите 3 ще грабне ключалката, ще направи актуализацията й и т.н.

Паралелността влиза в игра само ако вашата операция не може да бъде обвита в една операция на запис. Имайте предвид, че за най-често срещания случай на употреба (намерете документ, актуализирайте го и вземете новата версия атомарно) MongoDB предлага командата "findAndModify", която прави точно това:http://www.mongodb.org/display/DOCS/findAndModify+Command

АКТУАЛИЗАЦИЯ:Заключването е по-подробно в наши дни.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Маскиране на PII в MongoDB и други NoSQL DB чрез…

  2. Изброяване на последното съобщение от всеки разговор, включващ потребител, в MongoDB

  3. php mongodb пълнотекстово търсене и сортиране

  4. Неуспешно стартиране на MongoDB - ***прекратяване след грешка на fastert().

  5. MongoDB извлича стойности от BasicDBObject (Java)