Det är faktiskt inte korrekt att MongoDB inte är ACID-kompatibelt. Tvärtom, MongoDB är ACID-kompilerande på dokumentnivå .
Varje uppdatering av ett enskilt dokument är
- Atomic:antingen fullbordas den helt eller så gör den inte det
- Konsekvent:ingen läsare kommer att se en "delvis tillämpad" uppdatering
- Isolerat:återigen, ingen läsare kommer att se en "smutsig" läsning
- Tålig:(med lämplig skrivfråga)
Vad MongoDB inte har är transaktioner -- det vill säga uppdateringar av flera dokument som kan återställas och är ACID-kompatibla.
Observera att du kan bygga transaktioner ovanpå de ACID-kompatibla uppdateringarna till ett enda dokument, genom att använda två-fas commit.