sql >> Databáze >  >> NoSQL >> MongoDB

Jak se MongoDB vypořádává se souběžnými aktualizacemi?

MongoDB používal zámek zápisu pro celý proces, aby bylo zaručeno, že lze provést pouze jednu operaci zápisu (aktualizovat/vložit/odebrat) najednou. Jako takový automaticky řeší problémy se souběžností, protože souběžný zápis prostě není povolen.

Pokud se 4 vlákna pokusí o aktualizaci, jedno z nich převezme zámek zápisu, provede jeho aktualizaci a uvolní zámek. Poté jeden ze zbývajících 3 uchopí zámek, provede jeho aktualizaci atd.

Souběžnost přichází do hry pouze v případě, že vaši operaci nelze zabalit do jediné operace zápisu. Všimněte si, že pro nejběžnější případ použití (najděte dokument, aktualizujte jej a atomicky stáhněte novou verzi) MongoDB nabízí příkaz „findAndModify“, který dělá právě to:http://www.mongodb.org/display/DOCS/findAndModify+Command

AKTUALIZACE:Uzamykání je v dnešní době podrobnější.



  1. Celer umožňuje resetování připojení peerem

  2. Přineste si své vlastní účty Azure – Hosting pro MongoDB® &Redis™ na ScaleGrid

  3. MongoDB min

  4. Proč Laravel Redis::scan('*') vrací očekávaný klíč, ale Redis::keys('*') ne?