sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo trata MongoDB las actualizaciones simultáneas?

MongoDB usó un bloqueo de escritura en todo el proceso para garantizar que solo se pueda realizar una operación de escritura (actualizar/insertar/eliminar) a la vez. Como tal, resuelve automáticamente los problemas de simultaneidad ya que la simultaneidad de escritura simplemente no está permitida.

Si 4 subprocesos intentan una operación de actualización, uno de ellos tomará el bloqueo de escritura, actualizará y liberará el bloqueo. Después de eso, uno de los 3 restantes agarrará el candado, hará su actualización, etc.

La concurrencia solo entra en juego si su operación no se puede envolver en una sola operación de escritura. Tenga en cuenta que para el caso de uso más común (busque un documento, actualícelo y tome la nueva versión atómicamente) MongoDB ofrece el comando "findAndModify" que hace exactamente eso:http://www.mongodb.org/display/DOCS/findAndModify+Command

ACTUALIZACIÓN:Actualmente, el bloqueo es más granular.